How to use WebTunnel?

Hello,
I added the following lines to the torrc file:

UseBridges 1
ClientTransportPlugin webtunnel exec ./client
Bridge webtunnel XXX:443 XXX url=https://XXX ver=0.0.1
SocksPort auto
Log info

But I got the following error:

Jan 21 05:29:41.000 [notice] Bootstrapped 0% (starting): Starting
Jan 21 05:29:42.000 [notice] Starting with guard context "bridges"
Jan 21 05:29:42.000 [notice] Delaying directory fetches: No running bridges
Jan 21 05:29:42.000 [warn] Pluggable Transport process terminated with status code 256

Why?

Thank you.

Specify the correct path to the Pluggable Transport file to be used after the exec parameter.
For example:

exec c:\tor\pluggable_transports\webtunnel-client.exe # Windows
exec /home/user/tor/pluggable_transports/webtunnel-client # Llinux

Take the files for Pluggable Transports from the Tor Expert Bundle

1 Like

Hello,
Thank you so much for your reply.

The tor expert bundle contains the tor and pluggable transports binaries, bridge strings, and geoip data used in Tor Browser.

Is this just for Tor Browser? I am using the Tor package on Debian.

Not necessary. Tor and Pluggable Transports from the Tor Expert Bundle can be used without the Tor Browser.

1 Like

Hello,
Thanks again.
Can I install it with apt install command?

No. The WebTunnel Pluggable Transport is not available in the Debian repositories. However, you can install Go-lang and build it from source yourself:

$ sudo apt install golang

$ git clone https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/webtunnel

$ cd webtunnel/main/client
$ go build

$ sudo cp client /usr/bin/webtunnel
2 Likes

Hello,
Thank you so much.
After, can I use the following line in the torrc file:

Bridge webtunnel XXX:443 XXX url=https://XXX ver=0.0.1

Yes, the main thing is not to forget to add UseBridges and ClientTransportPlugin with the correct path to the Webtunnel client file. Example:

UseBridges 1
ClientTransportPlugin webtunnel exec /usr/bin/webtunnel
Bridge webtunnel <IP>:<PORT> <FINGERPRINT> url=<URL> ver=0.0.1
1 Like

Hello,
Thanks again.

  1. I added the bridge and restarted Tor daemon, but the result is:
...
Jan 31 02:03:22.275 [notice] Read configuration file "/usr/share/tor/tor-service-defaults-torrc".
Jan 31 02:03:22.275 [notice] Read configuration file "/etc/tor/torrc".
Jan 31 02:03:22.277 [notice] Opening Socks listener on 127.0.0.1:9050
Jan 31 02:03:22.277 [notice] Opened Socks listener connection (ready) on 127.0.0.1:9050
Jan 31 02:03:22.000 [notice] Parsing GEOIP IPv4 file /usr/share/tor/geoip.
Jan 31 02:03:22.000 [notice] Parsing GEOIP IPv6 file /usr/share/tor/geoip6.
Jan 31 02:03:22.000 [notice] Bootstrapped 0% (starting): Starting
Jan 31 02:03:22.000 [notice] Starting with guard context "bridges"
Jan 31 02:03:22.000 [notice] Delaying directory fetches: No running bridges
Jan 31 02:03:22.000 [notice] Signaled readiness to systemd
Jan 31 02:03:23.000 [notice] Opening Socks listener on /run/tor/socks
Jan 31 02:03:23.000 [notice] Opened Socks listener connection (ready) on /run/tor/socks
Jan 31 02:03:23.000 [notice] Opening Control listener on /run/tor/control
Jan 31 02:03:23.000 [notice] Opened Control listener connection (ready) on /run/tor/control
Jan 31 02:03:43.000 [notice] Application request when we haven't used client functionality lately. Optimistically trying known bridges again.

Why?

  1. When I add a new bridge, do I have to restart the Tor or is reloading enough?

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.