From nobody Mon Aug 5 23:05:33 2024 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4WdBqd6ZYtz5S7fy; Mon, 05 Aug 2024 23:05:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4WdBqd5w3xz4JWs; Mon, 5 Aug 2024 23:05:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1722899133; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c0/bo8yFYjRI5rW2uj8KH9JkrYyRrNwcFF6hS7p0ndQ=; b=JkGfYPdLDecrM/vcxNUM5W7gDSTH3r0arxbBEfvtkeVxmZstWkYGJhOFZoUYn+IwQM4yLi bJUIUzRduEbUSfaAYZfZzLmbUzwo28jUbK9arlXhD/tVS9kBxgbDxp/aGFDHnhLtY7+59N fRSYvgEWsH/IzMXlwwTqW7XVR1/Av9gk6YavohNlcyT5i5fVMmKOq30QXO7yzMMpwToBsw BN0u8CjHDlNg2qdLSU3vlKNPfBNFH7+OyykZoPDkj23sp/X0YIX2QuTzeHBuJpjo3qXoCI KL8Zgt6zAijeVJ/JXoPwPZgj5u4H/1oZxmm7za0wevne06Oap4OXUucpwx1d9A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1722899133; a=rsa-sha256; cv=none; b=IOqPrizqsAlNWRmMAttnorXk1xwVvn4sQ+uS8iBagt37AeY89Vbi2Jd/wnQ0MY1ajWTG11 MI0Qx4O1o+jGENNrg4YEbwL4b5+J5E30EMlUCiLH3C791yfRV3DNskyPqMzFui+t+AXxci 1QsTBjNRZ48Hi5zJf1EsPra/gEkhLd5Z4jsO1B3SQED8XF2bWXvExVv+oeXOXZa+67audS GcKb8KnmFlJArLFXWcdXBP3tDyZMAKSX5/yc/a7UTrr4ywwkUnlS9RQo67Gc3nuBLr2zi0 BiBZJlWW8x1P/XvT0XK9Ne7Ka5IeWFV16uyqoGatzrh1CFnIzC7JERpxANbP1Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1722899133; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c0/bo8yFYjRI5rW2uj8KH9JkrYyRrNwcFF6hS7p0ndQ=; b=qpsGcOwjRZWQLXabvu0ckOhBuG5mnboZ9GC70FwUwGjE7fwByxxyy0SHt6elaI94WUbRTA LjVqeMDTXgB01ciuIf9KdUKvKXObVJYrob5wcHPRyKpV0NT3hiGAOzjqdM8gdTyen69Mqs +ydtKQSI79ewXoedaO77qJjo3Z7Ev2VwQLWU1T+Hj9Q/AIIJbAzU/bqSVDvjQvv1Ye9kGS Zuy6o65ORoc380i7WNdvsxwWVdm+NwtWM/kEVKggEEhaH5PBlrStBDke4wLMp85uPwWZjH y6sFmYOdInguU9ncnEL48DKoiN04q9c34R/NrWRMB0Doa5+tHCI6JtLRJssv1g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4WdBqd5WJnzj9G; Mon, 5 Aug 2024 23:05:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 475N5XxY094876; Mon, 5 Aug 2024 23:05:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 475N5X2G094873; Mon, 5 Aug 2024 23:05:33 GMT (envelope-from git) Date: Mon, 5 Aug 2024 23:05:33 GMT Message-Id: <202408052305.475N5X2G094873@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Vladimir Druzenko Subject: git: 3ad03358f695 - main - net/spoofdpi: New port: Simple and fast anti-censorship tool List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-main@freebsd.org Sender: owner-dev-commits-ports-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: vvd X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3ad03358f6959b68ea10c2d395274dda595afec9 Auto-Submitted: auto-generated The branch main has been updated by vvd: URL: https://cgit.FreeBSD.org/ports/commit/?id=3ad03358f6959b68ea10c2d395274dda595afec9 commit 3ad03358f6959b68ea10c2d395274dda595afec9 Author: Yusuf Yaman AuthorDate: 2024-08-05 23:01:57 +0000 Commit: Vladimir Druzenko CommitDate: 2024-08-05 23:01:57 +0000 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 --- GIDs | 2 +- UIDs | 2 +- net/Makefile | 1 + net/spoofdpi/Makefile | 47 ++++++++++++++++++++++++++++++++++++++++++ net/spoofdpi/distinfo | 45 ++++++++++++++++++++++++++++++++++++++++ net/spoofdpi/files/spoofdpi.in | 43 ++++++++++++++++++++++++++++++++++++++ net/spoofdpi/pkg-descr | 3 +++ 7 files changed, 141 insertions(+), 2 deletions(-) diff --git a/GIDs b/GIDs index 58773b9d3349..bf70d7250078 100644 --- a/GIDs +++ b/GIDs @@ -320,7 +320,7 @@ _wsdd:*:370: # free: 377 # free: 378 # free: 379 -# free: 380 +spoofdpi:*:380: # free: 381 # free: 382 # free: 383 diff --git a/UIDs b/UIDs index 59e8b3937108..a09c867cc62b 100644 --- a/UIDs +++ b/UIDs @@ -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 diff --git a/net/Makefile b/net/Makefile index 6493ea0fa369..f0897e911f07 100644 --- a/net/Makefile +++ b/net/Makefile @@ -1501,6 +1501,7 @@ SUBDIR += speedtest SUBDIR += speedtest-go SUBDIR += spiritvnc + SUBDIR += spoofdpi SUBDIR += spoofer SUBDIR += spread SUBDIR += spread-j diff --git a/net/spoofdpi/Makefile b/net/spoofdpi/Makefile new file mode 100644 index 000000000000..0044c3bc1968 --- /dev/null +++ b/net/spoofdpi/Makefile @@ -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 diff --git a/net/spoofdpi/distinfo b/net/spoofdpi/distinfo new file mode 100644 index 000000000000..9d6d73175271 --- /dev/null +++ b/net/spoofdpi/distinfo @@ -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 diff --git a/net/spoofdpi/files/spoofdpi.in b/net/spoofdpi/files/spoofdpi.in new file mode 100644 index 000000000000..3670eac051be --- /dev/null +++ b/net/spoofdpi/files/spoofdpi.in @@ -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" diff --git a/net/spoofdpi/pkg-descr b/net/spoofdpi/pkg-descr new file mode 100644 index 000000000000..8666f8c9b68a --- /dev/null +++ b/net/spoofdpi/pkg-descr @@ -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.