diff options
author | VinÃcius Zavam <egypcio@FreeBSD.org> | 2021-11-14 23:41:22 +0000 |
---|---|---|
committer | VinÃcius Zavam <egypcio@FreeBSD.org> | 2021-11-14 23:41:22 +0000 |
commit | 057c0c3c0645c0b237bb2a96dda440e0426ca983 (patch) | |
tree | 33fb2f20ac9bd8435be7bdd291bab43641a35fa1 | |
parent | 82de9b56af78d484d3b569fa35593fff26bbc04e (diff) |
[NEW] security/snowflake-tor: Pluggable Transport using WebRTC inspired by Flashproxy
Snowflake is a system to defeat internet censorship. People who are censored
can use Snowflake to access the internet. Their connection goes through
Snowflake proxies, which are run by volunteers. For more detailed information
about how Snowflake works see our documentation wiki.
WWW: https://snowflake.torproject.org/
Sponsored by: TorBSD Diversity Project (TDP)
Sponsored by: The Tor Project
-rw-r--r-- | security/Makefile | 1 | ||||
-rw-r--r-- | security/snowflake-tor/Makefile | 97 | ||||
-rw-r--r-- | security/snowflake-tor/distinfo | 103 | ||||
-rw-r--r-- | security/snowflake-tor/files/pkg-message.in | 48 | ||||
-rw-r--r-- | security/snowflake-tor/files/snowflake.in | 35 | ||||
-rw-r--r-- | security/snowflake-tor/pkg-descr | 6 | ||||
-rw-r--r-- | security/snowflake-tor/pkg-plist | 5 |
7 files changed, 295 insertions, 0 deletions
diff --git a/security/Makefile b/security/Makefile index 4c63bed128ec..5f031d0dd71f 100644 --- a/security/Makefile +++ b/security/Makefile @@ -1229,6 +1229,7 @@ SUBDIR += snort3 SUBDIR += snortsam SUBDIR += snortsnarf + SUBDIR += snowflake-tor SUBDIR += snuffleupagus SUBDIR += softether SUBDIR += softether-devel diff --git a/security/snowflake-tor/Makefile b/security/snowflake-tor/Makefile new file mode 100644 index 000000000000..4db04fd59a0e --- /dev/null +++ b/security/snowflake-tor/Makefile @@ -0,0 +1,97 @@ +PORTNAME= snowflake +DISTVERSIONPREFIX= v +DISTVERSION= 2.0.1 +CATEGORIES= security net +PKGNAMESUFFIX= -tor + +MAINTAINER= egypcio@FreeBSD.org +COMMENT= Pluggable Transport using WebRTC inspired by Flashproxy + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKDIR}/${PORTNAME}-${TPO_SNOWFLAKE}/LICENSE + +RUN_DEPENDS= ca_root_nss>=0:security/ca_root_nss + +USES= cpe go +USE_RC_SUBR= ${PORTNAME} +USE_GITHUB= nodefault +USE_GITLAB= nodefault +CPE_VENDOR= torproject +TPO_GEOIP= 7ce4b3d98d01ff33bad8007db3f488d5b172382a +TPO_SNOWFLAKE= ead5a960d7fa19dc890ccbfc0765c5ab6629eaa9 + +GO_PKGNAME= git.torproject.org/pluggable-transports/snowflake.git/v2 +GO_TARGET= ./client ./proxy ./server + +GL_SITE= https://gitlab.torproject.org/tpo +GL_TUPLE= anti-censorship:pluggable-transports/${PORTNAME}:${TPO_SNOWFLAKE}:tpo_acs_snowflake/vendor/git.torproject.org/pluggable-transports/snowflake.git/v2 \ + anti-censorship:geoip:${TPO_GEOIP}:tpo_acs_geoip/vendor/gitlab.torproject.org/tpo/anti-censorship/geoip + +GH_TUPLE= torbsd:goptlib:v1.1.0:torbsd_goptlib/vendor/git.torproject.org/pluggable-transports/goptlib.git \ + beorn7:perks:v1.0.1:beorn7_perks/vendor/github.com/beorn7/perks \ + cespare:xxhash:v2.1.1:cespare_xxhash_v2/vendor/github.com/cespare/xxhash/v2 \ + golang:crypto:513c2a44f670:golang_crypto/vendor/golang.org/x/crypto \ + golang:mod:v0.3.0:golang_mod/vendor/golang.org/x/mod \ + golang:net:d523dce5a7f4:golang_net/vendor/golang.org/x/net \ + golang:protobuf:v1.4.3:golang_protobuf/vendor/github.com/golang/protobuf \ + golang:sys:c4fcb01b228e:golang_sys/vendor/golang.org/x/sys \ + golang:text:v0.3.3:golang_text/vendor/golang.org/x/text \ + golang:tools:5bf02b21f123:golang_tools/vendor/golang.org/x/tools \ + golang:xerrors:5ec99f83aff1:golang_xerrors/vendor/golang.org/x/xerrors \ + google:uuid:v1.2.0:google_uuid/vendor/github.com/google/uuid \ + gopherjs:gopherjs:0766667cb4d1:gopherjs_gopherjs/vendor/github.com/gopherjs/gopherjs \ + gorilla:websocket:v1.4.1:gorilla_websocket/vendor/github.com/gorilla/websocket \ + jtolds:gls:v4.20.0:jtolds_gls/vendor/github.com/jtolds/gls \ + klauspost:cpuid:v1.3.1:klauspost_cpuid/vendor/github.com/klauspost/cpuid \ + klauspost:reedsolomon:v1.9.9:klauspost_reedsolomon/vendor/github.com/klauspost/reedsolomon \ + matttproud:golang_protobuf_extensions:v1.0.1:matttproud_golang_protobuf_extensions/vendor/github.com/matttproud/golang_protobuf_extensions \ + mmcloughlin:avo:443f81d77104:mmcloughlin_avo/vendor/github.com/mmcloughlin/avo \ + pion:datachannel:v1.4.21:pion_datachannel/vendor/github.com/pion/datachannel \ + pion:dtls:v2.0.8:pion_dtls_v2/vendor/github.com/pion/dtls/v2 \ + pion:ice:v2.0.15:pion_ice_v2/vendor/github.com/pion/ice/v2 \ + pion:interceptor:v0.0.10:pion_interceptor/vendor/github.com/pion/interceptor \ + pion:logging:v0.2.2:pion_logging/vendor/github.com/pion/logging \ + pion:mdns:v0.0.4:pion_mdns/vendor/github.com/pion/mdns \ + pion:randutil:v0.1.0:pion_randutil/vendor/github.com/pion/randutil \ + pion:rtcp:v1.2.6:pion_rtcp/vendor/github.com/pion/rtcp \ + pion:rtp:v1.6.2:pion_rtp/vendor/github.com/pion/rtp \ + pion:sctp:v1.7.11:pion_sctp/vendor/github.com/pion/sctp \ + pion:sdp:v3.0.4:pion_sdp_v3/vendor/github.com/pion/sdp/v3 \ + pion:srtp:v2.0.2:pion_srtp_v2/vendor/github.com/pion/srtp/v2 \ + pion:stun:v0.3.5:pion_stun/vendor/github.com/pion/stun \ + pion:transport:v0.12.3:pion_transport/vendor/github.com/pion/transport \ + pion:turn:v2.0.5:pion_turn_v2/vendor/github.com/pion/turn/v2 \ + pion:udp:v0.1.0:pion_udp/vendor/github.com/pion/udp \ + pion:webrtc:v3.0.15:pion_webrtc_v3/vendor/github.com/pion/webrtc/v3 \ + pkg:errors:v0.9.1:pkg_errors/vendor/github.com/pkg/errors \ + prometheus:client_golang:v1.10.0:prometheus_client_golang/vendor/github.com/prometheus/client_golang \ + prometheus:client_model:v0.2.0:prometheus_client_model/vendor/github.com/prometheus/client_model \ + prometheus:common:v0.18.0:prometheus_common/vendor/github.com/prometheus/common \ + prometheus:procfs:v0.6.0:prometheus_procfs/vendor/github.com/prometheus/procfs \ + protocolbuffers:protobuf-go:v1.23.0:protocolbuffers_protobuf_go/vendor/google.golang.org/protobuf \ + smartystreets:assertions:b2de0cb4f26d:smartystreets_assertions/vendor/github.com/smartystreets/assertions \ + smartystreets:goconvey:v1.6.4:smartystreets_goconvey/vendor/github.com/smartystreets/goconvey \ + templexxx:cpu:v0.0.7:templexxx_cpu/vendor/github.com/templexxx/cpu \ + templexxx:xorsimd:v0.4.1:templexxx_xorsimd/vendor/github.com/templexxx/xorsimd \ + tjfoc:gmsm:v1.3.2:tjfoc_gmsm/vendor/github.com/tjfoc/gmsm \ + xtaci:kcp-go:v5.6.1:xtaci_kcp_go_v5/vendor/github.com/xtaci/kcp-go/v5 \ + xtaci:smux:v1.5.15:xtaci_smux/vendor/github.com/xtaci/smux + +PLIST_SUB= MANPAGES=${MANPAGES} +SUB_FILES= pkg-message + +pre-extract: + ${MKDIR} ${WRKDIR}/pluggable-transports ${WRKDIR}/${PORTNAME}-${TPO_SNOWFLAKE} && \ + ${RLN} ${WRKDIR}/${PORTNAME}-${TPO_SNOWFLAKE} ${WRKDIR}/pluggable-transports/. && \ + ${LN} -sf ${WRKDIR}/${PORTNAME}-${TPO_SNOWFLAKE} ${WRKSRC} && \ + ${LN} -sf ${WRKSRC}/vendor ${WRKSRC}/src + +post-install: + ${MKDIR} ${STAGEDIR}/${MANPREFIX}/man/man1 +. for b in client proxy + ${INSTALL_MAN} ${WRKSRC}/doc/${PORTNAME}-$b.1 ${STAGEDIR}/${MANPREFIX}/man/man1 + ${MV} ${STAGEDIR}/${PREFIX}/bin/$b ${STAGEDIR}/${PREFIX}/bin/${PORTNAME}-$b +. endfor + ${MV} ${STAGEDIR}/${PREFIX}/bin/server ${STAGEDIR}/${PREFIX}/bin/${PORTNAME} + +.include <bsd.port.mk> diff --git a/security/snowflake-tor/distinfo b/security/snowflake-tor/distinfo new file mode 100644 index 000000000000..1ae6f1940f82 --- /dev/null +++ b/security/snowflake-tor/distinfo @@ -0,0 +1,103 @@ +TIMESTAMP = 1636895316 +SHA256 (torbsd-goptlib-v1.1.0_GH0.tar.gz) = ff908e532019a0d16adc8505214d8e6f49ffaf5b7bf2dcecfb9ca61307d001f0 +SIZE (torbsd-goptlib-v1.1.0_GH0.tar.gz) = 29395 +SHA256 (beorn7-perks-v1.0.1_GH0.tar.gz) = 98db84bb0224a26094e6adba91b7ee7a1a7ace28cb648d818f8e779e6a19f825 +SIZE (beorn7-perks-v1.0.1_GH0.tar.gz) = 10867 +SHA256 (cespare-xxhash-v2.1.1_GH0.tar.gz) = 0ee31178d2c5a1249be4e26294a2f428008dc4e1ecbbfbe47f74e41026df1148 +SIZE (cespare-xxhash-v2.1.1_GH0.tar.gz) = 9292 +SHA256 (golang-crypto-513c2a44f670_GH0.tar.gz) = 046d89ee939ed65f763df29952ce76db2029edad4d89f29df0021b497997e828 +SIZE (golang-crypto-513c2a44f670_GH0.tar.gz) = 1726135 +SHA256 (golang-mod-v0.3.0_GH0.tar.gz) = bc97bb300928a00cfe64d97b3240c760668060cda0767e0d0b413e506fc3fa0a +SIZE (golang-mod-v0.3.0_GH0.tar.gz) = 93941 +SHA256 (golang-net-d523dce5a7f4_GH0.tar.gz) = 2845c6b37390b25a88a8a71e211e1ed9da8a1f6363baa275d6d30e8dd0d00a21 +SIZE (golang-net-d523dce5a7f4_GH0.tar.gz) = 1252646 +SHA256 (golang-protobuf-v1.4.3_GH0.tar.gz) = 5736f943f8647362f5559689df6154f3c85d261fb088867c8a68494e2a767610 +SIZE (golang-protobuf-v1.4.3_GH0.tar.gz) = 171969 +SHA256 (golang-sys-c4fcb01b228e_GH0.tar.gz) = a0cdad06d571d1dc0c19193ede76545273df36e68ea7dee0c18d761824fe7ba7 +SIZE (golang-sys-c4fcb01b228e_GH0.tar.gz) = 1217654 +SHA256 (golang-text-v0.3.3_GH0.tar.gz) = 1604233637e3593749fbbb13b5069b08e6feba6d2b55a02fd3148793d5871185 +SIZE (golang-text-v0.3.3_GH0.tar.gz) = 7747332 +SHA256 (golang-tools-5bf02b21f123_GH0.tar.gz) = 9aef523adadb4fe6c4567b813d49cc5bb4eb301f136f05955e9561ac1bbae65c +SIZE (golang-tools-5bf02b21f123_GH0.tar.gz) = 2533344 +SHA256 (golang-xerrors-5ec99f83aff1_GH0.tar.gz) = 71975d658357e170fd6a41f92539cde8b39c9cd8bfe5931b6311bc5f5c0da0d7 +SIZE (golang-xerrors-5ec99f83aff1_GH0.tar.gz) = 13664 +SHA256 (google-uuid-v1.2.0_GH0.tar.gz) = 53ba896ce398435b3ba4f9375f5d4908b09c79daaa54ecd4e5000b7bef984380 +SIZE (google-uuid-v1.2.0_GH0.tar.gz) = 14158 +SHA256 (gopherjs-gopherjs-0766667cb4d1_GH0.tar.gz) = bc4d58aabc0e9958a9b8f9ebd835f1deabe5061750d070fc1e2e41fe6e6d643a +SIZE (gopherjs-gopherjs-0766667cb4d1_GH0.tar.gz) = 217279 +SHA256 (gorilla-websocket-v1.4.1_GH0.tar.gz) = 9e5bd337d58a978bf4072767252ddb394b53e2b459697633794abd96e8eb3fa6 +SIZE (gorilla-websocket-v1.4.1_GH0.tar.gz) = 54218 +SHA256 (jtolds-gls-v4.20.0_GH0.tar.gz) = 5223a689f315fc53c5bc271b3a8259032cc74f5311a6d7c1f700a1c65d40c2b2 +SIZE (jtolds-gls-v4.20.0_GH0.tar.gz) = 7306 +SHA256 (klauspost-cpuid-v1.3.1_GH0.tar.gz) = 3bf2da7358c8ed33c05bac2ca733749ade03eadf184d81cc7b16fcbe2e230f1d +SIZE (klauspost-cpuid-v1.3.1_GH0.tar.gz) = 367144 +SHA256 (klauspost-reedsolomon-v1.9.9_GH0.tar.gz) = d6f4737f20f6cdba9fcbae08611ace58a2ccba050883413fcd3ec3b2b8c305a9 +SIZE (klauspost-reedsolomon-v1.9.9_GH0.tar.gz) = 197069 +SHA256 (matttproud-golang_protobuf_extensions-v1.0.1_GH0.tar.gz) = 2def0ee6f6b12b1efc0e3007d89f598608a072610e805c3655ea9d13c3ead49b +SIZE (matttproud-golang_protobuf_extensions-v1.0.1_GH0.tar.gz) = 37184 +SHA256 (mmcloughlin-avo-443f81d77104_GH0.tar.gz) = 79e0963d0b15115696ffb61557d70732fcf8342cee135b7a6e04477e0a0b021b +SIZE (mmcloughlin-avo-443f81d77104_GH0.tar.gz) = 466477 +SHA256 (pion-datachannel-v1.4.21_GH0.tar.gz) = 2186491629973bbb01fb42269307c39a8a86406d18a47346c3e7eb8874829c19 +SIZE (pion-datachannel-v1.4.21_GH0.tar.gz) = 16177 +SHA256 (pion-dtls-v2.0.8_GH0.tar.gz) = 64d1f5cef548059166b8fb9ac8df59cf4b07c02240cf1b96cf6e0cd167f9aa03 +SIZE (pion-dtls-v2.0.8_GH0.tar.gz) = 128343 +SHA256 (pion-ice-v2.0.15_GH0.tar.gz) = 06c6f7faafb29ba2f86cff629d993434da19cc778e85b01050ce3aafa4ccdc2f +SIZE (pion-ice-v2.0.15_GH0.tar.gz) = 76161 +SHA256 (pion-interceptor-v0.0.10_GH0.tar.gz) = 4c0cc8a4d1dde5c98f716255a471f872d069b8afa7b7060eafa0e27b03bf66dc +SIZE (pion-interceptor-v0.0.10_GH0.tar.gz) = 24677 +SHA256 (pion-logging-v0.2.2_GH0.tar.gz) = 9e06f3dbf6f4fcf0e61e3a6406cac898fe3df86cb906bc9d73c7c4b466f0a9d6 +SIZE (pion-logging-v0.2.2_GH0.tar.gz) = 6750 +SHA256 (pion-mdns-v0.0.4_GH0.tar.gz) = 1fb71d132214d55af39cfdfe85e7e3d9a0f38c365ce1c3d47ee75e041c4ab817 +SIZE (pion-mdns-v0.0.4_GH0.tar.gz) = 8341 +SHA256 (pion-randutil-v0.1.0_GH0.tar.gz) = 4b0301915ebbfa77c8621cebf99c6c7d71651762a33ce4fa4e6af8994ecd4993 +SIZE (pion-randutil-v0.1.0_GH0.tar.gz) = 7521 +SHA256 (pion-rtcp-v1.2.6_GH0.tar.gz) = d65f7c73740de81ba4e92095818b4d246428fa48538b6ef0e648c2d3850a5510 +SIZE (pion-rtcp-v1.2.6_GH0.tar.gz) = 40259 +SHA256 (pion-rtp-v1.6.2_GH0.tar.gz) = ea9e06a33749e882641c86440d59ac109ff2e03a105a5e60b637c2f7c74bd680 +SIZE (pion-rtp-v1.6.2_GH0.tar.gz) = 29320 +SHA256 (pion-sctp-v1.7.11_GH0.tar.gz) = 2c1a2bae7b4bfd01374d058a94896350d31c5a0ccf408f21d251a7d9621c2a0d +SIZE (pion-sctp-v1.7.11_GH0.tar.gz) = 79339 +SHA256 (pion-sdp-v3.0.4_GH0.tar.gz) = 4645d2a7615f8aa46c16e98641ee1fb7c62cbaff2722af5af8dca5f550b3a8fe +SIZE (pion-sdp-v3.0.4_GH0.tar.gz) = 27532 +SHA256 (pion-srtp-v2.0.2_GH0.tar.gz) = 68e060733cad6ed97d77593962f5a73b04fd0ac324cbd303120cdd900a903a79 +SIZE (pion-srtp-v2.0.2_GH0.tar.gz) = 32383 +SHA256 (pion-stun-v0.3.5_GH0.tar.gz) = d0afd31208886b98705315fc43626ae0984b6fa57c17a8b223735cb37f95617c +SIZE (pion-stun-v0.3.5_GH0.tar.gz) = 81069 +SHA256 (pion-transport-v0.12.3_GH0.tar.gz) = 5957e0a21f6f67accba7ef5548b54d4dfc8768b374b54a15a318411c346b0c88 +SIZE (pion-transport-v0.12.3_GH0.tar.gz) = 60860 +SHA256 (pion-turn-v2.0.5_GH0.tar.gz) = 81fd4851835d9068cafefcabcb891d9a358d11dd6c15349bb3c238b7663894d3 +SIZE (pion-turn-v2.0.5_GH0.tar.gz) = 115618 +SHA256 (pion-udp-v0.1.0_GH0.tar.gz) = 2dd4ba95bf3894d79e4a92dcd9e33f4bbf55394e23987fa362c94ddb065cac55 +SIZE (pion-udp-v0.1.0_GH0.tar.gz) = 7482 +SHA256 (pion-webrtc-v3.0.15_GH0.tar.gz) = 8e796d728bf31cb0a71dbaf05fa6a618460a156c1aa05d8c5ef57812fd74390e +SIZE (pion-webrtc-v3.0.15_GH0.tar.gz) = 321654 +SHA256 (pkg-errors-v0.9.1_GH0.tar.gz) = 56bfd893023daa498508bfe161de1be83299fcf15376035e7df79cbd7d6fa608 +SIZE (pkg-errors-v0.9.1_GH0.tar.gz) = 13415 +SHA256 (prometheus-client_golang-v1.10.0_GH0.tar.gz) = e7305f84aa6553d9dd4bfd148d29289df36a9df82dae7be3c6eda62feb56f3d1 +SIZE (prometheus-client_golang-v1.10.0_GH0.tar.gz) = 176316 +SHA256 (prometheus-client_model-v0.2.0_GH0.tar.gz) = 4ab1be9cdfa702d7f49beeb09a256bcc6a2aad55e8a0a37e7732a46934264e12 +SIZE (prometheus-client_model-v0.2.0_GH0.tar.gz) = 10986 +SHA256 (prometheus-common-v0.18.0_GH0.tar.gz) = 64b0963add6f1945d8da40452d9bf796db263e4d8aba26cf17fdcc3f76b8f940 +SIZE (prometheus-common-v0.18.0_GH0.tar.gz) = 123693 +SHA256 (prometheus-procfs-v0.6.0_GH0.tar.gz) = 6ad7a23cf4db9fa5dbf2c5d8fbd0fbf5ffe48e3ddb7bf15f9359813d764ce73c +SIZE (prometheus-procfs-v0.6.0_GH0.tar.gz) = 169898 +SHA256 (protocolbuffers-protobuf-go-v1.23.0_GH0.tar.gz) = e7266bedaa4f110216fce52ae533dc5eba475d3829bb0592e8876684e202ae1f +SIZE (protocolbuffers-protobuf-go-v1.23.0_GH0.tar.gz) = 1214648 +SHA256 (smartystreets-assertions-b2de0cb4f26d_GH0.tar.gz) = f9a1971c377083f255d18faedf07aba988e9d14780c5ef398db15c6f2281c4d6 +SIZE (smartystreets-assertions-b2de0cb4f26d_GH0.tar.gz) = 52225 +SHA256 (smartystreets-goconvey-v1.6.4_GH0.tar.gz) = 88714f84d0a989c4ba60e1f2b65e426dc7e23058ca0b9f06cb77613cb22b010b +SIZE (smartystreets-goconvey-v1.6.4_GH0.tar.gz) = 1478622 +SHA256 (templexxx-cpu-v0.0.7_GH0.tar.gz) = 2309220323983c8e8eef4dc2aa4273da31dbd791be23d811c4f661b46aff8415 +SIZE (templexxx-cpu-v0.0.7_GH0.tar.gz) = 11626 +SHA256 (templexxx-xorsimd-v0.4.1_GH0.tar.gz) = 545ae9a4ef9aae3e11baf20b0c1d3bfe7d9627d1f56d8e009f960d3214e0c075 +SIZE (templexxx-xorsimd-v0.4.1_GH0.tar.gz) = 8028 +SHA256 (tjfoc-gmsm-v1.3.2_GH0.tar.gz) = 55d6a4c3b15436c030f81c973a6442a0678eb09b194689ba233e11f16cabf9c4 +SIZE (tjfoc-gmsm-v1.3.2_GH0.tar.gz) = 1232379 +SHA256 (xtaci-kcp-go-v5.6.1_GH0.tar.gz) = 27f03bc2bc6e9da3e640feed1490e6f0a1c2515f23bf6982dbfe32176189de4b +SIZE (xtaci-kcp-go-v5.6.1_GH0.tar.gz) = 177215 +SHA256 (xtaci-smux-v1.5.15_GH0.tar.gz) = 6197a37eff68b0565ac846534bad7d8f8392b538766d71ca5b33b82bb439b30b +SIZE (xtaci-smux-v1.5.15_GH0.tar.gz) = 138022 +SHA256 (anti-censorship-pluggable-transports/snowflake-ead5a960d7fa19dc890ccbfc0765c5ab6629eaa9_GL0.tar.gz) = 24f17139a1d6ee0890f32fd6d37b7eb6a94190d97e55abace17a0101af340dcb +SIZE (anti-censorship-pluggable-transports/snowflake-ead5a960d7fa19dc890ccbfc0765c5ab6629eaa9_GL0.tar.gz) = 138144 +SHA256 (anti-censorship-geoip-7ce4b3d98d01ff33bad8007db3f488d5b172382a_GL0.tar.gz) = d4db97d4c95cf7ad80dbfcbada55da423d207e41c69707c7f108efc9c26165e2 +SIZE (anti-censorship-geoip-7ce4b3d98d01ff33bad8007db3f488d5b172382a_GL0.tar.gz) = 20279 diff --git a/security/snowflake-tor/files/pkg-message.in b/security/snowflake-tor/files/pkg-message.in new file mode 100644 index 000000000000..7cb60eb220bc --- /dev/null +++ b/security/snowflake-tor/files/pkg-message.in @@ -0,0 +1,48 @@ +[ +{ type: install + message: <<EOM +To enable Snowflake's proxy daemon to start on boot: + + # sysrc snowflake_enable=YES + +It will keep its same defaults, and allow the proxy service to run. + +To start the service: + + # service snowflake start + +Should you wish to change any of the parameters, please refer +to the snowflake-proxy(1) manpage. Use sysrc(8) to view or modify +values depending on your needs. + +If you opt to use Snowflake's bridge features, adjust your 'torrc' accordingly: + + - Client + + UseBridges 1 + Bridge snowflake 192.0.2.3:1 + ClientTransportPlugin snowflake exec %%PREFIX%%/bin/snowflake-client \ + -front cdn.sstatic.net \ + -url https://snowflake-broker.torproject.net.global.prod.fastly.net/ \ + -ice stun:stun.voip.blackberry.com:3478,stun:stun.altar.com.pl:3478,stun:stun.dus.net:3478 + +Client's options can be checked using `%%PREFIX%%/bin/snowflake-client --help`. + + - Server + + BridgeRelay 1 + ExtORPort auto + ServerTransportListenAddr snowflake 0.0.0.0:443 + ServerTransportPlugin snowflake exec %%PREFIX%%/bin/snowflake \ + --acme-email admin@snowflake.example \ + --acme-hostnames snowflake.example + +Server's options can be checked using `%%PREFIX%%/bin/snowflake-client --help`. + +As it uses TLS with ACME (Let's Encrypt) by default, an extra socket on port 80 +will be started. In order to disable this behavior, use -disable-tls. The domain +names given to the --acme-hostnames option should resolve to the IP address of +the server. You can give more than one, separated by commas. +EOM +} +] diff --git a/security/snowflake-tor/files/snowflake.in b/security/snowflake-tor/files/snowflake.in new file mode 100644 index 000000000000..ccfa3a9e495b --- /dev/null +++ b/security/snowflake-tor/files/snowflake.in @@ -0,0 +1,35 @@ +#!/bin/sh + +# PROVIDE: snowflake +# REQUIRE: cleanvar SERVERS +# +# Options to configure it via /etc/rc.conf: +# +# snowflake_enable (bool) Enable service on boot. Default: NO +# snowflake_broker (str) Broker URL. Default: https://snowflake-broker.torproject.net/ +# snowflake_capacity (int) Clients capacity. Default: 10 +# snowflake_relay (str) Websocket relay URL. Default: wss://snowflake.torproject.net/ +# snowflake_stun (str) STUN URL. Default: stun:stun.stunprotocol.org:3478 + +. /etc/rc.subr + +name="snowflake" +rcvar="${name}_enable" +pidfile="/var/run/${name}.pid" +logfile="/var/log/${name}.log" +procname="%%PREFIX%%/bin/${name}-proxy" + +load_rc_config $name + +: ${snowflake_enable:="NO"} +: ${snowflake_broker:="https://snowflake-broker.torproject.net/"} +: ${snowflake_capacity:="10"} +: ${snowflake_relay:="wss://snowflake.torproject.net/"} +: ${snowflake_stun:="stun:stun.stunprotocol.org:3478"} + +command="/usr/sbin/daemon" +snowflake_opts1="-broker ${snowflake_broker} -capacity ${snowflake_capacity}" +snowflake_opts2="-relay ${snowflake_relay} -stun ${snowflake_stun}" +command_args="-p ${pidfile} -u nobody -o ${logfile} -f ${procname} ${snowflake_opts1} ${snowflake_opts2}" + +run_rc_command "$1" diff --git a/security/snowflake-tor/pkg-descr b/security/snowflake-tor/pkg-descr new file mode 100644 index 000000000000..4c4e8ee7d66a --- /dev/null +++ b/security/snowflake-tor/pkg-descr @@ -0,0 +1,6 @@ +Snowflake is a system to defeat internet censorship. People who are censored +can use Snowflake to access the internet. Their connection goes through +Snowflake proxies, which are run by volunteers. For more detailed information +about how Snowflake works see our documentation wiki. + +WWW: https://snowflake.torproject.org/ diff --git a/security/snowflake-tor/pkg-plist b/security/snowflake-tor/pkg-plist new file mode 100644 index 000000000000..873c75fe7046 --- /dev/null +++ b/security/snowflake-tor/pkg-plist @@ -0,0 +1,5 @@ +bin/snowflake +bin/snowflake-client +bin/snowflake-proxy +%%MANPAGES%%man/man1/snowflake-client.1.gz +%%MANPAGES%%man/man1/snowflake-proxy.1.gz |