<pre style='margin:0'>
Zhenfu Shi (i0ntempest) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/f3dba01a0c3a61020d4143da20e09dcfaf9709c6">https://github.com/macports/macports-ports/commit/f3dba01a0c3a61020d4143da20e09dcfaf9709c6</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new f3dba01a0c3 trojan-go: submission (#8785)
</span>f3dba01a0c3 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit f3dba01a0c3a61020d4143da20e09dcfaf9709c6
</span>Author: Zhenfu Shi <szf1234@me.com>
AuthorDate: Wed Oct 14 22:16:46 2020 -0400
<span style='display:block; white-space:pre;color:#404040;'> trojan-go: submission (#8785)
</span>---
net/trojan-go/Portfile | 275 +++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 275 insertions(+)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/trojan-go/Portfile b/net/trojan-go/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..5affa7ef87a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/trojan-go/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,275 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup golang 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+go.setup github.com/p4gefau1t/trojan-go v0.8.2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set git-commit d051cf4c8852d708769ca1c4e514306a88da830b
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# This line is for displaying commit in CLI only
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories net security
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers {i0ntempest @i0ntempest} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license GPL-3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description An unidentifiable mechanism that helps you bypass network restrictions, written in Go.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description A Trojan proxy written in Go. \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Trojan features multiple protocols over TLS to avoid both \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ active/passive detections and ISP QoS limitations. It doesn't rely on \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ strong encryption or obfuscation\; instead it imitates the most \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ common protocol, HTTPS, so firewalls won't see anything other than \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ normal HTTPS traffic.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums ${distname}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 2a2548c3d9499e8b56745ee7be44dd1e04a8f5fa \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 34c332abbf5e025f8e7a380307e1bba9f320e6422147387bd789954205fa6820 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 147286
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+go.vendors gopkg.in/yaml.v3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock 9f266ea9e77c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 06dca2ede07b2f31c515b4711fbebc1d5359b5e4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 e70dd42fb30b7b2d0129c5cdf0e079caaf5602cab24081fdac830ec01204fa59 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 86890 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gopkg.in/yaml.v2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v2.3.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 2f8fa56d8a413b6288132eeb7f0d7c64d27d877f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 a8d1a8bc88239d25507456380b47d59ae3683d4a5f4336da4892db1ce026615f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 72838 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gopkg.in/check.v1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock 8fa46927fb4f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 c84f37dc900224c5e9e6e16ed5acc0d625583bc1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 c41439b343f3fc3c0b6f943b4aae642f10f19451e945c23dfb324c9c8f87d0b7 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 31616 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ google.golang.org/protobuf \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ repo github.com/protocolbuffers/protobuf-go \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v1.25.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 ca1a78077118747c660917e50c4273d69b0f04ea \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 5bc3eb5d7160ab9ae45255d6b718c1cf9e9ed80c244b7527bced50370ae18620 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 1259096 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ google.golang.org/grpc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ repo github.com/grpc/grpc-go \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v1.30.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 d426b11e168d437a7735da647617a86dee6fb721 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 3561a741839a04209f092410b2d36f494c2e737506cac8917038761e94dffc00 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 924471 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ google.golang.org/genproto \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ repo github.com/googleapis/go-genproto \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock ee7919e894b5 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 73d48a8f23dc8a5e80edc6124ad24a84a5ef0782 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 2b61f21805477fb2f9252bbe42e0f922affe3671bb3bc44bab073408b2ea7480 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 9352297 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ golang.org/x/xerrors \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock 9bdfabe68543 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 eee9929ac1c0380402c45b388077c5c505f13311 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 dc1be1d7efb43643507e87352ae7161883c48cb5116a20a1739ab93ab558bccf \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 13661 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ golang.org/x/time \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock 3af7569d3a1e \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 6ec4017fbe0897df74acfb012623482602c33dae \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 c918feb3b40248a7b153f402b25a1fed5726ff73fa448c067cd9a1899df5e1f5 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 9625 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ golang.org/x/text \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v0.3.3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 babfa547ba9a9dab7fe08fa5543f1d8e7ae00301 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 1c4a8c12295d484e0360d8e010ebc4b8a9a05aa2a07c10c3d3e5b17aa063f0db \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 7745597 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ golang.org/x/sys \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock ddb9806d33ae \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 6a1cfca6d58d5319cf083131491a82e296103826 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 a0421fb3e8d5b9987b6e37f73f06f05a275ba869aafd4bef02b0d9bab4daa7d9 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 1054767 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ golang.org/x/sync \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock 112230192c58 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 37a8b11def31e2ad355002a8671245962be359f6 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 951a6df1dadb061510f1c646197dd8f8a7c7842729d02c6a68a86bce66349f79 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 16832 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ golang.org/x/net \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock ab3426394381 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 e74cee73965d58ff027e1ba0e0131f9630125409 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 49fe6598268f2cc9b50dea06a00f5c03c71a54d2893ebf9fbfa193486b65cd83 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 1177682 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ golang.org/x/crypto \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock 948cd5f35899 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 2f4aa6ff1ebc119ee23af3732409cdd4908144ae \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 383539ce1fbd2db3c61cbe3393ae61ca845446b615a300e9d11d9306989f9229 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 1732494 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ go.starlark.net \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ repo github.com/google/starlark-go \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock 50ca820fafb9 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 4a78335c4b600083f26db4f1275e6108c57b5069 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 a9da4a1dcdcb5e544b2dc1900c2ff514e8a7c1fa3582a0565cdbbfbadbdbbf1d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 230622 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/xtaci/smux \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v1.5.14 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 4960672ef59455b95f3964a8ffe7bc6eb9735a61 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 187e3122dfac73b95945196d23322299bccf2f2948baa9382759c1fdd7b5523f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 137944 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/v2ray/v2ray-core \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock 6b5d2fed91c0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 d3c11ecf6a3a9cf70395d9b30090edc335712fcf \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 5deea047fb71f831599ced830b300f35216da49cda2d1e544057b5e631031eba \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 6884346 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/txthinking/x \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock 5ad2416896a9 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 acda40bec54bfa1b48e9cd57d38590cc5a3eeff5 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 9ac679217194eacec08242d945ec48d0d90444d97b3e10297ee58083c992ebc4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 5006 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/txthinking/socks5 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock 252709fcb919 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 696f9ae0dd9846d42171f59d8046c92aeb78b6f2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 bf511783b8bf240d30b0d1d86c968cbf2e8141f7942076a9f9918025a8003f72 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 10435 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/txthinking/runnergroup \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock 540a793bb997 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 641b61a1a37b38b0397c6271d001c93e26409d78 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 72902318f3ad66cb805e75bd0ab547ca9aea783844656493ec0190b8962e1ab1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 2182 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/stretchr/testify \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v1.6.1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 7e5b798212a8f15cd58a63985ae0b928eede8e6b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 44d77d9b5c1dc08fa710eac9bb324898210660458085cdf965b78a39b1010f2a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 84248 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/smartystreets/goconvey \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v1.6.4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 a3dfad6131b94d809efad84d30ce45828c6da756 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 a03963296bb6d031934a651c1e637e8ab2ce9604ce6a16c158ff551e44e7ba79 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 1478824 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/smartystreets/assertions \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock b2de0cb4f26d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 32d7082172ea8c4a03119f3ffb803f8aad9744ce \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 469875871db96f87e62f76f0bfc4b3b0b9e4761c2a14d4ce12f246797a7c342c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 52177 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/shadowsocks/go-shadowsocks2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v0.1.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 eda314638d413f2ff921fac225c331bed7e28b83 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 044af631bfccbe652286e39795317b91b0d054a34462ab3248697f773c05f705 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 21993 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/refraction-networking/utls \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock ada0bb9b38a0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 c758c1b1f9dd49d9652f7ad32ec9cb8f59f8bdb4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 2ab5ed5d4b26ed37285047dc42474af31c4d1b3f3dbf57d0f49d8546e60b9ec2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 526501 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/pmezard/go-difflib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v1.0.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 fc879bfbdef9e3ff50844def58404e2b5a613ab8 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 7cd492737641847266115f3060489a67f63581e521a8ec51efbc280c33fc991f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 11409 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/patrickmn/go-cache \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v2.1.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 9e869a3bd93bb2c8a59c96afc0d758ce0430df4f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 57bba72974dfe36ff8dc0003c51888746f34be75addbe18a97413d5830103844 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 13583 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/niemeyer/pretty \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock a10e7caefd8e \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 46bcfc3db9e3d98acbacd1f96d9483fa360f88b7 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 97b952a32175ba84349ef352e523bfa15bf3a06e07e44458a908061fbc519b40 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 9405 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/miekg/dns \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v1.1.4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 aaaf59227cbd027e5bf9b9b329b2fc0fb517599c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 771b20a256d363ba385aebbc160f9496b89171f41cb49d9d1063a01abce8e567 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 3883014 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/kr/text \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v0.1.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 0b3c78459e227170a3b80a0103d87a3eef77ed88 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 5ed970aad0da3cba3cffacdb4d154a162a8968655ee6d6f7b627e71b869efaf6 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 8691 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/jtolds/gls \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v4.20.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 31d8656bd6c1426338ceaac9535198244248b254 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 04069406ca336d355eab62b4ab9e84b820ac968ac1e20bd3777efec2d3843446 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 7305 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/gorilla/websocket \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v1.4.1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 fabb50c4c2297eb4485ccc1abb5ead16c239e26f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 79182d9e15e4dbd709c7d360245e25445628e0d111472a9809fc5ba6327af646 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 54230 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/gopherjs/gopherjs \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock 0766667cb4d1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 fe92e39110b5c188dcce98abb3b9aa1b64d68f94 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 abe56698d0855027a1f6030a44924895d781b19526aa8f9b3ef49ed4199f7c57 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 217261 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/google/go-cmp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v0.5.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 f28cfe463c2aa119f5ea32b5373cdc06e606c3fd \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 4c228ad175fb924cd4c5ab08b281685f636ae28439e5508b3946964919b9c746 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 98601 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/golang/protobuf \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v1.4.2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 fbf4477bc008421fde463d79f7bc54a36de91db2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 206d74f8fd066bb178135ee9c092e986f8a1e1104df242e148e99e5a839e4ef2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 171802 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/golang/mock \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v1.2.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 5bb4b156a43c846427bd63c990bf89d8f3b9a2d7 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 542c06c4b404f45569ebb4b2ddb976e6c55198c3e939bebf7def4922a78e671d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 46504 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/golang/glog \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock 23def4e6c14b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 b5bd9166cd1e073a035b5bbd3c4d9febf2c917a7 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 2826d20759090e909ba0f8771def236ad6433fc3e44bdc28374b309efe3e57cf \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 19662 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/go-sql-driver/mysql \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v1.5.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 c619fb55acd917f9b80c568f54b829836dd757e1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 cedc3d58292b89f2d5015dcfb6c7ab41c514cf9ce1b3733285743dc676ec8733 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 90506 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/davecgh/go-spew \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock v1.1.0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 0303eae19a01f38fe314921fd965e4d09b9ef3ad \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 810a597004388d68bb92d8aa612375419ba1080dd5fc2c66dd41b58f0ba4442c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 42348 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/aead/chacha20 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock 8b13a72661da \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 d1a095ea09c39b5a7366c44ed1715b12548f06bd \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 83aa07a56940cefc9f868bc48f1bba9ede6e5b314ea0a01ee662a7fc591c582d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 21586 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.com/riobard/go-bloom \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lock 218e1707c495 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 f3c996c8b4cd20322ea6a7eda6aad0e0f238d70b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 5b103d9091ccdb682e6d11693ae25dc61cfb865fc8b37c7c9628d845702a1f37 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 1530
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Notes for updating this port:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Replace go.googlesource.com/protobuf with github.com/protocolbuffers/protobuf-go
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# github.com/riobard/go-bloom needs to be manually added, see
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://github.com/shadowsocks/go-shadowsocks2/blob/master/go.mod with correct version for required bloom version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Remember to update git commit hash
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # go.mod has replace directives:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file mkdir ${gopath}/src/v2ray.com
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ln -s ${gopath}/src/github.com/v2ray/v2ray-core ${gopath}/src/v2ray.com/core
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.env-append CGO_ENABLED=0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GO111MODULE=off \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ GOPROXY=off
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.post_args -tags \"full\" -ldflags=\"-s -w -X 'github.com/p4gefau1t/trojan-go/constant.Version=${version}' -X 'github.com/p4gefau1t/trojan-go/constant.Commit=${git-commit}'\"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ xinstall -m 0755 ${worksrcpath}/${name} ${destroot}${prefix}/bin/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file mkdir ${destroot}${prefix}/etc/trojan-go
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy ${worksrcpath}/example/client.json ${worksrcpath}/example/server.json ${destroot}${prefix}/etc/trojan-go
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-activate {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {![file exists ${prefix}/etc/trojan-go/config.json]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy ${prefix}/etc/trojan-go/client.json ${prefix}/etc/trojan-go/config.json
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+notes-append "
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ The default config file is copied to ${prefix}/etc/trojan-go/config.json and it's content\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ will be preserved across upgrades and reinstalls. The startup item will use this config\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ file by default.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+startupitem.create yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+startupitem.executable ${prefix}/bin/trojan-go --config ${prefix}/etc/trojan-go/config.json
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant geoip description {Install geoip and geosite from Project V, enables routing rules. Also provided by v2ray port.} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ conflicts v2ray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system -W ${destroot}${prefix}/bin "wget https://github.com/v2fly/geoip/raw/release/geoip.dat"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system -W ${destroot}${prefix}/bin "wget https://github.com/v2fly/domain-list-community/raw/release/dlc.dat -O geosite.dat"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span></pre><pre style='margin:0'>
</pre>