# -*- 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 PortSystem 1.0 PortGroup golang 1.0 go.setup github.com/p4gefau1t/trojan-go 0.10.6 v set git-commit 2dc60f52e79ff8b910e78e444f1e80678e936450 # This line is for displaying commit in CLI only categories net security maintainers {i0ntempest @i0ntempest} openmaintainer license GPL-3 description An unidentifiable mechanism that helps you bypass network restrictions, written in Go. long_description A Trojan proxy written in Go, with improvements over the original Trojan project. \ Trojan features multiple protocols over TLS to avoid both \ active/passive detections and ISP QoS limitations. It doesn't rely on \ strong encryption or obfuscation\; instead it imitates the most \ common protocol, HTTPS, so firewalls won't see anything other than \ normal HTTPS traffic. checksums ${distname}${extract.suffix} \ rmd160 3ac220e9f025e3d34d9e8fcf789cfc9e9d214b8d \ sha256 4a45bfa18e039eaed3c5c386472e5937db629269b1d82d4421b4d5239299a849 \ size 156120 go.vendors gopkg.in/yaml.v3 \ lock 496545a6307b \ rmd160 16a43936d8ae6243895e23465132977d3a1193c2 \ sha256 333e78b3b9cb73b3572d62f692d32426a8554b86c93025ea032f779395869e84 \ size 90145 \ gopkg.in/tomb.v1 \ lock dd632973f1e7 \ rmd160 ae07f5ddbbc6afc772d6dc5273bb72eaba50529a \ sha256 91c562a4e31c89d13e5391143ff653231fc2d80562743db89ce2172ad8f81008 \ size 3636 \ gopkg.in/check.v1 \ lock 20d25e280405 \ rmd160 412aa0d109919182ff84259e9b5bbc9f24d78117 \ sha256 233f8faf427ce6701ac3427f85c28bc6b6ae7cdc97a303a52873c69999223325 \ size 30360 \ google.golang.org/protobuf \ repo github.com/protocolbuffers/protobuf-go \ lock v1.27.1 \ rmd160 a4ac7b66fd88a34a9ea447476d19ff3c1f2b57dd \ sha256 fe1055b9bf6b8792aed1771f56c31f836c24a18d69eaeb13c88990db3d9da7ce \ size 1278850 \ google.golang.org/grpc \ repo github.com/grpc/grpc-go \ lock v1.40.0 \ rmd160 e06abc5afdfb2d634da78e56d3cc76f4f7449cb4 \ sha256 eff6373617787c52d1493c0d00f655f5bc1bfceea68370da5bffd69cfea2c575 \ size 1305290 \ google.golang.org/genproto \ repo github.com/googleapis/go-genproto \ lock cb27e3aa2013 \ rmd160 f3c94d0c3129c395d89a2a7d982eb864f961dfea \ sha256 3da27c47ecfe5e05f805d0b239e4aa5ecfbdbc666cf258a1bb9f415dab28faef \ size 9293290 \ golang.org/x/xerrors \ lock 5ec99f83aff1 \ rmd160 6e8267f353e153297f205e4be219236d6ae43880 \ sha256 9a500a49d83a09e7de6c71b215d1c14b81e315d26884530ef327c95ddf1f2d28 \ size 13667 \ golang.org/x/tools \ lock v0.1.1 \ rmd160 861f7f72627b4449752dded9ab7c1a376435e841 \ sha256 b26d3b51fbcbabc7ff8fd2cfdb152421753dfeb8f7e38be9041c0bddfa1b8acd \ size 2785629 \ golang.org/x/time \ lock 1f47c861a9ac \ rmd160 0a17206bb0a833c0eef311ae2d8c1366a857c2a5 \ sha256 818ca173dfc5b91e0516a9a30c099403bebfebc81d5a9496ba1f44adfa4bd6ec \ size 9528 \ golang.org/x/text \ lock v0.3.6 \ rmd160 e3da48fcc60d98e202458228188bf6dac408e309 \ sha256 6b2d69df22b5ba1634bc6730c3f03404db499536a96c48b8016da80ced804450 \ size 8356058 \ golang.org/x/term \ lock 6886f2dfbf5b \ rmd160 8688e7b350892399f2918c70c87435016c64c572 \ sha256 e52745c19f7ebe30ab78db8af43216b6795928089a433925ef3ebef0eaad98f3 \ size 14938 \ golang.org/x/sys \ lock 41cdb8703e55 \ rmd160 1b61146b9b05b2065b2e3faf7267b938f220f11b \ sha256 8c7729f6f4c4e0649a75eb973d95c8e5ac3bf5df5660ecfe14d8b49e0d8a46ce \ size 1210583 \ golang.org/x/sync \ lock 036812b2e83c \ rmd160 f42be6eb3565d2ed3d1066ea1a7f69437c8bb1e6 \ sha256 6f1daceb16cd75bdbf35da6c50aa352d1995d68ccd0049851d27686f451fad92 \ size 18756 \ golang.org/x/net \ lock 943fd674d43e \ rmd160 fa7a576e56549c89524fc1dc3a920b85a2e65e62 \ sha256 a8d1218e6cec3a63692c01ec2c530d83f0ae9cfb3bcb4035d1863c40a1e1cd25 \ size 1255378 \ golang.org/x/mod \ lock v0.4.2 \ rmd160 0f3ca57198b4de4eb89b2c1a2bdb01af040d1f36 \ sha256 e2e4cba5719f804f2ec901b4ccdf6d3abf05521868ed54f271be7c1bf6c48549 \ size 104573 \ golang.org/x/crypto \ lock 32db794688a5 \ rmd160 02ab581de5510ce94205e0fe5a58aacd2cd375b8 \ sha256 2276178323ee1992d2e845e78ffb8fdce625ef24602b97719428fddaf9f2192f \ size 1732601 \ go.starlark.net \ repo github.com/google/starlark-go \ lock 1cdb82c9e17a \ rmd160 576f3d04ab3f742abd5518542b9f84a72f2235ed \ sha256 fe81b4bc7839285c5589ee3763b306ca9aa45c0a9c6ae236ac29793d60e0c3f8 \ size 268299 \ github.com/xtaci/smux \ lock v1.5.15 \ rmd160 7bbcc1c0071529dc6d595d28c9927837f67caf12 \ sha256 94a9f2291d2de2ce29a0e5d62db3b137ef79e803bbbb54defa361513ff6c22da \ size 138027 \ github.com/v2fly/v2ray-core \ lock v4.42.1 \ rmd160 1e8a58fa8040083ecde2e7f0e2b7221cea6a9a3b \ sha256 b93051394cb8a1dca58cfb58c07b60e67624bece164ce3b28238391ffa5e9098 \ size 855852 \ github.com/v2fly/ss-bloomring \ lock 28617310f63e \ rmd160 761b61e00dc364aeb34f0291bea63c29d4d79d25 \ sha256 37bd8667b8f62fc979f7956e3e5b4ac3b294b590654cde51c386a0374b356d46 \ size 5707 \ github.com/v2fly/VSign \ lock e2adc24bf848 \ rmd160 d3a77e34e06c1c47945a2c52c062eebf554765c5 \ sha256 9dfe839716da561fde853aec6a04352f8f487e29321bb156a02ddef95fdec43a \ size 9339 \ github.com/v2fly/BrowserBridge \ lock 0570fc1d7d08 \ rmd160 9c0aee77e864f9ecc85447971f9a33285ce03235 \ sha256 8669339da1b08918734f0ecc73878f5ce7dff1413a8827ede3b0a63653d4bc5c \ size 370373 \ github.com/txthinking/x \ lock 476fab902fbe \ rmd160 a89c168ebd1cb1b4c1c80aa45a6bce08efea7d96 \ sha256 18bb1b84f2abfcd3564830588efaf4bad9649fc1ea5a637994f8639cd974fd04 \ size 5360 \ github.com/txthinking/socks5 \ lock fa1f52a8f2da \ rmd160 ba72d474b8366c06cb903095fa6d2c2c31120044 \ sha256 9c3edb655d03f642afca89ab6a783fd2966a24493d10cc7950e743767326fd37 \ size 12601 \ github.com/txthinking/runnergroup \ lock 152c7c4432bf \ rmd160 62e75b2eb00d4ddbcee206dedbd3c555cfc4a3a8 \ sha256 e3a9f53bc9d19ffbe59fa181f14ffb51479dc4f86ce936950602ab825f2414d7 \ size 2240 \ github.com/stretchr/testify \ lock v1.7.0 \ rmd160 adae5096e8c4cfcc8e3f6d096646d1165b5ef49a \ sha256 f7dde97d0c9634483ae6ea273968f80f3105c22382a1f841886cd20d57586642 \ size 91096 \ github.com/smartystreets/goconvey \ lock v1.6.4 \ rmd160 a3dfad6131b94d809efad84d30ce45828c6da756 \ sha256 a03963296bb6d031934a651c1e637e8ab2ce9604ce6a16c158ff551e44e7ba79 \ size 1478824 \ github.com/smartystreets/assertions \ lock b2de0cb4f26d \ rmd160 32d7082172ea8c4a03119f3ffb803f8aad9744ce \ sha256 469875871db96f87e62f76f0bfc4b3b0b9e4761c2a14d4ce12f246797a7c342c \ size 52177 \ github.com/shadowsocks/go-shadowsocks2 \ lock v0.1.5 \ rmd160 a9c3470882fb28119564a34276218516173a5c8a \ sha256 7c9ad6c654d45340d4533522f1068595a8d93e293bfd5de22382dda7185711f7 \ size 23433 \ github.com/seiflotfy/cuckoofilter \ lock bc6005554a0c \ rmd160 dd2cba6fa1638370854dc1ba4ff67181c172796a \ sha256 b4fd5ca5f88e5e1b8931069691bf78fb107b1050ef914ed8145c98034c9a1a17 \ size 6769 \ github.com/riobard/go-bloom \ lock cdc8013cb5b3 \ rmd160 516e59eed4200c50f09b4a4e32751cd59c37b02e \ sha256 27c2479459dd154b496a019d595bd2863d47b98f9d9c9e9b7c97125636685987 \ size 5502 \ github.com/refraction-networking/utls \ lock 0b2885c8c0d4 \ rmd160 9adc6c9eee15f1e51c947387493bd03e2693c9f4 \ sha256 be0036c260c7cf11f7d503c4d195787fc39e441e416bfb0acc95c18d91b362f6 \ size 546331 \ github.com/pmezard/go-difflib \ lock v1.0.0 \ rmd160 fc879bfbdef9e3ff50844def58404e2b5a613ab8 \ sha256 7cd492737641847266115f3060489a67f63581e521a8ec51efbc280c33fc991f \ size 11409 \ github.com/pires/go-proxyproto \ lock v0.6.0 \ rmd160 187c43259347e219ed8f4acd9b263ee6480afa8f \ sha256 10643877819d2c010d4533c33279a0c55f08a2074a91d4bc8c273b2b8d7266d0 \ size 35454 \ github.com/patrickmn/go-cache \ lock v2.1.0 \ rmd160 9e869a3bd93bb2c8a59c96afc0d758ce0430df4f \ sha256 57bba72974dfe36ff8dc0003c51888746f34be75addbe18a97413d5830103844 \ size 13583 \ github.com/onsi/ginkgo \ lock v1.16.4 \ rmd160 e0c7145b2a5a9fa39d1883b7ceb788af8a3dd4db \ sha256 1cf29213663b89b7578f41a0185b814dab82d40fb5233bf0fe951591ce32ab10 \ size 164059 \ github.com/nxadm/tail \ lock v1.4.8 \ rmd160 bb6c5515804a1d141478074ba9a4f836fa51fb71 \ sha256 a4e98c422980433e9a9830f16b4155836baba4c3e3aa387f03840e5cb608c84d \ size 1256274 \ github.com/marten-seemann/qtls-go1-17 \ lock v0.1.0 \ rmd160 53d4d3eb6609de0c808934f977288c9bf06b3633 \ sha256 c764f1cc401e4e9b61c5e344d9916246962dfc0739b32a66882c6f372758c29a \ size 421717 \ github.com/marten-seemann/qtls-go1-16 \ lock v0.1.4 \ rmd160 1cadd0881456cc0d4dd653b432c06be1e1a1e43e \ sha256 6e750d55689b9eeff04ddadd5fd37f57c794f0eb0897622ea318b4b73990261a \ size 415570 \ github.com/lunixbochs/struc \ lock 784aaebc1d40 \ rmd160 a9a289f74c01c85c6c272ee3a5a21550c1d65fbf \ sha256 7ba956f1055c32b76274641f2af6d9893f732b3bbf6877d2d7e827f4c6ba3ba6 \ size 16071 \ github.com/lucas-clemente/quic-go \ lock v0.23.0 \ rmd160 4e16aafd86ca032239bec74e86fd2939fb5380ef \ sha256 611f76ca6915ce2d10ff9e139ab00aa3cdaee69ac084550d3baa63726d6f285c \ size 520139 \ github.com/jtolds/gls \ repo github.com/jtolio/gls \ lock v4.20.0 \ rmd160 8e721b1aa6de0606caa5a2a038ddd53a0d05d7b4 \ sha256 6f98dcae4c326cbfb0400e6a01604511e544957ea88494e979ace881e2058cbb \ size 7308 \ github.com/jhump/protoreflect \ lock v1.9.0 \ rmd160 d8d66278f00e0e5d28b1269e64d46dcc05088a8c \ sha256 bb2d309863be07b6ff808257eb3b71b9f343aaebd295efe1278fd7aaf991000d \ size 599317 \ github.com/gorilla/websocket \ lock v1.4.2 \ rmd160 784f79f05da87fc2f2af618ad4e1eb576d7c16d8 \ sha256 7805b8fc2002f7d1a7acdaa98feee2d6746d9241db0c597e0ee256cf0ff93a0b \ size 54121 \ github.com/gopherjs/gopherjs \ lock 0766667cb4d1 \ rmd160 fe92e39110b5c188dcce98abb3b9aa1b64d68f94 \ sha256 abe56698d0855027a1f6030a44924895d781b19526aa8f9b3ef49ed4199f7c57 \ size 217261 \ github.com/google/go-cmp \ lock v0.5.6 \ rmd160 b93086d92bddc7a3b593fb637776f055c022049f \ sha256 fa1ca0f00fe02f645c4ed12ef753ff6c46b6621db01e09d96599cf1fd990aebe \ size 104422 \ github.com/golang/protobuf \ lock v1.5.2 \ rmd160 9924f66e6525b49769f4ef61f7196387185b2f9b \ sha256 d7b5f7c44e324b3f510fec1b79de20bd8d7537229b23ad7236769cf3974ce0c7 \ size 171736 \ github.com/golang/mock \ lock v1.6.0 \ rmd160 ed853462703f04ce365bb17b8c88a92994aa5006 \ sha256 4b107f6d26db03f8a36ae38f7b017399ed56571cdbf7b7ebc7bff0006c7dffb5 \ size 69263 \ github.com/go-task/slim-sprig \ lock 348f09dbbbc0 \ rmd160 7cc4d26be51d6fdf2b54b1fd1506b58c58317303 \ sha256 94d84e08cdff9c92c5cf526f0ec803f46593247f8e0d4b19b30c9df1819c933d \ size 40027 \ github.com/go-sql-driver/mysql \ lock v1.6.0 \ rmd160 e626beda6251efcf57f4f474d8a018a2e52f0299 \ sha256 a8182db7c49cb5f1542621e651d31f13cd73dc5f9f2a161799728d23c7ef6b7f \ size 94200 \ github.com/fsnotify/fsnotify \ lock v1.4.9 \ rmd160 4660b5721da8aea4c890786e49d7cec39c2e04d3 \ sha256 7920cf1e5ccf268962fcff0b501398ed6c28ed75b1e1281fb17b19a8b0e4db5c \ size 31910 \ github.com/ebfe/bcrypt_pbkdf \ lock 3c8d2dcb253a \ rmd160 b705ef4caeebacbd1acaad342b6f4738474bfcef \ sha256 ad6b7710f4b47c58f101b1958ce80a02e932b7e9217a52325b6664fa832281c9 \ size 15165 \ github.com/dgryski/go-metro \ lock 85c65e2d0165 \ rmd160 fbd65fabced91793fb7202c08ee7540837503ca6 \ sha256 140bc38b19a344608113cceb764172a399930135b5bb1f51ad0deaceb5f2f706 \ size 4475 \ github.com/davecgh/go-spew \ lock v1.1.1 \ rmd160 7c02883aa81f81aca14e13a27fdca9e7fbc136f7 \ sha256 e85d6afa83e64962e0d63dd4812971eccf2b9b5445eda93f46a4406f0c177d5f \ size 42171 \ github.com/cheekybits/genny \ lock v1.0.0 \ rmd160 c8f3f5af635b83ade08f9f8e08e7f2018cb5879c \ sha256 528d149522e053aed14048608751da8ace5b44466038b1a8d47d04a050d81bdc \ size 15585 # Notes for updating this port: # Replace go.googlesource.com/protobuf with github.com/protocolbuffers/protobuf-go # Add a repo line for github.com/jtolds/gls: # repo github.com/jtolio/gls # Remember to update git commit hash build.env-append CGO_ENABLED=0 build.post_args -tags \"full\" -ldflags=\"-s -w -X 'github.com/p4gefau1t/trojan-go/constant.Version=v${version}' -X 'github.com/p4gefau1t/trojan-go/constant.Commit=${git-commit}'\" destroot { xinstall -m 0755 ${worksrcpath}/${name} ${destroot}${prefix}/bin/ file mkdir ${destroot}${prefix}/etc/trojan-go copy ${worksrcpath}/example/client.json ${worksrcpath}/example/server.json ${destroot}${prefix}/etc/trojan-go } post-activate { if {![file exists ${prefix}/etc/trojan-go/config.json]} { copy ${prefix}/etc/trojan-go/client.json ${prefix}/etc/trojan-go/config.json } } notes-append " The default config file is copied to ${prefix}/etc/trojan-go/config.json and its content\ will be preserved across upgrades and reinstalls. The startup item will use this config\ file by default. " startupitem.create yes startupitem.executable ${prefix}/bin/trojan-go --config ${prefix}/etc/trojan-go/config.json variant geoip description {Install geoip and geosite from Project V, enables routing rules. Also provided by v2ray port.} { conflicts v2ray depends_build-append port:wget post-destroot { system -W ${destroot}${prefix}/bin "wget https://github.com/v2fly/geoip/raw/release/geoip.dat" system -W ${destroot}${prefix}/bin "wget https://github.com/v2fly/domain-list-community/raw/release/dlc.dat -O geosite.dat" } }