mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-17 20:27:36 -05:00
gnu: Add go-github-com-operatorfoundation-obfs4.
* gnu/packages/golang.scm (go-github-com-operatorfoundation-obfs4): New variable.
This commit is contained in:
parent
fad3cce201
commit
213570dbd3
1 changed files with 128 additions and 0 deletions
|
@ -74,6 +74,134 @@ (define-module (gnu packages golang)
|
||||||
#:use-module (ice-9 match)
|
#:use-module (ice-9 match)
|
||||||
#:use-module (srfi srfi-1))
|
#:use-module (srfi srfi-1))
|
||||||
|
|
||||||
|
(define-public go-github-com-operatorfoundation-obfs4
|
||||||
|
(package
|
||||||
|
(name "go-github-com-operatorfoundation-obfs4")
|
||||||
|
(version "1.0.0")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri
|
||||||
|
(git-reference
|
||||||
|
(url "https://github.com/OperatorFoundation/obfs4")
|
||||||
|
(commit (string-append "v" version))))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32 "0s730xagdxs66wfh65hb5v9a5h01q5ncic3pyij0a043scagizgr"))))
|
||||||
|
(build-system go-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:unpack-path "github.com/OperatorFoundation/obfs4"
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'patch
|
||||||
|
(lambda _
|
||||||
|
(substitute* (find-files "." "\\.go$")
|
||||||
|
;; To drop '.git' suffix in import path of goptlib.
|
||||||
|
(("goptlib\\.git") "goptlib"))))
|
||||||
|
(replace 'build
|
||||||
|
(lambda arguments
|
||||||
|
(for-each
|
||||||
|
(lambda (directory)
|
||||||
|
(apply (assoc-ref %standard-phases 'build)
|
||||||
|
`(,@arguments #:import-path ,directory)))
|
||||||
|
(list
|
||||||
|
"github.com/OperatorFoundation/obfs4/common/csrand"
|
||||||
|
"github.com/OperatorFoundation/obfs4/common/drbg"
|
||||||
|
"github.com/OperatorFoundation/obfs4/common/log"
|
||||||
|
"github.com/OperatorFoundation/obfs4/common/ntor"
|
||||||
|
"github.com/OperatorFoundation/obfs4/common/probdist"
|
||||||
|
"github.com/OperatorFoundation/obfs4/common/pt_extras"
|
||||||
|
"github.com/OperatorFoundation/obfs4/common/replayfilter"
|
||||||
|
"github.com/OperatorFoundation/obfs4/common/socks5"
|
||||||
|
"github.com/OperatorFoundation/obfs4/common/termmon"
|
||||||
|
"github.com/OperatorFoundation/obfs4/common/uniformdh"
|
||||||
|
"github.com/OperatorFoundation/obfs4/modes/pt_socks5"
|
||||||
|
"github.com/OperatorFoundation/obfs4/modes/stun_udp"
|
||||||
|
"github.com/OperatorFoundation/obfs4/modes/transparent_tcp"
|
||||||
|
"github.com/OperatorFoundation/obfs4/modes/transparent_udp"
|
||||||
|
"github.com/OperatorFoundation/obfs4/obfs4proxy"
|
||||||
|
"github.com/OperatorFoundation/obfs4/proxy_dialers/proxy_http"
|
||||||
|
"github.com/OperatorFoundation/obfs4/proxy_dialers/proxy_socks4"
|
||||||
|
"github.com/OperatorFoundation/obfs4/transports"))))
|
||||||
|
(replace 'check
|
||||||
|
(lambda arguments
|
||||||
|
(for-each
|
||||||
|
(lambda (directory)
|
||||||
|
(apply (assoc-ref %standard-phases 'check)
|
||||||
|
`(,@arguments #:import-path ,directory)))
|
||||||
|
(list
|
||||||
|
"github.com/OperatorFoundation/obfs4/common/csrand"
|
||||||
|
"github.com/OperatorFoundation/obfs4/common/drbg"
|
||||||
|
"github.com/OperatorFoundation/obfs4/common/log"
|
||||||
|
"github.com/OperatorFoundation/obfs4/common/ntor"
|
||||||
|
"github.com/OperatorFoundation/obfs4/common/probdist"
|
||||||
|
"github.com/OperatorFoundation/obfs4/common/pt_extras"
|
||||||
|
"github.com/OperatorFoundation/obfs4/common/replayfilter"
|
||||||
|
"github.com/OperatorFoundation/obfs4/common/socks5"
|
||||||
|
"github.com/OperatorFoundation/obfs4/common/termmon"
|
||||||
|
"github.com/OperatorFoundation/obfs4/common/uniformdh"
|
||||||
|
;; ERROR: Println arg dialFn is a func value, not called.
|
||||||
|
;;"github.com/OperatorFoundation/obfs4/modes/pt_socks5"
|
||||||
|
;; ERROR: Infof format %s has arg ln of wrong type *net.UDPConn.
|
||||||
|
;;"github.com/OperatorFoundation/obfs4/modes/stun_udp"
|
||||||
|
"github.com/OperatorFoundation/obfs4/modes/transparent_tcp"
|
||||||
|
;; ERROR: Infof format %s has arg ln of wrong type *net.UDPConn
|
||||||
|
;;"github.com/OperatorFoundation/obfs4/modes/transparent_udp"
|
||||||
|
;; ERROR: Println call has possible formatting directive %s.
|
||||||
|
;;"github.com/OperatorFoundation/obfs4/obfs4proxy"
|
||||||
|
"github.com/OperatorFoundation/obfs4/proxy_dialers/proxy_http"
|
||||||
|
"github.com/OperatorFoundation/obfs4/proxy_dialers/proxy_socks4"
|
||||||
|
"github.com/OperatorFoundation/obfs4/transports"))))
|
||||||
|
(replace 'install
|
||||||
|
(lambda arguments
|
||||||
|
(for-each
|
||||||
|
(lambda (directory)
|
||||||
|
(apply (assoc-ref %standard-phases 'install)
|
||||||
|
`(,@arguments #:import-path ,directory)))
|
||||||
|
(list
|
||||||
|
"github.com/OperatorFoundation/obfs4/common/csrand"
|
||||||
|
"github.com/OperatorFoundation/obfs4/common/drbg"
|
||||||
|
"github.com/OperatorFoundation/obfs4/common/log"
|
||||||
|
"github.com/OperatorFoundation/obfs4/common/ntor"
|
||||||
|
"github.com/OperatorFoundation/obfs4/common/probdist"
|
||||||
|
"github.com/OperatorFoundation/obfs4/common/pt_extras"
|
||||||
|
"github.com/OperatorFoundation/obfs4/common/replayfilter"
|
||||||
|
"github.com/OperatorFoundation/obfs4/common/socks5"
|
||||||
|
"github.com/OperatorFoundation/obfs4/common/termmon"
|
||||||
|
"github.com/OperatorFoundation/obfs4/common/uniformdh"
|
||||||
|
"github.com/OperatorFoundation/obfs4/modes/pt_socks5"
|
||||||
|
"github.com/OperatorFoundation/obfs4/modes/stun_udp"
|
||||||
|
"github.com/OperatorFoundation/obfs4/modes/transparent_tcp"
|
||||||
|
"github.com/OperatorFoundation/obfs4/modes/transparent_udp"
|
||||||
|
"github.com/OperatorFoundation/obfs4/obfs4proxy"
|
||||||
|
"github.com/OperatorFoundation/obfs4/proxy_dialers/proxy_http"
|
||||||
|
"github.com/OperatorFoundation/obfs4/proxy_dialers/proxy_socks4"
|
||||||
|
"github.com/OperatorFoundation/obfs4/transports")))))))
|
||||||
|
(propagated-inputs
|
||||||
|
`(("go-github-com-dchest-siphash"
|
||||||
|
,go-github-com-dchest-siphash)
|
||||||
|
("go-github-com-operatorfoundation-ed25519"
|
||||||
|
,go-github-com-operatorfoundation-ed25519)
|
||||||
|
("go-github-com-willscott-goturn"
|
||||||
|
,go-github-com-willscott-goturn)
|
||||||
|
("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
|
||||||
|
("go-golang-org-x-net" ,go-golang-org-x-net)
|
||||||
|
("go-torproject-org-pluggable-transports-goptlib"
|
||||||
|
,go-torproject-org-pluggable-transports-goptlib)))
|
||||||
|
(home-page "https://github.com/OperatorFoundation/obfs4")
|
||||||
|
(synopsis "Network obfourscator to scramble network traffic")
|
||||||
|
(description "Obfs4 is a look-like nothing obfuscation protocol that
|
||||||
|
incorporates ideas and concepts from Philipp Winter's ScrambleSuit protocol.
|
||||||
|
The notable differences between ScrambleSuit and obfs4 are:
|
||||||
|
@itemize
|
||||||
|
@item The handshake always does a full key exchange (no such thing as a Session
|
||||||
|
Ticket Handshake).
|
||||||
|
@item The handshake uses the Tor Project's ntor handshake with public keys
|
||||||
|
obfuscated via the Elligator 2 mapping.
|
||||||
|
@item The link layer encryption uses NaCl secret boxes (Poly1305/XSalsa20).
|
||||||
|
@end itemize")
|
||||||
|
(license license:bsd-2)))
|
||||||
|
|
||||||
(define-public go-github-com-willscott-goturn
|
(define-public go-github-com-willscott-goturn
|
||||||
(let ((commit "19f41278d0c9251d64e0ee29f37d51e87a24a97b")
|
(let ((commit "19f41278d0c9251d64e0ee29f37d51e87a24a97b")
|
||||||
(revision "0"))
|
(revision "0"))
|
||||||
|
|
Loading…
Reference in a new issue