brunneis / tor-relay-docker Goto Github PK
View Code? Open in Web Editor NEWTor relay Docker images for x86-64, armhf & arm64 (from source)
Home Page: https://www.torproject.org/download/
License: GNU General Public License v3.0
Tor relay Docker images for x86-64, armhf & arm64 (from source)
Home Page: https://www.torproject.org/download/
License: GNU General Public License v3.0
While running the image brunneis/tor-relay:0.4.6.6_armhf
I had this following error and was unable to start the service.
it seems to be an issue on tor side, maybe 0.4.6.7 resolves this.
============================================================ T= 0
INTERNAL ERROR: Raw assertion failed in Tor 0.4.6.6 at src/lib/wallclock/tor_gettimeofday.c:70: 0
gettimeofday failed
/usr/local/bin/tor(dump_stack_symbols_to_error_fds+0x39)[0x54e4be]
/usr/local/bin/tor(tor_raw_assertion_failed_msg_+0x6f)[0x54ebac]
/usr/local/bin/tor(tor_gettimeofday+0x47)[0x56a390]
/usr/local/bin/tor(+0xb5e98)[0x555e98]
/usr/local/bin/tor(log_fn_+0x33)[0x556614]
/usr/local/bin/tor(tor_assertion_failed_+0x61)[0x5577be]
/usr/local/bin/tor(monotime_get+0x4f)[0x564f20]
/usr/local/bin/tor(+0xc5054)[0x565054]
/usr/local/bin/tor(+0xc57f0)[0x5657f0]
/usr/local/bin/tor(subsystems_init_upto+0x7d)[0x52e3a2]
/usr/local/bin/tor(tor_run_main+0x45)[0x4e9872]
/usr/local/bin/tor(tor_main+0x27)[0x4e8534]
/usr/local/bin/tor(main+0x17)[0x4e8128]
/lib/arm-linux-gnueabihf/libc.so.6(__libc_start_main+0x97)[0xb6b9f9a4]
It works fine with brunneis/tor-relay:0.3.5.7_armhf
but this version is not recommended by tor project
I see no way to set a password on the control port. When launching the node, it complains that the port is open for anyone to reconfigure Tor. I tried editing env.sh and torrc inside the container but the container has no editor that I can find. I assume no editor was done for security and space reasons but I see no command to either set the control port password or remove the control port when running a new container in the documentation.
I'd like to run an IPv6 relay, because apparently there's not enough IPv6 capable relays online. However, this requires me to set two ORPort
lines in torrc, like so
ORPort 9001
ORPort [2001:DB8::1]:9001
This is also documented in the Tor relay operators IPv6 HOWTO.
Currently, I can only set one such line through the OR_PORT
environment variable. I'm not sure about the best way to define this, since defining multiple environment variables with the same names is not well-supported... Maybe split at whitespace for just the OR_PORT
variable? Like so:
OR_PORT="9001 [2001:DB8::1]:9001"
It's not pretty, but it should do the trick. Anyway, thanks for providing this image :)
Is there a way that you could automatically update the Dockerhub images with the latest Tor client once there's a new release?
The recently published docker image with tag 0.4.0.5_x86-64
still uses TOR version 0.3.5.7
.
I've looked into this and figured out that the TOR version is hardcoded in the Dockerfile. Instead, the version in environment variable $TOR_VERSION
should be used, which is set in env.sh, but here is where it gets strange...
I tried to fix this code and submit a quick PR, but I couldn't get it working, because the environment variables were always empty. Well, turns out you can't access the environemt variables of your shell in Dockerfiles, so if we want to make use of the variables in env.sh
, we should use ARG
statements in the dockerfile and pass the variables as --build-arg
s to the docker build call.
However, you could just change the hardcoded TOR version in the Dockerfile and do the proper fix another time ;)
Most of the time I set AccountingMax
and AccountingStart
. It would be great if we could set this two parameters as well as an environment variable.
The entrypoint.sh
script will try to create a tor user with UID 0 which already exists as the root user within the cointainer.
Looking through the code, I found control port could be edited but nowhere on GitHub's documentation or Docker's documentation does it mention this.
hi,
I am trying to run a middle relay, but the container doesn't start.
in the log there is only "No passwd entry for user 'tor' ", any idea?
thanks
No way to set MyFamily value.
Relay needs a way to advertise it bandwidth.
I don't see update script update-relay.sh in build brunneis/tor-relay:x86-64 so I have no way to update the software. Also, the current version in docker tor-relay-docker (0.3.5.7) gets a complaint that it is out of date.
I would like to set the ORPort with the IPv4Only flag like so:
- OPPort = 9001 IPv4Only
Unfortunately currently the environment variable ORPort is split by whitespace, which then creates two separate ORPort entries in the torrc file.
What would be the best way to achieve this? I currently have two ideas:
Looks like current latest version supported is Tor 0.4.0.5.
Tor 0.4.0.x will be EOL in a few months (Feb 2, 2020)
https://trac.torproject.org/projects/tor/wiki/org/teams/NetworkTeam/CoreTorReleases#Current
Would be great to get support for current stable releases.
First of all, thx for updating the repo to the latest tor
version ๐
However, I think only the x86-64 architecture has been pushed to docker hub.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.