Hello,
I have installed Tor on Debian 12 and now I want to use WebTunnel to connect to the Tor network. Unfortunately I could not find a detailed and correct tutorial. Please guide me.
Thank you.
Hello,
I have installed Tor on Debian 12 and now I want to use WebTunnel to connect to the Tor network. Unfortunately I could not find a detailed and correct tutorial. Please guide me.
Thank you.
Hello,
does this guide help? Tor Project | WebTunnel Bridge
Hello,
Do I need to reserve a domain name? If yes, then I also need to have a DNS server. Something like a web server.
Do you want to provide a webtunnel bridge or do you want to use tor as a client and connect to tor using a webtunnel bridge?
The Tor client requires you to set a few lines in the torrc to be able to use bridges.
For security you can make sure to have your Tor version at the latest one. For that itâs best to add the Tor Project repo to your apt.
Then go to Tor Project | Download Tor and download the Stable version of the âTor Expert Bundleâ for your dist/architecture. Unpack the downloaded file and and in the pluggable_transports folder find lyrebird. Lyrebird is the bridge plugin for Tor. Save the path of the lyrebird executable or move it where you want. pwd(to find out the current dir) Then in your Tor torrc settings, add these lines:
UseBridges 1
ClientTransportPlugin webtunnel exec /path/to/lyrebird
Bridge webtunnel⌠(the rest of the bridge line, before the webtunnel bridge line include âBridgeâ, as shown.)
But if you download lyrebird that way, then youâd have to occasionally update it by following the same download process for lyrebird. (for new features, bug fixes, etcâŚ)
Hello,
I just want to use it as a client.
Hello,
I installed the Tor via apt install tor. Can I install the lyrebird via apt command also?
No, most linux dist packages donât have lyrebird, you either have to install it by following my previously mentioned method, or compile it yourself: The Tor Project / Anti-censorship / Pluggable Transports / lyrebird ¡ GitLab
Hello,
Is lyrebird built for Windows OS also?
Hello,
I extracted the lyrebird file from the Tor Expert Bundle and copied it to /usr/bin/:
# ls -l /usr/bin/lyrebird
-rwx------ 1 root root 17502500 Feb 9 09:56 /usr/bin/lyrebird
Then I changed the torrc file as follows:
UseBridges 1
ClientTransportPlugin webtunnel exec /usr/bin/lyrebird
âBridge webtunnelâŚ
Then, I reloaded tor:
# systemctl reload tor
The Tor logs are as follows:
Feb 09 10:10:24.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:24.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:24.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:24.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:24.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:24.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:24.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:24.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:24.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:24.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:24.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:24.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:24.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:24.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:24.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:24.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:24.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:24.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:24.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:25.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:26.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:26.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:26.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:26.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:26.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:26.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:26.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:26.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:26.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:26.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:26.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:26.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:26.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:26.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:26.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:26.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:26.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:26.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:26.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:26.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:26.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:26.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:26.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:26.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:28.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:28.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:28.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:28.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:28.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:28.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:28.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:28.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:28.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:28.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:28.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:28.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:28.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:28.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:28.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:29.000 [notice] Received reload signal (hup). Reloading config and resetting internal state.
Feb 09 10:10:29.000 [notice] Read configuration file â/usr/share/tor/tor-service-defaults-torrcâ.
Feb 09 10:10:29.000 [notice] Read configuration file â/etc/tor/torrcâ.
Feb 09 10:10:29.000 [notice] Tor 0.4.8.16 opening log file.
Feb 09 10:10:29.000 [warn] Managed proxy âN/Aâ process terminated with status code 256
Feb 09 10:10:29.000 [warn] Managed proxy â/usr/bin/lyrebirdâ process terminated with status code 256
Feb 09 10:10:29.000 [err] tor_assertion_failed_(): Bug: ../src/feature/client/transports.c:520: proxy_prepare_for_restart: Assertion mp->conf_state == PT_PROTO_COMPLETED failed; aborting. (on Tor 0.4.8.16 )
Feb 09 10:10:29.000 [err] Bug: Tor 0.4.8.16: Assertion mp->conf_state == PT_PROTO_COMPLETED failed in proxy_prepare_for_restart at ../src/feature/client/transports.c:520: . Stack trace: (on Tor 0.4.8.16 )
Feb 09 10:10:29.000 [err] Bug: /usr/bin/tor(log_backtrace_impl+0x5d) [0x5604b548d7bd] (on Tor 0.4.8.16 )
Feb 09 10:10:29.000 [err] Bug: /usr/bin/tor(tor_assertion_failed_+0x14b) [0x5604b5498a8b] (on Tor 0.4.8.16 )
Feb 09 10:10:29.000 [err] Bug: /usr/bin/tor(+0xc9532) [0x5604b5469532] (on Tor 0.4.8.16 )
Feb 09 10:10:29.000 [err] Bug: /usr/bin/tor(+0xcb2ab) [0x5604b546b2ab] (on Tor 0.4.8.16 )
Feb 09 10:10:29.000 [err] Bug: /usr/bin/tor(process_notify_event_exit+0x4d) [0x5604b54a36cd] (on Tor 0.4.8.16 )
Feb 09 10:10:29.000 [err] Bug: /usr/bin/tor(notify_pending_waitpid_callbacks+0xff) [0x5604b54a51df] (on Tor 0.4.8.16 )
Feb 09 10:10:29.000 [err] Bug: /lib/x86_64-linux-gnu/libevent-2.1.so.7(+0x219de) [0x7f679eaf19de] (on Tor 0.4.8.16 )
Feb 09 10:10:29.000 [err] Bug: /lib/x86_64-linux-gnu/libevent-2.1.so.7(event_base_loop+0x49f) [0x7f679eaf213f] (on Tor 0.4.8.16 )
Feb 09 10:10:29.000 [err] Bug: /usr/bin/tor(do_main_loop+0xf5) [0x5604b5411995] (on Tor 0.4.8.16 )
Feb 09 10:10:29.000 [err] Bug: /usr/bin/tor(tor_run_main+0x1e5) [0x5604b540d235] (on Tor 0.4.8.16 )
Feb 09 10:10:29.000 [err] Bug: /usr/bin/tor(tor_main+0x5b) [0x5604b540956b] (on Tor 0.4.8.16 )
Feb 09 10:10:29.000 [err] Bug: /usr/bin/tor(main+0x1d) [0x5604b54090fd] (on Tor 0.4.8.16 )
Feb 09 10:10:29.000 [err] Bug: /lib/x86_64-linux-gnu/libc.so.6(+0x29ca8) [0x7f679df6aca8] (on Tor 0.4.8.16 )
Feb 09 10:10:29.000 [err] Bug: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x85) [0x7f679df6ad65] (on Tor 0.4.8.16 )
Feb 09 10:10:29.000 [err] Bug: /usr/bin/tor(_start+0x21) [0x5604b5409151] (on Tor 0.4.8.16 )
Feb 09 10:10:30.000 [notice] Tor 0.4.8.16 opening log file.
Feb 09 10:10:30.392 [warn] OpenSSL version from headers does not match the version weâre running with. If you get weird crashes, that might be why. (Compiled with 30400010: OpenSSL 3.4.1 11 Feb 2025; running with 30500040: 3.5.4).
Feb 09 10:10:30.397 [notice] Tor 0.4.8.16 running on Linux with Libevent 2.1.12-stable, OpenSSL 3.5.4, Zlib 1.3.1, Liblzma 5.8.1, Libzstd 1.5.7 and Glibc 2.41 as libc.
Feb 09 10:10:30.397 [notice] Tor canât help you if you use it wrong! Learn how to be safe at Tor Browser best practices - Security - Tor Browser â Tor
Feb 09 10:10:30.397 [notice] Read configuration file â/usr/share/tor/tor-service-defaults-torrcâ.
Feb 09 10:10:30.397 [notice] Read configuration file â/etc/tor/torrcâ.
Feb 09 10:10:30.402 [notice] You configured a non-loopback address â172.20.2.54:9050â for SocksPort. This allows everybody on your local network to use your machine as a proxy. Make sure this is what you wanted.
Feb 09 10:10:30.402 [notice] Opening Socks listener on 172.20.2.54:9050
Feb 09 10:10:30.402 [notice] Opened Socks listener connection (ready) on 172.20.2.54:9050
Feb 09 10:10:30.000 [notice] Parsing GEOIP IPv4 file /usr/share/tor/geoip.
Feb 09 10:10:30.000 [notice] Parsing GEOIP IPv6 file /usr/share/tor/geoip6.
Feb 09 10:10:31.000 [notice] Bootstrapped 0% (starting): Starting
Feb 09 10:10:31.000 [notice] Starting with guard context âbridgesâ
Feb 09 10:10:31.000 [notice] Delaying directory fetches: No running bridges
Feb 09 10:10:31.000 [notice] Signaled readiness to systemd
Feb 09 10:10:31.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:31.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:31.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:31.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:31.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:31.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:31.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:31.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:31.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:31.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:31.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:31.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:31.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:31.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:31.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:31.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:31.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:31.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:31.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Feb 09 10:10:31.000 [notice] Application request when we havenât used client functionality lately. Optimistically trying known bridges again.
Where is the problem?
Thank you.
Sorry, it seems like I left it out in my previous post. Try adding managed to the end of your ClientTransportPlugin line. It seems to be important for systemd.
ClientTransportPlugin webtunnel exec /usr/bin/lyrebird managed
It also looks like you have an outdated version of Tor (most likely because of your apt repo), there you can install/update Tor from the official package repo. That doesnât affect the WebTunnel, but it affects your security and privacy. Keep in mind that you might have to use proxychains or torsocks to install/update Tor via the official repo, since it might be blocked for you.
Hello,
Thanks again. The Tor version is:
# tor --version
Tor version 0.4.8.16.
This build of Tor is covered by the GNU General Public License (
)
Tor is running on Linux with Libevent 2.1.12-stable, OpenSSL 3.5.4, Zlib 1.3.1, Liblzma 5.8.1, Libzstd 1.5.7 and Glibc 2.41 as libc.
Tor compiled with GCC version 14.2.0
I updated the line as follows:
ClientTransportPlugin webtunnel exec /usr/bin/lyrebird managed
But, I got the same error!!!
Find out more about setting permissions here. At least make it so the Tor-daemon user was able to execute lyrebird.
Donât forget to update your Tor version!
Yes, you might have figured that out.
Make sure lyrebird is executable.
Itâs just as if lyrebird isnât even getting startedâŚ
Oh wait, you have lyrebird executable only by root, as you mentioned before, thatâs bad. That means that Tor canât execute it. You have to modify the file permissions to fix that.