Files
tor-guard-relay/templates/docker-compose/docker-compose-bridge-official.yml
rE-Bo0t.bx1 be4f2bc125 feat(v1.1.7): Happy Family support (Tor 0.4.9+ FamilyId)
🔧 New tool: gen-family - generate/view Happy Family keys
  - Supports --force flag to overwrite existing keys without backup prompt

🐳 Dockerfiles: gen-family in both Dockerfile and Dockerfile.edge

🔧 Entrypoint:
- Phase 2: detect *.secret_family_key, log found keys (informational only)
- Guard/exit config gen: append FamilyId + MyFamily from ENV vars
- Bridge intentionally excluded

📊 Status tool: show family key count + Happy Family config state

📚 Docs:
- README: Happy Family section (generate / import), persistence table, flowchart
- ARCHITECTURE: all mermaid diagrams updated (Phase 2, config gen, tools, dirs)
- TOOLS: full gen-family reference with examples and exit codes
- DEPLOYMENT, MIGRATION, MIGRATION-V1.1.X, TROUBLESHOOTING: 5 -> 6 tools
- FAQ, example configs: version bump + FamilyId/MyFamily placeholders
- Directory authority voting: how 9 dirauths vote on relay flags (5/9 consensus)
- CIISS v2 ContactInfo: field reference, generator link, proof:uri-rsa verification
- All TOR_CONTACT_INFO examples updated to CIISS v2 format across templates and docs

📋 Templates:
- Guard/exit/multi-relay compose: TOR_FAMILY_ID + TOR_MY_FAMILY env vars
- All cosmos-compose + docker-compose versions -> 1.1.7

👷 CI: validate.yml gen-family in 8 spots (threshold 6), security tests, quick-test

🛡️ SECURITY.md: 1.1.7 active, 1.1.6 maintenance, gen-family in tools list

🔖 Version bump 1.1.6 -> 1.1.7 across 30+ files, tool count 5 -> 6, CHANGELOG entry

No breaking changes. TOR_FAMILY_ID and TOR_MY_FAMILY are optional.
2026-03-02 16:23:10 +08:00

53 lines
1.5 KiB
YAML

version: "3.8"
services:
obfs4-bridge:
image: r3bo0tbx1/onion-relay:latest
container_name: obfs4-bridge
restart: unless-stopped
network_mode: host
environment:
- OR_PORT=${OR_PORT:-9001}
- PT_PORT=${PT_PORT:-9002}
- EMAIL=${EMAIL:?EMAIL is required}
- NICKNAME=${NICKNAME:-DockerObfs4Bridge}
- OBFS4_ENABLE_ADDITIONAL_VARIABLES=${OBFS4_ENABLE_ADDITIONAL_VARIABLES:-1}
- OBFS4V_AddressDisableIPv6=${OBFS4V_AddressDisableIPv6:-0}
- OBFS4V_MaxMemInQueues=${OBFS4V_MaxMemInQueues:-1024 MB}
- OBFS4V_BandwidthRate=10 MBytes
- OBFS4V_BandwidthBurst=20 MBytes
- OBFS4V_AccountingMax=100 GBytes
- OBFS4V_AccountingStart=month 1 00:00
- TZ=${TZ:-UTC}
volumes:
- obfs4-data:/var/lib/tor
- obfs4-logs:/var/log/tor
security_opt:
- no-new-privileges:true
cap_add:
- NET_BIND_SERVICE
- CHOWN
- SETUID
- SETGID
- DAC_OVERRIDE
cap_drop:
- ALL
healthcheck:
test: ["CMD-SHELL", "/usr/local/bin/healthcheck.sh"]
interval: 60s
timeout: 10s
retries: 3
start_period: 120s
labels:
com.centurylinklabs.watchtower.enable: "true"
description: "Tor obfs4 Bridge - Drop-in replacement for thetorproject/obfs4-bridge"
version: "1.1.7"
maintainer: "rE-Bo0t.bx1 <r3bo0tbx1@brokenbotnet.com>"
volumes:
obfs4-data:
name: tor-datadir-${OR_PORT:-9001}-${PT_PORT:-9002}
driver: local
obfs4-logs:
name: tor-logs-${OR_PORT:-9001}-${PT_PORT:-9002}
driver: local