summaryrefslogtreecommitdiff
path: root/net/spoofdpi
diff options
context:
space:
mode:
Diffstat (limited to 'net/spoofdpi')
-rw-r--r--net/spoofdpi/Makefile54
-rw-r--r--net/spoofdpi/distinfo62
-rw-r--r--net/spoofdpi/files/modules.txt88
-rw-r--r--net/spoofdpi/files/pkg-message.in37
-rw-r--r--net/spoofdpi/files/spoofdpi.toml.sample11
-rw-r--r--net/spoofdpi/pkg-message13
6 files changed, 202 insertions, 63 deletions
diff --git a/net/spoofdpi/Makefile b/net/spoofdpi/Makefile
index 3c5eb863196d..2c9da0e06d27 100644
--- a/net/spoofdpi/Makefile
+++ b/net/spoofdpi/Makefile
@@ -1,12 +1,13 @@
PORTNAME= spoofdpi
DISTVERSIONPREFIX= v
-DISTVERSION= 0.12.0
-PORTREVISION= 2
+DISTVERSION= 1.1.3
+PORTREVISION= 1
CATEGORIES= net
MAINTAINER= nxjoseph@protonmail.com
COMMENT= Simple and fast anti-censorship tool
-WWW= https://github.com/xvzc/SpoofDPI
+WWW= https://spoofdpi.xvzc.dev/ \
+ https://github.com/xvzc/SpoofDPI/
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -15,35 +16,50 @@ 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 \
+GH_TUPLE= BurntSushi:toml:v1.5.0:burntsushi_toml/vendor/github.com/BurntSushi/toml \
+ davecgh:go-spew:v1.1.1:davecgh_go_spew/vendor/github.com/davecgh/go-spew \
+ go-check:check:41f04d3bba15:go_check_check/vendor/gopkg.in/check.v1 \
+ go-yaml:yaml:v3.0.1:go_yaml_yaml/vendor/gopkg.in/yaml.v3 \
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:net:v0.38.0:golang_net/vendor/golang.org/x/net \
+ golang:sync:v0.12.0:golang_sync/vendor/golang.org/x/sync \
+ golang:sys:v0.31.0:golang_sys/vendor/golang.org/x/sys \
golang:tools:v0.22.0:golang_tools/vendor/golang.org/x/tools \
- gookit:color:v1.5.4:gookit_color/vendor/github.com/gookit/color \
- lithammer:fuzzysearch:v1.1.8:lithammer_fuzzysearch/vendor/github.com/lithammer/fuzzysearch \
+ google:gopacket:v1.1.19:google_gopacket/vendor/github.com/google/gopacket \
+ jackpal:gateway:v1.1.1:jackpal_gateway/vendor/github.com/jackpal/gateway \
+ kr:pretty:v0.1.0:kr_pretty/vendor/github.com/kr/pretty \
mattn:go-colorable:v0.1.13:mattn_go_colorable/vendor/github.com/mattn/go-colorable \
mattn:go-isatty:v0.0.19:mattn_go_isatty/vendor/github.com/mattn/go-isatty \
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 \
+ pmezard:go-difflib:v1.0.0:pmezard_go_difflib/vendor/github.com/pmezard/go-difflib \
rs:zerolog:v1.33.0:rs_zerolog/vendor/github.com/rs/zerolog \
- xo:terminfo:abceb7e1c41e:xo_terminfo/vendor/github.com/xo/terminfo
+ stretchr:objx:v0.5.2:stretchr_objx/vendor/github.com/stretchr/objx \
+ stretchr:testify:v1.11.1:stretchr_testify/vendor/github.com/stretchr/testify \
+ urfave:cli:v3.5.0:urfave_cli_v3/vendor/github.com/urfave/cli/v3
USE_RC_SUBR= ${PORTNAME}
GO_TARGET= ./cmd/${PORTNAME}
-GO_BUILDFLAGS= -ldflags="-s -w"
+GO_BUILDFLAGS= -ldflags="-s -w -X main.build=${OPSYS:tl} -X main.version=${DISTVERSION}"
+CGO_CFLAGS+= -I/usr/include
+CGO_LDFLAGS+= -L/usr/lib
+SUB_FILES= pkg-message
SUB_LIST= USER=${USERS}
USERS= ${PORTNAME}
GROUPS= ${PORTNAME}
-PLIST_FILES= bin/${PORTNAME}
+PLIST_FILES= "@dir(${USERS},${GROUPS},0770) ${ETCDIR}" \
+ "@sample(${USERS},${GROUPS},0770) ${ETCDIR}/${PORTNAME}.toml.sample" \
+ bin/${PORTNAME}
+
+post-patch:
+ ${CP} ${FILESDIR}/modules.txt ${WRKSRC}/vendor
+ @${REINPLACE_CMD} -e '220s#"etc"#"${ETCDIR}"#g' \
+ ${WRKSRC}/internal/config/cli.go
+
+post-install:
+ @${MKDIR} ${STAGEDIR}${ETCDIR}
+ ${INSTALL_DATA} ${FILESDIR}/${PORTNAME}.toml.sample \
+ ${STAGEDIR}${ETCDIR}
.include <bsd.port.mk>
diff --git a/net/spoofdpi/distinfo b/net/spoofdpi/distinfo
index 2c1623b2d3e7..f7ef56ede616 100644
--- a/net/spoofdpi/distinfo
+++ b/net/spoofdpi/distinfo
@@ -1,32 +1,30 @@
-TIMESTAMP = 1725844927
-SHA256 (xvzc-SpoofDPI-v0.12.0_GH0.tar.gz) = 8350cacb0a5cc7b3c1d9aa7cbd2e519dfb61e7d59d49475de11387f8229a01c0
-SIZE (xvzc-SpoofDPI-v0.12.0_GH0.tar.gz) = 34504
-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
+TIMESTAMP = 1764165145
+SHA256 (xvzc-SpoofDPI-v1.1.3_GH0.tar.gz) = 638630f41313583381f58158197fca8bb5b70686298ce0e9539866bde5929a60
+SIZE (xvzc-SpoofDPI-v1.1.3_GH0.tar.gz) = 1495404
+SHA256 (BurntSushi-toml-v1.5.0_GH0.tar.gz) = 723ede1a61ca8311046f840020e485dec3ceb2e614d1a539cd154375bdd7b8cb
+SIZE (BurntSushi-toml-v1.5.0_GH0.tar.gz) = 118644
+SHA256 (davecgh-go-spew-v1.1.1_GH0.tar.gz) = 7d82b9bb7291adbe7498fe946920ab3e7fc9e6cbfc3b2294693fad00bf0dd17e
+SIZE (davecgh-go-spew-v1.1.1_GH0.tar.gz) = 42152
+SHA256 (go-check-check-41f04d3bba15_GH0.tar.gz) = 2d5b1036909b241e44f0d6a7cfa936cf9f875efb4f0af077cd61585c6d0c0432
+SIZE (go-check-check-41f04d3bba15_GH0.tar.gz) = 31614
+SHA256 (go-yaml-yaml-v3.0.1_GH0.tar.gz) = cf05411540d3e6ef8f1fd88434b34f94cedaceb540329031d80e23b74540c4e5
+SIZE (go-yaml-yaml-v3.0.1_GH0.tar.gz) = 91173
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-net-v0.38.0_GH0.tar.gz) = f5f44a7625a2cee3ab3b38f8b08a1e058395faf44c29ae5e9a29af9e5f13c822
+SIZE (golang-net-v0.38.0_GH0.tar.gz) = 1502112
+SHA256 (golang-sync-v0.12.0_GH0.tar.gz) = 1032c8a956571df44cfb3c22122a7a3a771af53b1af5698b15e0143a8aacfde7
+SIZE (golang-sync-v0.12.0_GH0.tar.gz) = 17923
+SHA256 (golang-sys-v0.31.0_GH0.tar.gz) = de9873501d7e57afe8964b48d17392f82b5f1fd611915e6084523f9eb7506972
+SIZE (golang-sys-v0.31.0_GH0.tar.gz) = 1523040
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 (lithammer-fuzzysearch-v1.1.8_GH0.tar.gz) = 2496ccfc16d85426eb70aaf94f773f8ca08caf96694de3ede3c29d5978e28e50
-SIZE (lithammer-fuzzysearch-v1.1.8_GH0.tar.gz) = 9373
+SHA256 (google-gopacket-v1.1.19_GH0.tar.gz) = 31efa87cc9d2b41e5e66c7daa8839d841d2a43cc477bf595c9e8c24ef6903830
+SIZE (google-gopacket-v1.1.19_GH0.tar.gz) = 950745
+SHA256 (jackpal-gateway-v1.1.1_GH0.tar.gz) = 69842d3b542a8c436f23fabaf40ec8ff88272e0639d7905c3bab2d94ea13b52b
+SIZE (jackpal-gateway-v1.1.1_GH0.tar.gz) = 16671
+SHA256 (kr-pretty-v0.1.0_GH0.tar.gz) = 3aeb5d90b719765781befb9f156d0d0b8e5a7aafbcf15321e9eabbd35df31358
+SIZE (kr-pretty-v0.1.0_GH0.tar.gz) = 8550
SHA256 (mattn-go-colorable-v0.1.13_GH0.tar.gz) = c3b62c76d365906bba9aa9d9ec048fd33a2a5742299d6482a08e7466d4c52d77
SIZE (mattn-go-colorable-v0.1.13_GH0.tar.gz) = 9762
SHA256 (mattn-go-isatty-v0.0.19_GH0.tar.gz) = 67b1614d495030982d276b211f3ba2a155fad61919ba96e34db8e67ed28660e4
@@ -35,11 +33,13 @@ SHA256 (mattn-go-runewidth-v0.0.15_GH0.tar.gz) = 44a5d37bd7119a9d288d7ff61cf3b4d
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 (pmezard-go-difflib-v1.0.0_GH0.tar.gz) = 28f3dc1b5c0efd61203ab07233f774740d3bf08da4d8153fb5310db6cea0ebda
+SIZE (pmezard-go-difflib-v1.0.0_GH0.tar.gz) = 11398
SHA256 (rs-zerolog-v1.33.0_GH0.tar.gz) = 7a32947b007164edb7a888048f8bec6d7de9cf503e79e099d6b6814fad0f6ac7
SIZE (rs-zerolog-v1.33.0_GH0.tar.gz) = 216046
-SHA256 (xo-terminfo-abceb7e1c41e_GH0.tar.gz) = f309fc85594b3a03d622ebe275a841b97101c4189f85fff18fc051a2e5a4878c
-SIZE (xo-terminfo-abceb7e1c41e_GH0.tar.gz) = 35180
+SHA256 (stretchr-objx-v0.5.2_GH0.tar.gz) = c21c81a2e619fe8194c9cfafd577a72fe163df5a384d68799fbc54eef4b0e33f
+SIZE (stretchr-objx-v0.5.2_GH0.tar.gz) = 33222
+SHA256 (stretchr-testify-v1.11.1_GH0.tar.gz) = 4b51fbc0f19e42841013748e6d527314e1d0e7255122766b5fca1d35b4630c69
+SIZE (stretchr-testify-v1.11.1_GH0.tar.gz) = 116832
+SHA256 (urfave-cli-v3.5.0_GH0.tar.gz) = bb5987d7ba2c59721496e01a246732955051140126df5f1e6da6d9c9c20ad5e2
+SIZE (urfave-cli-v3.5.0_GH0.tar.gz) = 6805679
diff --git a/net/spoofdpi/files/modules.txt b/net/spoofdpi/files/modules.txt
new file mode 100644
index 000000000000..48c505de7ef7
--- /dev/null
+++ b/net/spoofdpi/files/modules.txt
@@ -0,0 +1,88 @@
+# github.com/BurntSushi/toml v1.5.0
+## explicit; go 1.18
+github.com/BurntSushi/toml
+github.com/BurntSushi/toml/internal
+# github.com/davecgh/go-spew v1.1.1
+## explicit
+github.com/davecgh/go-spew/spew
+# github.com/google/gopacket v1.1.19
+## explicit; go 1.12
+github.com/google/gopacket
+github.com/google/gopacket/layers
+github.com/google/gopacket/pcap
+# github.com/jackpal/gateway v1.1.1
+## explicit; go 1.24.2
+github.com/jackpal/gateway
+# github.com/kr/pretty v0.1.0
+## explicit
+# github.com/mattn/go-colorable v0.1.13
+## explicit; go 1.15
+github.com/mattn/go-colorable
+# github.com/mattn/go-isatty v0.0.19
+## explicit; go 1.15
+github.com/mattn/go-isatty
+# github.com/miekg/dns v1.1.61
+## explicit; go 1.19
+github.com/miekg/dns
+# github.com/pmezard/go-difflib v1.0.0
+## explicit
+github.com/pmezard/go-difflib/difflib
+# github.com/rs/zerolog v1.33.0
+## explicit; go 1.15
+github.com/rs/zerolog
+github.com/rs/zerolog/internal/cbor
+github.com/rs/zerolog/internal/json
+github.com/rs/zerolog/log
+# github.com/stretchr/objx v0.5.2
+## explicit; go 1.20
+github.com/stretchr/objx
+# github.com/stretchr/testify v1.11.1
+## explicit; go 1.17
+github.com/stretchr/testify/assert
+github.com/stretchr/testify/assert/yaml
+github.com/stretchr/testify/mock
+# github.com/urfave/cli/v3 v3.5.0
+## explicit; go 1.22
+github.com/urfave/cli/v3
+# golang.org/x/mod v0.18.0
+## explicit; go 1.18
+golang.org/x/mod/semver
+# golang.org/x/net v0.38.0
+## explicit; go 1.23.0
+golang.org/x/net/bpf
+golang.org/x/net/internal/iana
+golang.org/x/net/internal/socket
+golang.org/x/net/ipv4
+golang.org/x/net/ipv6
+golang.org/x/net/route
+# golang.org/x/sync v0.12.0
+## explicit; go 1.23.0
+golang.org/x/sync/errgroup
+# golang.org/x/sys v0.31.0
+## explicit; go 1.23.0
+golang.org/x/sys/unix
+golang.org/x/sys/windows
+# golang.org/x/tools v0.22.0
+## explicit; go 1.19
+golang.org/x/tools/go/gcexportdata
+golang.org/x/tools/go/internal/packagesdriver
+golang.org/x/tools/go/packages
+golang.org/x/tools/go/types/objectpath
+golang.org/x/tools/internal/aliases
+golang.org/x/tools/internal/event
+golang.org/x/tools/internal/event/core
+golang.org/x/tools/internal/event/keys
+golang.org/x/tools/internal/event/label
+golang.org/x/tools/internal/gcimporter
+golang.org/x/tools/internal/gocommand
+golang.org/x/tools/internal/packagesinternal
+golang.org/x/tools/internal/pkgbits
+golang.org/x/tools/internal/stdlib
+golang.org/x/tools/internal/tokeninternal
+golang.org/x/tools/internal/typesinternal
+golang.org/x/tools/internal/versions
+# gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15
+## explicit
+# gopkg.in/yaml.v3 v3.0.1
+## explicit
+gopkg.in/yaml.v3
diff --git a/net/spoofdpi/files/pkg-message.in b/net/spoofdpi/files/pkg-message.in
new file mode 100644
index 000000000000..2c70f131080e
--- /dev/null
+++ b/net/spoofdpi/files/pkg-message.in
@@ -0,0 +1,37 @@
+[
+{ type: install
+ message: <<EOM
+You can use ${PORTNAME} rc.d service and specify arguments for ${PORTNAME} program in rc.conf file like this below or you can use the configuration file located in '%%ETCDIR%%':
+To enable/start ${PORTNAME} service:
+ # service ${PORTNAME} enable
+ # service ${PORTNAME} start
+Now, you can configure your web browser to use this proxy.
+${PORTNAME} listens on port 8080 by default and uses DNS as 8.8.8.8.
+EOM
+}
+{ type: upgrade
+ maximum_version: "0.12.2"
+ message: << EOM
+Some command-line arguments of ${PORTNAME} has been refactored, a few examples:
+ # -addr => -listen-addr, -port => -listen-port and etc.
+See the commit link below or project page for the new documentation.
+ # https://github.com/xvzc/${PORTNAME}/commit/a2993ac68d87a0525a93bc23984d21e341214199
+EOM
+}
+{ type: upgrade
+ maximum_version: "1.0.1"
+ message: << EOM
+A new feature (-fake-https-packets) has been added that adds up a dependency on ${PORTNAME}: libpcap. This feature requires the daemon to be run as root if it is enabled with an argument, it will fail with the default '${PORTNAME}' user, to be able to use it, switch the daemon user to root.
+ # sysrc ${PORTNAME}_user="root"
+EOM
+}
+{ type: upgrade
+ maximum_version: "1.0.2"
+ message: << EOM
+${PORTNAME} now supports configuration files written in TOML, installed in ${ETCDIR} directory with a sample config file.
+Options given through the command-line flags (via rc.conf or as user) will override the options set by the config file.
+You can edit the config via being as root or adding your user to the ${PORTNAME} group (default group).
+Config locations are: $SPOOFDPI_CONFIG environment variable, ${ETCDIR}/${PORTNAME}.toml, $XDG_CONFIG_HOME/${PORTNAME}/${PORTNAME}.toml and $HOME/.config/${PORTNAME}/${PORTNAME}.toml
+EOM
+}
+]
diff --git a/net/spoofdpi/files/spoofdpi.toml.sample b/net/spoofdpi/files/spoofdpi.toml.sample
new file mode 100644
index 000000000000..3c1af2a7e542
--- /dev/null
+++ b/net/spoofdpi/files/spoofdpi.toml.sample
@@ -0,0 +1,11 @@
+dns-addr = "1.1.1.1"
+dns-port = "53"
+
+# If you want to run SpoofDPI remotely (e.g., on a physically separated machine), then you should set this value
+# to 0.0.0.0. Otherwise, it is recommended to leave this option as default.
+listen-addr = "127.0.0.1"
+
+# Port to listen on.
+listen-port = "8080"
+
+doh-endpoint = "https://dns.google/dns-query"
diff --git a/net/spoofdpi/pkg-message b/net/spoofdpi/pkg-message
deleted file mode 100644
index 6a0480f96883..000000000000
--- a/net/spoofdpi/pkg-message
+++ /dev/null
@@ -1,13 +0,0 @@
-[
-{ type: install
- message: <<EOM
-You can use spoofdpi rc.d service and specify arguments
-for spoofdpi program in rc.conf file like this below:
- spoofdpi_args="-port 8181 -dns-addr 1.1.1.1 -enable-doh"
-To enable/start spoofdpi service:
- # service spoofdpi enable
- # service spoofdpi start
-Now, you can configure your web browser to use this proxy.
-EOM
-}
-]