Browse Source

set onion svc version via $VERSION, default: v3

Fabian Peter Hammerle 5 years ago
parent
commit
b0d1116368
4 changed files with 24 additions and 6 deletions
  1. 9 4
      Dockerfile
  2. 4 1
      README.md
  3. 10 0
      entrypoint.sh
  4. 1 1
      torrc.template

+ 9 - 4
Dockerfile

@@ -8,9 +8,14 @@ VOLUME /onion-service
 
 COPY --chown=onion:nobody torrc.template /
 
-USER onion
-
+ENV VERSION 3
 ENV VIRTUAL_PORT 80
 ENV TARGET 127.0.0.1:8080
-CMD sed -e "s#{virtual_port}#$VIRTUAL_PORT#" -e "s#{target}#$TARGET#" /torrc.template >/tmp/torrc \
-    && tor -f /tmp/torrc
+
+COPY entrypoint.sh /
+RUN chmod a+rx /entrypoint.sh
+ENTRYPOINT ["/entrypoint.sh"]
+
+USER onion
+
+CMD ["tor", "-f", "/tmp/torrc"]

+ 4 - 1
README.md

@@ -4,6 +4,8 @@ repo: https://github.com/fphammerle/docker-onion-service
 
 docker hub: https://hub.docker.com/r/fphammerle/onion-service
 
+defaults to creating a [v3](https://trac.torproject.org/projects/tor/wiki/doc/NextGenOnions) service
+
 ## example 1
 
 ```sh
@@ -16,6 +18,7 @@ $ docker run --name onion-service \
 
 ```sh
 $ docker create --name onion-service \
+    --env VERSION=3 \
     --env VIRTUAL_PORT=80 \
     --env TARGET=1.2.3.4:8080 \
     --volume onion-key:/onion-service \
@@ -30,5 +33,5 @@ $ docker start onion-service
 
 ```sh
 $ docker exec onion-service cat /onion-service/hostname
-abcdefghijklmnop.onion
+abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrst.onion
 ```

+ 10 - 0
entrypoint.sh

@@ -0,0 +1,10 @@
+#!/bin/sh
+
+set -ex
+
+sed -e "s#{version}#$VERSION#" \
+    -e "s#{virtual_port}#$VIRTUAL_PORT#" \
+    -e "s#{target}#$TARGET#" \
+    /torrc.template >/tmp/torrc
+
+exec "$@"

+ 1 - 1
torrc.template

@@ -5,5 +5,5 @@ SOCKSPort 0
 
 # https://www.torproject.org/docs/tor-onion-service
 HiddenServiceDir /onion-service
-# consider HiddenServiceVersion 3
+HiddenServiceVersion {version}
 HiddenServicePort {virtual_port} {target}