summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-proxy')
-rw-r--r--net-proxy/trojan/Manifest1
-rwxr-xr-xnet-proxy/trojan/files/trojan.initd26
-rw-r--r--net-proxy/trojan/metadata.xml28
-rw-r--r--net-proxy/trojan/trojan-1.8.1.ebuild46
4 files changed, 101 insertions, 0 deletions
diff --git a/net-proxy/trojan/Manifest b/net-proxy/trojan/Manifest
new file mode 100644
index 000000000000..958dea17ea57
--- /dev/null
+++ b/net-proxy/trojan/Manifest
@@ -0,0 +1 @@
+DIST trojan-1.8.1.tar.gz 37199 BLAKE2B be93a119ca95e5f4151db6ab58ffaa123d5bd304247d7835ca34ba870808d7e246d551c204d60ffb2a982f2fcb2c35ada1d9823e7f931b36377f99ebd0f48bd6 SHA512 1e2b8e2ddb02b2009181a980781574e6e6375c98475bda4096b70a9c00e61c5ca445f28730e195a5179b85bf5464a6dcb1bcb6ba8dc841d95c9a111f8f87c511
diff --git a/net-proxy/trojan/files/trojan.initd b/net-proxy/trojan/files/trojan.initd
new file mode 100755
index 000000000000..f525eefe74df
--- /dev/null
+++ b/net-proxy/trojan/files/trojan.initd
@@ -0,0 +1,26 @@
+#!/sbin/openrc-run
+# Copyright 1999-2018 Gentoo Foundation
+# 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"
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting Trojan, Log File: ${TJ_LOG}"
+ start-stop-daemon --start -b \
+ -1 "${TJ_LOG}" -2 "${TJ_LOG}" \
+ -m -p "${TJ_PIDFILE}" \
+ --exec /usr/bin/trojan -- "${TJ_CONFIG}"
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping Trojan"
+ start-stop-daemon --stop -p "${TJ_PIDFILE}"
+ eend $?
+}
diff --git a/net-proxy/trojan/metadata.xml b/net-proxy/trojan/metadata.xml
new file mode 100644
index 000000000000..9b97efd6cb49
--- /dev/null
+++ b/net-proxy/trojan/metadata.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>yangmame@icloud.com</email>
+ <name>Xin Yang</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription lang="en">
+ An unidentifiable mechanism that helps you bypass GFW.
+ Trojan features multiple protocols over TLS to avoid both
+ active/passive detections and ISP QoS limitations.
+ Trojan is not a fixed program or protocol. It's an idea,
+ an idea that imitating the most common service, to an extent
+ that it behaves identically, could help you get across the
+ Great FireWall permanently, without being identified ever.
+ We are the GreatER Fire; we ship Trojan Horses.
+ </longdescription>
+ <use>
+ <flag name="mysql">build with MySQL support</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">trojan-gfw/trojan</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-proxy/trojan/trojan-1.8.1.ebuild b/net-proxy/trojan/trojan-1.8.1.ebuild
new file mode 100644
index 000000000000..b6c8edf97d81
--- /dev/null
+++ b/net-proxy/trojan/trojan-1.8.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python{3_4,3_5,3_6,3_7} )
+
+inherit cmake-utils python-any-r1
+
+DESCRIPTION="An unidentifiable mechanism that helps you bypass GFW"
+HOMEPAGE="https://github.com/trojan-gfw/${PN}"
+SRC_URI="https://github.com/trojan-gfw/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+IUSE="mysql test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/boost-1.54.0:=
+ >=dev-libs/openssl-1.0.2:=
+ 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
+ -DCMAKE_INSTALL_DOCDIR=share/doc/${PF}
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+ newinitd "${FILESDIR}/trojan.initd" trojan
+}
+
+src_test() {
+ cmake-utils_src_test -j1
+}