summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorHilton Chain <hako@ultrarare.space>2023-01-03 15:22:22 +0800
committerLudovic Courtès <ludo@gnu.org>2023-01-30 23:43:48 +0100
commitbe2f5da810b7cc015ac690dd437aa2cfb03f1770 (patch)
tree747f855d0ca37874f4fae8cc9a8c56b29a118bc1 /gnu
parent7f501b9835ef7169bf43670db1d2d7f26dcbcc58 (diff)
downloadguix-be2f5da810b7cc015ac690dd437aa2cfb03f1770.tar.gz
gnu: Add phantomsocks.
* gnu/packages/networking.scm (phantomsocks): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/networking.scm39
1 files changed, 39 insertions, 0 deletions
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index a7b51ed1ff..45dfee34b3 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -4478,6 +4478,45 @@ on hub/switched networks.  It is based on @acronym{ARP} packets, it will send
    (home-page "https://github.com/netdiscover-scanner/netdiscover")
    (license license:gpl3+)))
 
+(define-public phantomsocks
+  (package
+    (name "phantomsocks")
+    (version "0.0.0-20221222155609-14291e2c889e")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/macronut/phantomsocks")
+                    (commit (go-version->git-ref version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "13lllmh46xwns5ksqqdkl2p7vvnbzkzb6va005nk37bx6c4x2ixp"))))
+    (build-system go-build-system)
+    (arguments
+     (list #:install-source? #f
+           #:import-path "github.com/macronut/phantomsocks"
+           #:build-flags #~'("-tags" #$(if (target-linux?)
+                                           "rawsocket"
+                                           "pcap"))))
+    (propagated-inputs
+     (list go-github-com-google-gopacket
+           go-github-com-macronut-go-tproxy))
+    (inputs
+     (if (target-linux?)
+         '()
+         (list libpcap)))
+    (home-page "https://github.com/macronut/phantomsocks")
+    (synopsis "Internet censorship circumvention tool")
+    (description
+     "Phantomsocks is an Internet censorship circumvention tool based on the
+desync technique, which was introduced in the 2017 paper
+@url{https://doi.org/10.1145/3131365.3131374, @cite{Your State is Not Mine: A
+Closer Look at Evading Stateful Internet Censorship}}.
+
+Further information on the usage could be found on the Wikibooks page
+@url{https://zh.wikibooks.org/wiki/Phantomsocks, @cite{Phantomsocks}}.")
+    (license license:lgpl3+)))
+
 (define-public putty
   (package
     (name "putty")