[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [tor-bugs] #16650 [Obfuscation/BridgeDB]: Set up domain fronting for BridgeDB
#16650: Set up domain fronting for BridgeDB
-------------------------------------------------+-------------------------
Reporter: isis | Owner: isis
Type: enhancement | Status: new
Priority: Medium | Milestone:
Component: Obfuscation/BridgeDB | Version:
Severity: Normal | Resolution:
Keywords: bridgedb-dist, bridgedb-usability, | Actual Points:
tbb-wants, usability, bridge-distribution, |
TorCoreTeam201608 |
Parent ID: | Points:
Reviewer: | Sponsor:
-------------------------------------------------+-------------------------
Comment (by isis):
I tried to use Debian stable's go, installed in #21772, in the following
manner:
{{{
#!/usr/bin/env bash
#GOROOT=/home/bridgedb/go
GOPATH=/home/bridgedb/go/
GO_BINARY=`which go`
MEEK_REPO=https://git.torproject.org/pluggable-transports/meek
PTLIB_REPO=https://git.torproject.org/pluggable-transports/goptlib
CRYPTO_REPO=https://go.googlesource.com/crypto
CONTEXT_REPO=https://golang.org/x/net/context
if test -z "$GO_BINARY" ; then
printf "It seems Go is not installed! Exiting...\n"
exit 2
fi
PT_PATH=${GO_PATH}/src/git.torproject.org/pluggable-transports
X_PATH=${GO_PATH}/src/golang.org/x
for path in "$PT_PATH" "$X_PATH" ; do
if ! test -d "$path" ; then
mkdir -p "$path"
fi
done
cd "$PT_PATH"
for repo in "$MEEK_REPO" "$PTLIB_REPO" ; do
git clone $repo
done
# For some reason, it expects the goptlib repo to live in a directory
# called "goptlib.git"
mv goptlib goptlib.git
cd "$X_PATH"
git clone "$CRYPTO_REPO"
mkdir net
cd net
git clone "$CONTEXT_REPO"
# In /home/bridgedb/go/src/golang.org/x/crypto/acme/autocert/autocert.go
# and /home/bridgedb/go/src/golang.org/x/crypto/acme/autocert/cache.go
# and /home/bridgedb/go/src/golang.org/x/crypto/acme/autocert/renewal.go
# and /home/bridgedb/go/src/golang.org/x/crypto/acme/acme.go
# you will need to change the line in `import(...)` which says
#
# "context"
#
# to instead be:
#
# context "golang.org/x/net/context"
#
# because Debian's go version is extremely old and package which used
# to be at golang.org/x/net/conext is now top-level in the standard
library.
#
# Next, in /home/bridgedb/go/src/golang.org/x/crypto/acme/acme.go
# you will need to add in the `import(...) the following:
#
# "golang.org/x/crypto/ssh/keys"
#
# and then, in that same file, change all instances of "crypto.Signer" to
# "keys.Signer".
}}}
This is all because Debian's go version is 1.3.3. These crypto libraries
all expect at least go1.7.
I'm just going to install gotools the proper way, in bridgedb's home
directory. I know a lot of Debian people are going to complain about
this, but I'm sorry, this is insane and a waste of time. I can build meek
on my laptop just fine, with `go build`, and I should be able to do the
same on the server.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/16650#comment:10>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs