* [gentoo-commits] repo/gentoo:master commit in: net-proxy/trojan/, net-proxy/trojan/files/
@ 2020-04-07 14:41 Yixun Lan
0 siblings, 0 replies; 2+ messages in thread
From: Yixun Lan @ 2020-04-07 14:41 UTC (permalink / raw
To: gentoo-commits
commit: d72647710c1f67bffde1559a4463cf19b42ade69
Author: Yixun Lan <dlan <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 7 14:08:04 2020 +0000
Commit: Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Tue Apr 7 14:20:29 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d7264771
net-proxy/trojan: add multi instances support
enable running multi instances while using openrc.
Package-Manager: Portage-2.3.89, Repoman-2.3.20
Signed-off-by: Yixun Lan <dlan <AT> gentoo.org>
net-proxy/trojan/files/trojan.initd | 15 +++++++++++----
net-proxy/trojan/trojan-1.14.1.ebuild | 14 ++++++++++++++
net-proxy/trojan/trojan-1.15.1.ebuild | 14 ++++++++++++++
3 files changed, 39 insertions(+), 4 deletions(-)
diff --git a/net-proxy/trojan/files/trojan.initd b/net-proxy/trojan/files/trojan.initd
index cee794ad4d7..2990245430d 100644
--- a/net-proxy/trojan/files/trojan.initd
+++ b/net-proxy/trojan/files/trojan.initd
@@ -1,10 +1,17 @@
#!/sbin/openrc-run
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-TJ_CONFIG="/etc/trojan/config.json"
-TJ_PIDFILE="/run/trojan.pid"
-TJ_LOG="/var/log/trojan.log"
+TJ_NAME=${SVCNAME##*.}
+if [ -n "${TJ_NAME}" -a "${SVCNAME}" != "trojan" ]; then
+ TJ_PIDFILE="/run/trojan.${TJ_NAME}.pid"
+ TJ_CONFIG="/etc/trojan/${TJ_NAME}.json"
+ TJ_LOG="/var/log/trojan.${TJ_NAME}.log"
+else
+ TJ_PIDFILE="/run/trojan.pid"
+ TJ_CONFIG="/etc/trojan/config.json"
+ TJ_LOG="/var/log/trojan.log"
+fi
depend() {
need net
diff --git a/net-proxy/trojan/trojan-1.14.1.ebuild b/net-proxy/trojan/trojan-1.14.1.ebuild
index aa4fa9f95be..21f494f1364 100644
--- a/net-proxy/trojan/trojan-1.14.1.ebuild
+++ b/net-proxy/trojan/trojan-1.14.1.ebuild
@@ -45,3 +45,17 @@ src_install() {
src_test() {
cmake_src_test -j1
}
+
+pkg_postinst() {
+ elog "Running Trojan with multi instances"
+ elog ""
+
+ elog "Prepare /etc/trojan/\${blah}.json first"
+ elog "Config with Openrc"
+ elog " ln -s /etc/init.d/trojan{,.\${blah}}"
+ elog " rc-update add trojan.\${blah} default"
+ elog ""
+ elog "Config with Systemd"
+ elog " systemctl enable trojan.\${blah}"
+ elog ""
+}
diff --git a/net-proxy/trojan/trojan-1.15.1.ebuild b/net-proxy/trojan/trojan-1.15.1.ebuild
index aa4fa9f95be..21f494f1364 100644
--- a/net-proxy/trojan/trojan-1.15.1.ebuild
+++ b/net-proxy/trojan/trojan-1.15.1.ebuild
@@ -45,3 +45,17 @@ src_install() {
src_test() {
cmake_src_test -j1
}
+
+pkg_postinst() {
+ elog "Running Trojan with multi instances"
+ elog ""
+
+ elog "Prepare /etc/trojan/\${blah}.json first"
+ elog "Config with Openrc"
+ elog " ln -s /etc/init.d/trojan{,.\${blah}}"
+ elog " rc-update add trojan.\${blah} default"
+ elog ""
+ elog "Config with Systemd"
+ elog " systemctl enable trojan.\${blah}"
+ elog ""
+}
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: net-proxy/trojan/, net-proxy/trojan/files/
@ 2021-02-13 15:25 Yixun Lan
0 siblings, 0 replies; 2+ messages in thread
From: Yixun Lan @ 2021-02-13 15:25 UTC (permalink / raw
To: gentoo-commits
commit: f995177fa0ec5b3886809d17666ab509c1476bfb
Author: Yixun Lan <dlan <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 13 15:21:57 2021 +0000
Commit: Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Sat Feb 13 15:23:00 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f995177f
net-proxy/trojan: create dedicated UID/GID
create dedicated user/group for trojan, so not to expose sensitive info
for the security reason.
also drop the live ebuild while still kept the logic for easy future
updating.
Package-Manager: Portage-3.0.13, Repoman-3.0.2
Signed-off-by: Yixun Lan <dlan <AT> gentoo.org>
net-proxy/trojan/files/README.gentoo | 14 +++++
net-proxy/trojan/files/trojan.initd | 6 +--
...an-1.16.0-r1.ebuild => trojan-1.16.0-r2.ebuild} | 37 +++++++------
net-proxy/trojan/trojan-9999.ebuild | 61 ----------------------
4 files changed, 39 insertions(+), 79 deletions(-)
diff --git a/net-proxy/trojan/files/README.gentoo b/net-proxy/trojan/files/README.gentoo
new file mode 100644
index 00000000000..caaf236f4c1
--- /dev/null
+++ b/net-proxy/trojan/files/README.gentoo
@@ -0,0 +1,14 @@
+Notes:
+ 1) starting from version 1.16.0-r2, the daemon will
+run as user='trojan', previous it's run as user='nobody',
+you might want to fix the permissions at /etc/trojan/*.
+
+ 2) Running Trojan with multi instances
+
+ a) Using OpenRC
+ Prepare /etc/trojan/${foo}.json first
+ # ln -s /etc/init.d/trojan{,.${foo}}
+ # rc-update add trojan.${foo} default
+
+ b) Using Systemd
+ # systemctl enable trojan.${foo}
diff --git a/net-proxy/trojan/files/trojan.initd b/net-proxy/trojan/files/trojan.initd
index 348d307c526..9c86bf704b9 100644
--- a/net-proxy/trojan/files/trojan.initd
+++ b/net-proxy/trojan/files/trojan.initd
@@ -1,9 +1,9 @@
#!/sbin/openrc-run
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-TJ_USER=nobody
-TJ_GROUP=nobody
+TJ_USER=trojan
+TJ_GROUP=trojan
TJ_NAME=${SVCNAME##*.}
if [ -n "${TJ_NAME}" -a "${SVCNAME}" != "trojan" ]; then
diff --git a/net-proxy/trojan/trojan-1.16.0-r1.ebuild b/net-proxy/trojan/trojan-1.16.0-r2.ebuild
similarity index 60%
rename from net-proxy/trojan/trojan-1.16.0-r1.ebuild
rename to net-proxy/trojan/trojan-1.16.0-r2.ebuild
index 606095c5ab1..88eb4b02d0a 100644
--- a/net-proxy/trojan/trojan-1.16.0-r1.ebuild
+++ b/net-proxy/trojan/trojan-1.16.0-r2.ebuild
@@ -3,17 +3,23 @@
EAPI=7
+DISABLE_AUTOFORMATTING=1
+FORCE_PRINT_ELOG=1
PYTHON_COMPAT=( python3_{7..9} )
-inherit cmake python-any-r1 systemd
-
+inherit cmake python-any-r1 systemd readme.gentoo-r1
DESCRIPTION="An unidentifiable mechanism that helps you bypass GFW"
HOMEPAGE="https://github.com/trojan-gfw/trojan"
-SRC_URI="https://github.com/trojan-gfw/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+if [[ "${PV}" == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/trojan-gfw/trojan.git"
+else
+ SRC_URI="https://github.com/trojan-gfw/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+fi
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
IUSE="mysql test"
# Some hiccups setting up local network server.
@@ -25,9 +31,18 @@ RDEPEND="
mysql? ( dev-db/mysql-connector-c:= )
"
DEPEND="${RDEPEND}
+ acct-group/trojan
+ acct-user/trojan
test? ( net-misc/curl ${PYTHON_DEPS} )
"
+src_prepare() {
+ default
+ cmake_src_prepare
+ sed -i -e "/User/s/nobody/trojan/g" \
+ "${S}"/examples/trojan.service-example || die
+}
+
src_configure() {
local mycmakeargs=(
-DENABLE_MYSQL=$(usex mysql)
@@ -40,6 +55,8 @@ src_configure() {
src_install() {
cmake_src_install
newinitd "${FILESDIR}/trojan.initd" trojan
+
+ readme.gentoo_create_doc
}
src_test() {
@@ -47,15 +64,5 @@ src_test() {
}
pkg_postinst() {
- elog "Running Trojan with multi instances"
- elog ""
-
- elog "Prepare /etc/trojan/\${blah}.json first"
- elog "Config with Openrc"
- elog " ln -s /etc/init.d/trojan{,.\${blah}}"
- elog " rc-update add trojan.\${blah} default"
- elog ""
- elog "Config with Systemd"
- elog " systemctl enable trojan.\${blah}"
- elog ""
+ readme.gentoo_print_elog
}
diff --git a/net-proxy/trojan/trojan-9999.ebuild b/net-proxy/trojan/trojan-9999.ebuild
deleted file mode 100644
index b9a12df1c16..00000000000
--- a/net-proxy/trojan/trojan-9999.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-EGIT_REPO_URI="https://github.com/trojan-gfw/trojan.git"
-
-inherit cmake git-r3 python-any-r1 systemd
-
-DESCRIPTION="An unidentifiable mechanism that helps you bypass GFW"
-HOMEPAGE="https://github.com/trojan-gfw/trojan"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS=""
-IUSE="mysql test"
-
-# Some hiccups setting up local network server.
-RESTRICT="test"
-
-RDEPEND="
- >=dev-libs/boost-1.66.0:=
- dev-libs/openssl:0=
- mysql? ( dev-db/mysql-connector-c:= )
-"
-DEPEND="${RDEPEND}
- test? ( net-misc/curl ${PYTHON_DEPS} )
-"
-
-src_configure() {
- local mycmakeargs=(
- -DENABLE_MYSQL=$(usex mysql)
- -DSYSTEMD_SERVICE=ON
- -DSYSTEMD_SERVICE_PATH=$(systemd_get_systemunitdir)
- )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
- newinitd "${FILESDIR}/trojan.initd" trojan
-}
-
-src_test() {
- cmake_src_test -j1
-}
-
-pkg_postinst() {
- elog "Running Trojan with multi instances"
- elog ""
-
- elog "Prepare /etc/trojan/\${blah}.json first"
- elog "Config with Openrc"
- elog " ln -s /etc/init.d/trojan{,.\${blah}}"
- elog " rc-update add trojan.\${blah} default"
- elog ""
- elog "Config with Systemd"
- elog " systemctl enable trojan.\${blah}"
- elog ""
-}
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-02-13 15:25 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-04-07 14:41 [gentoo-commits] repo/gentoo:master commit in: net-proxy/trojan/, net-proxy/trojan/files/ Yixun Lan
-- strict thread matches above, loose matches on Subject: below --
2021-02-13 15:25 Yixun Lan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox