Browse Source

replace obfs4proxy with lyrebird

https://web.archive.org/web/20230826164815/https://git.alpinelinux.org/aports/commit/?id=08aa4bff0894ead479db96642aac67a4a0d1835
Fabian Peter Hammerle 8 months ago
parent
commit
de1c108a73
6 changed files with 19 additions and 10 deletions
  1. 5 0
      CHANGELOG.md
  2. 8 4
      Dockerfile
  3. 2 2
      Makefile
  4. 3 2
      README.md
  5. 0 1
      obfs4proxy-changelog.url
  6. 1 1
      torrc.template

+ 5 - 0
CHANGELOG.md

@@ -5,6 +5,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
 and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
 
 ## [Unreleased]
+### Changed
+- replaced [obfs4proxy](https://web.archive.org/web/20230826165902/https://gitlab.com/yawning/obfs4)
+  with [lyrebird](https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird)
+  (https://web.archive.org/web/20230826170256/https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40869,
+  https://web.archive.org/web/20230826170258/https://forum.torproject.org/t/lyrebird-and-obfs4-development/8244)
 
 ## [1.1.0] - 2021-05-11
 ### Added

+ 8 - 4
Dockerfile

@@ -1,13 +1,17 @@
-# https://pkgs.alpinelinux.org/packages?name=obfs4proxy&arch=x86_64
+# https://pkgs.alpinelinux.org/packages?name=lyrebird&arch=x86_64
 FROM docker.io/alpine:3.18.2
 
 # https://gitweb.torproject.org/tor.git/plain/ChangeLog
 # https://git.alpinelinux.org/aports/log/community/tor?h=3.18-stable
 ARG TOR_PACKAGE_VERSION=0.4.8.4-r0
+# https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird/-/blob/main/ChangeLog
+# https://git.alpinelinux.org/aports/log/testing/lyrebird
+# https://gitlab.com/yawning/obfs4/-/blob/master/ChangeLog
 # https://git.alpinelinux.org/aports/log/testing/obfs4proxy
-ARG OBFS4PROXY_PACKAGE_VERSION=0.0.14-r9
+# https://git.alpinelinux.org/aports/commit/?id=08aa4bff0894ead479db96642aac67a4a0d1835
+ARG LYREBIRD_PACKAGE_VERSION=0.1.0-r0
 RUN apk add --no-cache tor=$TOR_PACKAGE_VERSION \
-    && apk add --no-cache obfs4proxy=$OBFS4PROXY_PACKAGE_VERSION \
+    && apk add --no-cache lyrebird=$LYREBIRD_PACKAGE_VERSION \
         --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing
 
 #RUN apk add --no-cache \
@@ -29,6 +33,6 @@ CMD ["tor", "-f", "/tmp/torrc"]
 
 # https://github.com/opencontainers/image-spec/blob/v1.0.1/annotations.md
 ARG REVISION=
-LABEL org.opencontainers.image.title="tor bridge providing obfs4 obfuscation protocol" \
+LABEL org.opencontainers.image.title="tor bridge providing obfs4 obfuscation protocol via lyrebird" \
     org.opencontainers.image.source="https://github.com/fphammerle/docker-tor-obfs4-bridge" \
     org.opencontainers.image.revision="$REVISION"

+ 2 - 2
Makefile

@@ -1,7 +1,7 @@
 IMAGE_NAME = docker.io/fphammerle/tor-obfs4-bridge
 PROJECT_VERSION = $(shell git describe --match=v* --abbrev=0 --dirty | sed -e 's/^v//')
 TOR_PACKAGE_VERSION = $(shell grep -Po 'TOR_PACKAGE_VERSION=\K.+' Dockerfile | tr -d -)
-OBFS4PROXY_PACKAGE_VERSION = $(shell grep -Po 'OBFS4PROXY_PACKAGE_VERSION=\K.+' Dockerfile | tr -d -)
+LYREBIRD_PACKAGE_VERSION = $(shell grep -Po 'LYREBIRD_PACKAGE_VERSION=\K.+' Dockerfile | tr -d -)
 ARCH = $(shell arch)
 # architecture[arm_variant]
 # https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md#image-index-property-descriptions
@@ -10,7 +10,7 @@ IMAGE_TAG_ARCH_armv6l = armv6
 IMAGE_TAG_ARCH_armv7l = armv7
 IMAGE_TAG_ARCH_x86_64 = amd64
 IMAGE_TAG_ARCH = ${IMAGE_TAG_ARCH_${ARCH}}
-IMAGE_TAG = ${PROJECT_VERSION}-tor${TOR_PACKAGE_VERSION}-obfs4proxy${OBFS4PROXY_PACKAGE_VERSION}-${IMAGE_TAG_ARCH}
+IMAGE_TAG = ${PROJECT_VERSION}-tor${TOR_PACKAGE_VERSION}-lyrebird${LYREBIRD_PACKAGE_VERSION}-${IMAGE_TAG_ARCH}
 BUILD_PARAMS = --tag="${IMAGE_NAME}:${IMAGE_TAG}" \
 	--build-arg=REVISION="$(shell git rev-parse HEAD)"
 

+ 3 - 2
README.md

@@ -1,6 +1,7 @@
 # docker: tor obfs4 bridge 🐳
 
-Tor bridge running obfs4 obfuscation protocol on Alpine
+Tor bridge running obfs4 obfuscation protocol via
+[lyrebird](https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird) on Alpine
 
 Alpine port of https://dip.torproject.org/torproject/anti-censorship/docker-obfs4-bridge
 
@@ -24,7 +25,7 @@ when restarting the container
 additionally add `--read-only --tmpfs /tmp:rw,size=4k`
 to make the container's root filesystem read only
 
-verify status of bridge at  https://metrics.torproject.org/rs.html
+verify status of bridge at https://metrics.torproject.org/rs.html
 
 ## further reading
 

+ 0 - 1
obfs4proxy-changelog.url

@@ -1 +0,0 @@
-https://gitlab.com/yawning/obfs4/-/blob/master/ChangeLog

+ 1 - 1
torrc.template

@@ -7,7 +7,7 @@ DataDirectory /var/lib/tor
 SOCKSPort 0
 
 BridgeRelay 1
-ServerTransportPlugin obfs4 exec /usr/bin/obfs4proxy
+ServerTransportPlugin obfs4 exec /usr/bin/lyrebird
 ExtORPort auto
 ORPort {OR_PORT}
 ServerTransportListenAddr obfs4 0.0.0.0:{PT_PORT}