net/spoofdpi: New port: Simple and fast anti-censorship tool
SpoofDPI is a simple and fast anti-censorship tool written in Go that bypasses Deep Packet Inspection (DPI) by splitting HTTPS requests into chunks and sending the first byte separately. It can be run as daemon via rc.d script spoofdpi. https://github.com/xvzc/SpoofDPI PR: 280591
This commit is contained in:
committed by
Vladimir Druzenko
parent
f29d2e2be6
commit
3ad03358f6
@@ -320,7 +320,7 @@ _wsdd:*:370:
|
||||
# free: 377
|
||||
# free: 378
|
||||
# free: 379
|
||||
# free: 380
|
||||
spoofdpi:*:380:
|
||||
# free: 381
|
||||
# free: 382
|
||||
# free: 383
|
||||
|
||||
@@ -325,7 +325,7 @@ _wsdd:*:370:370::0:0:Web Service Discovery Daemon:/nonexistent:/usr/sbin/nologin
|
||||
# free: 377
|
||||
# free: 378
|
||||
# free: 379
|
||||
# free: 380
|
||||
poofdpi:*:380:380::0:0:SpoofDPI Daemon:/nonexistent:/usr/sbin/nologin
|
||||
# free: 381
|
||||
# free: 382
|
||||
# free: 383
|
||||
|
||||
@@ -1501,6 +1501,7 @@
|
||||
SUBDIR += speedtest
|
||||
SUBDIR += speedtest-go
|
||||
SUBDIR += spiritvnc
|
||||
SUBDIR += spoofdpi
|
||||
SUBDIR += spoofer
|
||||
SUBDIR += spread
|
||||
SUBDIR += spread-j
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
PORTNAME= spoofdpi
|
||||
DISTVERSIONPREFIX= v
|
||||
DISTVERSION= 0.10.4
|
||||
CATEGORIES= net
|
||||
|
||||
MAINTAINER= nxjoseph@protonmail.com
|
||||
COMMENT= Simple and fast anti-censorship tool
|
||||
WWW= https://github.com/xvzc/SpoofDPI
|
||||
|
||||
LICENSE= APACHE20
|
||||
|
||||
USES= go:modules
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= xvzc
|
||||
GH_PROJECT= SpoofDPI
|
||||
GH_TUPLE= atomicgo:cursor:v0.2.0:atomicgo_cursor/vendor/atomicgo.dev/cursor \
|
||||
atomicgo:keyboard:v0.2.9:atomicgo_keyboard/vendor/atomicgo.dev/keyboard \
|
||||
atomicgo:schedule:v0.1.0:atomicgo_schedule/vendor/atomicgo.dev/schedule \
|
||||
containerd:console:v1.0.3:containerd_console/vendor/github.com/containerd/console \
|
||||
golang:mod:v0.18.0:golang_mod/vendor/golang.org/x/mod \
|
||||
golang:net:v0.27.0:golang_net/vendor/golang.org/x/net \
|
||||
golang:sync:v0.7.0:golang_sync/vendor/golang.org/x/sync \
|
||||
golang:sys:v0.22.0:golang_sys/vendor/golang.org/x/sys \
|
||||
golang:term:v0.22.0:golang_term/vendor/golang.org/x/term \
|
||||
golang:text:v0.16.0:golang_text/vendor/golang.org/x/text \
|
||||
golang:tools:v0.22.0:golang_tools/vendor/golang.org/x/tools \
|
||||
gookit:color:v1.5.4:gookit_color/vendor/github.com/gookit/color \
|
||||
likexian:doh:v0.7.1:likexian_doh/vendor/github.com/likexian/doh \
|
||||
likexian:gokit:v0.25.15:likexian_gokit/vendor/github.com/likexian/gokit \
|
||||
lithammer:fuzzysearch:v1.1.8:lithammer_fuzzysearch/vendor/github.com/lithammer/fuzzysearch \
|
||||
mattn:go-runewidth:v0.0.15:mattn_go_runewidth/vendor/github.com/mattn/go-runewidth \
|
||||
miekg:dns:v1.1.61:miekg_dns/vendor/github.com/miekg/dns \
|
||||
pterm:pterm:v0.12.79:pterm_pterm/vendor/github.com/pterm/pterm \
|
||||
rivo:uniseg:v0.4.4:rivo_uniseg/vendor/github.com/rivo/uniseg \
|
||||
sirupsen:logrus:v1.9.3:sirupsen_logrus/vendor/github.com/sirupsen/logrus \
|
||||
xo:terminfo:abceb7e1c41e:xo_terminfo/vendor/github.com/xo/terminfo
|
||||
|
||||
USE_RC_SUBR= ${PORTNAME}
|
||||
GO_TARGET= ./cmd/spoof-dpi:${PORTNAME}
|
||||
GO_BUILDFLAGS= -ldflags="-s -w"
|
||||
SUB_LIST= USER=${USERS}
|
||||
USERS= ${PORTNAME}
|
||||
GROUPS= ${PORTNAME}
|
||||
|
||||
PLIST_FILES= bin/${PORTNAME}
|
||||
|
||||
.include <bsd.port.mk>
|
||||
@@ -0,0 +1,45 @@
|
||||
TIMESTAMP = 1722696172
|
||||
SHA256 (xvzc-SpoofDPI-v0.10.4_GH0.tar.gz) = 0f312d2ecf0761be6cd65d475a509f2ac2246a90d3dcf1668444c168be2f3ba1
|
||||
SIZE (xvzc-SpoofDPI-v0.10.4_GH0.tar.gz) = 22739
|
||||
SHA256 (atomicgo-cursor-v0.2.0_GH0.tar.gz) = 61760aaf6b2a0b51adcea56913104aa070b844426063a21dac60551f239e5044
|
||||
SIZE (atomicgo-cursor-v0.2.0_GH0.tar.gz) = 11330
|
||||
SHA256 (atomicgo-keyboard-v0.2.9_GH0.tar.gz) = 6855b6e6e6837de6e9cfb98e0f49f6224eb599c688bdd4ce3a0c96b2f409bd07
|
||||
SIZE (atomicgo-keyboard-v0.2.9_GH0.tar.gz) = 13554
|
||||
SHA256 (atomicgo-schedule-v0.1.0_GH0.tar.gz) = 32b125a2d10d854d96eefd47e14e55d8fca725ac002b0287b32c34cf023d4896
|
||||
SIZE (atomicgo-schedule-v0.1.0_GH0.tar.gz) = 6045
|
||||
SHA256 (containerd-console-v1.0.3_GH0.tar.gz) = 61bc166fd91d4639870a2395ce7a89cb4585d343c521fcd397bef66324772f91
|
||||
SIZE (containerd-console-v1.0.3_GH0.tar.gz) = 13712
|
||||
SHA256 (golang-mod-v0.18.0_GH0.tar.gz) = 247133e4ef1a5863af267a81c2d3f2b6e6b439f250db4e1d7e16df46d37e4d71
|
||||
SIZE (golang-mod-v0.18.0_GH0.tar.gz) = 123147
|
||||
SHA256 (golang-net-v0.27.0_GH0.tar.gz) = 7366b073182cd029815e724a6584cdf01864f46f108e1b1f6beb04597ebacaea
|
||||
SIZE (golang-net-v0.27.0_GH0.tar.gz) = 1454586
|
||||
SHA256 (golang-sync-v0.7.0_GH0.tar.gz) = 39bf56d2dc04d16baabbf5eb5d847a2ad68762b5efde7ca3a8fdb24bdcdd9461
|
||||
SIZE (golang-sync-v0.7.0_GH0.tar.gz) = 18181
|
||||
SHA256 (golang-sys-v0.22.0_GH0.tar.gz) = b5a84a20ff327803ed47aefd837a3264d511b3f644017cb8e050ff1f5bd22471
|
||||
SIZE (golang-sys-v0.22.0_GH0.tar.gz) = 1498230
|
||||
SHA256 (golang-term-v0.22.0_GH0.tar.gz) = 12263f0da55447aa51fb5d5bef6ca12e37bf2058db6c625e498d06e462fca79e
|
||||
SIZE (golang-term-v0.22.0_GH0.tar.gz) = 14742
|
||||
SHA256 (golang-text-v0.16.0_GH0.tar.gz) = 6df270cb3d696f882857c8ce02233e7f08d5ff900986e1ac669b47e088b18779
|
||||
SIZE (golang-text-v0.16.0_GH0.tar.gz) = 8972326
|
||||
SHA256 (golang-tools-v0.22.0_GH0.tar.gz) = ae80020fa6994e1e112478eb4fc3aefcf9b21500c6e2ef5c5b3bdbb3f8943f13
|
||||
SIZE (golang-tools-v0.22.0_GH0.tar.gz) = 3853706
|
||||
SHA256 (gookit-color-v1.5.4_GH0.tar.gz) = cf2b13be6a78bd60f89713afab4b7bfb284199603f5a2b1c39fd684a3d0be690
|
||||
SIZE (gookit-color-v1.5.4_GH0.tar.gz) = 2155201
|
||||
SHA256 (likexian-doh-v0.7.1_GH0.tar.gz) = 0986d356d33ecf691c380f66dd755146976856105d6fb7ba92fd180a088ff425
|
||||
SIZE (likexian-doh-v0.7.1_GH0.tar.gz) = 11623
|
||||
SHA256 (likexian-gokit-v0.25.15_GH0.tar.gz) = 59fd9cf285e174b51e470f8617f68fb1c53c4e0ac1a951b0568c6b5dff1c07c5
|
||||
SIZE (likexian-gokit-v0.25.15_GH0.tar.gz) = 113527
|
||||
SHA256 (lithammer-fuzzysearch-v1.1.8_GH0.tar.gz) = 2496ccfc16d85426eb70aaf94f773f8ca08caf96694de3ede3c29d5978e28e50
|
||||
SIZE (lithammer-fuzzysearch-v1.1.8_GH0.tar.gz) = 9373
|
||||
SHA256 (mattn-go-runewidth-v0.0.15_GH0.tar.gz) = 44a5d37bd7119a9d288d7ff61cf3b4d42c2902c66b0d94136d41d2eb3cf2ba85
|
||||
SIZE (mattn-go-runewidth-v0.0.15_GH0.tar.gz) = 18284
|
||||
SHA256 (miekg-dns-v1.1.61_GH0.tar.gz) = 90333c02da30c7ec20688e854e34f71d450831e5c4eba007d828864bb4ff4d47
|
||||
SIZE (miekg-dns-v1.1.61_GH0.tar.gz) = 217914
|
||||
SHA256 (pterm-pterm-v0.12.79_GH0.tar.gz) = 230bef0c6e733ae600392d8c085b51331eeb29d789517cb75a28c9ed3c8c578d
|
||||
SIZE (pterm-pterm-v0.12.79_GH0.tar.gz) = 297646
|
||||
SHA256 (rivo-uniseg-v0.4.4_GH0.tar.gz) = eb2837932d0a666e13ea6b4cebf698096266d4f14740faa78c63b8291cf1fb5c
|
||||
SIZE (rivo-uniseg-v0.4.4_GH0.tar.gz) = 453399
|
||||
SHA256 (sirupsen-logrus-v1.9.3_GH0.tar.gz) = cfa48a647a28c1f12fb6a9b672bc4d88b6407ff05aedcf23ce939d342646acce
|
||||
SIZE (sirupsen-logrus-v1.9.3_GH0.tar.gz) = 50320
|
||||
SHA256 (xo-terminfo-abceb7e1c41e_GH0.tar.gz) = f309fc85594b3a03d622ebe275a841b97101c4189f85fff18fc051a2e5a4878c
|
||||
SIZE (xo-terminfo-abceb7e1c41e_GH0.tar.gz) = 35180
|
||||
@@ -0,0 +1,43 @@
|
||||
#!/bin/sh
|
||||
|
||||
# PROVIDE: spoofdpi
|
||||
# REQUIRE: LOGIN
|
||||
# KEYWORD: shutdown
|
||||
#
|
||||
# Add the following lines to /etc/rc.conf or /etc/rc.conf.local to
|
||||
# enable spoofdpi:
|
||||
# spoofdpi_args (str): Custom additional arguments to be passed
|
||||
# spoofdpi (default empty).
|
||||
# spoofdpi_user (str): User to run spoofdpi as. Default
|
||||
# to "%%USER%%" created by the port.
|
||||
# spoofdpi_log (path): Console log file (default /dev/null).
|
||||
|
||||
. /etc/rc.subr
|
||||
|
||||
case $0 in
|
||||
/etc/rc*)
|
||||
# during boot (shutdown) $0 is /etc/rc (/etc/rc.shutdown),
|
||||
# so get the name of the script from $_file
|
||||
name=$_file
|
||||
;;
|
||||
*)
|
||||
name=$0
|
||||
;;
|
||||
esac
|
||||
|
||||
name=${name##*/}
|
||||
rcvar="${name}_enable"
|
||||
|
||||
load_rc_config "${name}"
|
||||
|
||||
eval "${rcvar}=\${${rcvar}:-'NO'}"
|
||||
eval "_args=\${${name}_args:-''}"
|
||||
eval "_user=\${${name}_user:-'%%USER%%'}"
|
||||
eval "_log=\${${name}_log:-/dev/null}"
|
||||
|
||||
pidfile="/var/run/${name}.pid"
|
||||
|
||||
command="/usr/sbin/daemon"
|
||||
command_args="-P ${pidfile} -u ${_user} -f -H -o ${_log} -m 3 %%PREFIX%%/bin/spoofdpi -no-banner ${_args}"
|
||||
|
||||
run_rc_command "$1"
|
||||
@@ -0,0 +1,3 @@
|
||||
SpoofDPI is a simple and fast anti-censorship tool written in Go that
|
||||
bypasses Deep Packet Inspection (DPI) by splitting HTTPS requests into
|
||||
chunks and sending the first byte separately.
|
||||
Reference in New Issue
Block a user