mirror of
https://github.com/r3bo0tbx1/tor-guard-relay.git
synced 2026-04-06 00:32:04 +02:00
📚 fix(docs): update image size references from 17.1 MB to 16.8 MB across documentation and scripts
- YEAH IT GOT EVEN SMALLER!!! 🪽
This commit is contained in:
@@ -69,7 +69,7 @@ BREAKING CHANGES: None
|
||||
|
||||
### 🚀 Major Release: Ultra-Optimized Build + Security Hardening + Configuration Enhancement
|
||||
|
||||
**This is a major architectural release** migrating from a dual-build structure (45MB) to a single ultra-optimized 17.1 MB build with busybox-only dependencies, comprehensive security hardening, simplified multi-mode operation, and enhanced configuration documentation.
|
||||
**This is a major architectural release** migrating from a dual-build structure (45MB) to a single ultra-optimized 16.8 MB build with busybox-only dependencies, comprehensive security hardening, simplified multi-mode operation, and enhanced configuration documentation.
|
||||
|
||||
### ✨ Core Features
|
||||
|
||||
@@ -77,7 +77,7 @@ BREAKING CHANGES: None
|
||||
* 🌉 **Bridge relay with obfs4** - Integrated lyrebird for pluggable transport (drop-in replacement for `thetorproject/obfs4-bridge`)
|
||||
* 🔧 **ENV-based configuration** - Full relay setup via environment variables (TOR_*, official bridge naming compatible)
|
||||
* 📊 **Smart diagnostics** - 4 busybox-only tools: `status`, `health`, `fingerprint`, `bridge-line`
|
||||
* 📉 **Image size** - Reduced from ~45MB to ~17.1 MB (busybox-only, no bash/python/jq)
|
||||
* 📉 **Image size** - Reduced from ~45MB to ~16.8 MB (busybox-only, no bash/python/jq)
|
||||
* 🩺 **Smart healthcheck** - New `healthcheck.sh` works with both mounted configs and ENV variables
|
||||
* 🔄 **Weekly rebuilds** - Automated Sunday 18:30 UTC rebuilds with latest Alpine/Tor patches (same version tag, fresh packages)
|
||||
|
||||
@@ -170,7 +170,7 @@ BREAKING CHANGES: None
|
||||
* **CRITICAL**: Fixed missing Tor bootstrap logs in container output (added `Log notice stdout`)
|
||||
* Fixed healthcheck failures on ENV-based deployments
|
||||
* Fixed version references across all scripts and documentation
|
||||
* Corrected image size documentation (~35MB → ~17.1 MB)
|
||||
* Corrected image size documentation (~35MB → ~16.8 MB)
|
||||
|
||||
### 🔄 Migration Path
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ RUN git clone https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transp
|
||||
&& CGO_ENABLED=0 go build -ldflags="-s -w" -o /usr/bin/lyrebird ./cmd/lyrebird
|
||||
|
||||
# ============================================================================
|
||||
# Final Stage: Tor Guard Relay - Ultra-optimized ~17.1 MB container
|
||||
# Final Stage: Tor Guard Relay - Ultra-optimized ~16.8 MB container
|
||||
# ============================================================================
|
||||
FROM alpine:3.22.2
|
||||
|
||||
@@ -27,7 +27,7 @@ ARG TARGETARCH
|
||||
|
||||
LABEL maintainer="rE-Bo0t.bx1 <r3bo0tbx1@brokenbotnet.com>" \
|
||||
org.opencontainers.image.title="Tor Guard Relay" \
|
||||
org.opencontainers.image.description="🧅 Ultra-optimized Tor Guard/Exit/Bridge Relay AIO (~17.1 MB)" \
|
||||
org.opencontainers.image.description="🧅 Ultra-optimized Tor Guard/Exit/Bridge Relay AIO (~16.8 MB)" \
|
||||
org.opencontainers.image.version="${BUILD_VERSION}" \
|
||||
org.opencontainers.image.created="${BUILD_DATE}" \
|
||||
org.opencontainers.image.source="https://github.com/r3bo0tbx1/tor-guard-relay" \
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
### Why Choose This Project?
|
||||
|
||||
- 🛡️ **Security-First** - Hardened Alpine Linux, non-root operation
|
||||
- 🪶 **Very light** - Ultra-minimal 17.1 MB image
|
||||
- 🪶 **Very light** - Ultra-minimal 16.8 MB image
|
||||
- 🎯 **Simple** - One command to deploy, minimal configuration needed
|
||||
- 📊 **Observable** - 4 busybox-only diagnostic tools with JSON health API
|
||||
- 🌉 **Multi-Mode** - Supports guard, exit, and bridge (obfs4) relays
|
||||
@@ -55,7 +55,7 @@
|
||||
|
||||
Diagnostics are run only through `docker exec`, with no exposed monitoring ports.
|
||||
|
||||
Minimal surface area, roughly 17.1 MB.
|
||||
Minimal surface area, roughly 16.8 MB.
|
||||
|
||||
<br>
|
||||
|
||||
@@ -312,7 +312,7 @@ STATUS=$(echo "$HEALTH" | jq -r '.status')
|
||||
|
||||
### Security & Reliability
|
||||
- ✅ Non-root execution (runs as `tor` user)
|
||||
- ✅ Ultra-minimal Alpine Linux base (**~17.1 MB**)
|
||||
- ✅ Ultra-minimal Alpine Linux base (**~16.8 MB**)
|
||||
- ✅ Busybox-only tools (no bash/python dependencies)
|
||||
- ✅ Automatic permission healing on startup
|
||||
- ✅ Configuration validation before start
|
||||
@@ -767,7 +767,7 @@ All images auto-published to Docker Hub and GitHub Container Registry
|
||||

|
||||
|
||||
**Current Version:** v1.1.2 • **Status:** Production Ready
|
||||
**Image Size:** 17.1 MB • **Rebuild:** Weekly
|
||||
**Image Size:** 16.8 MB • **Rebuild:** Weekly
|
||||
**Registries:** Docker Hub • GHCR
|
||||
|
||||
</div>
|
||||
|
||||
@@ -30,7 +30,7 @@ We actively support the following versions with security updates:
|
||||
- ✅ **NO monitoring HTTP endpoints** - Removed for maximum security
|
||||
- ✅ **NO exposed metrics ports** - All monitoring via `docker exec` only
|
||||
- ✅ **Only Tor protocol ports exposed** - ORPort, DirPort (configurable), obfs4 (bridge mode)
|
||||
- ✅ **~17.1 MB image** - Minimal attack surface
|
||||
- ✅ **~16.8 MB image** - Minimal attack surface
|
||||
|
||||
### Public Port Exposure (Configurable)
|
||||
|
||||
@@ -90,7 +90,7 @@ This project uses **host networking mode** (`--network host`) for best Tor perfo
|
||||
- ✅ Runs as non-root user (`tor` UID 100)
|
||||
- ✅ Drops all capabilities, adds only required ones
|
||||
- ✅ Uses `no-new-privileges:true`
|
||||
- ✅ Minimal Alpine Linux base (~17.1 MB)
|
||||
- ✅ Minimal Alpine Linux base (~16.8 MB)
|
||||
- ✅ No exposed monitoring ports
|
||||
- ✅ Automatic permission healing
|
||||
|
||||
@@ -429,7 +429,7 @@ echo "relay.conf" >> .gitignore
|
||||
* Drops all capabilities by default
|
||||
* Adds only NET_BIND_SERVICE, CHOWN, SETUID, SETGID, DAC_OVERRIDE
|
||||
* Uses `no-new-privileges:true`
|
||||
* Ultra-minimal Alpine base (~17.1 MB)
|
||||
* Ultra-minimal Alpine base (~16.8 MB)
|
||||
* NO monitoring HTTP endpoints to attack
|
||||
* Automatic permission healing
|
||||
* Configuration validation before start
|
||||
@@ -473,7 +473,7 @@ chown tor:tor /var/lib/tor
|
||||
### Built-in Protections
|
||||
|
||||
* ✅ Non-root operation (user `tor` UID 100)
|
||||
* ✅ Minimal base image (Alpine Linux ~17.1 MB)
|
||||
* ✅ Minimal base image (Alpine Linux ~16.8 MB)
|
||||
* ✅ Drops all capabilities, adds only required ones
|
||||
* ✅ Read-only configuration mount
|
||||
* ✅ Automatic permission healing
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
# docker-entrypoint.sh - Tor Guard Relay initialization and process management
|
||||
# 🆕 v1.1.2 - Ultra-optimized 17.1 MB build with multi-mode support
|
||||
# 🆕 v1.1.2 - Ultra-optimized 16.8 MB build with multi-mode support
|
||||
|
||||
set -e
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ This container implements a production-ready Tor relay with three operational mo
|
||||
|
||||
**Design Principles:**
|
||||
- POSIX sh compatibility (busybox ash, no bash)
|
||||
- Minimal dependencies (~17.1 MB total image)
|
||||
- Minimal dependencies (~16.8 MB total image)
|
||||
- Security-first (non-root, minimal capabilities, strict validation)
|
||||
- Multi-architecture (AMD64, ARM64)
|
||||
- Production-ready (graceful shutdown, health checks, observability)
|
||||
|
||||
@@ -30,7 +30,7 @@ Built on Alpine Linux 3.22.2 with a minimal 20MB image size, busybox-only tools,
|
||||
|
||||
| Feature | This Project | Official Images |
|
||||
|---------|--------------|-----------------|
|
||||
| **Image size** | ~17.1 MB | ~100+ MB |
|
||||
| **Image size** | ~16.8 MB | ~100+ MB |
|
||||
| **Base** | Alpine 3.22.2 | Debian |
|
||||
| **Diagnostics** | 4 busybox tools + JSON API | None |
|
||||
| **Multi-mode** | Guard/Exit/Bridge in one image | Separate images |
|
||||
@@ -468,7 +468,7 @@ docker exec tor-relay fingerprint
|
||||
|
||||
**Security features:**
|
||||
- ✅ Non-root execution (tor user, UID 100, GID 101)
|
||||
- ✅ Ultra-minimal image (~17.1 MB, Alpine 3.22.2)
|
||||
- ✅ Ultra-minimal image (~16.8 MB, Alpine 3.22.2)
|
||||
- ✅ Busybox-only (no bash, python, or unnecessary binaries)
|
||||
- ✅ No exposed monitoring ports (diagnostics via `docker exec` only)
|
||||
- ✅ Weekly automated security rebuilds (Sundays 18:30 UTC)
|
||||
|
||||
@@ -279,7 +279,7 @@ After building locally:
|
||||
- [ ] Diagnostic tools produce correct output
|
||||
- [ ] Input validation catches invalid values
|
||||
- [ ] OBFS4V_* whitelist blocks dangerous options
|
||||
- [ ] Image size is ~17.1 MB (`docker images localhost:5000/onion-relay:test`)
|
||||
- [ ] Image size is ~16.8 MB (`docker images localhost:5000/onion-relay:test`)
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
# security-validation-tests.sh - Security validation for Tor Guard Relay v1.1.1
|
||||
# Tests security features of the ultra-optimized 17.1 MB build
|
||||
# Tests security features of the ultra-optimized 16.8 MB build
|
||||
|
||||
set -e
|
||||
|
||||
@@ -273,8 +273,8 @@ echo "Test 7: Documentation"
|
||||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||
|
||||
if [ -f README.md ]; then
|
||||
if grep -iq "20\s*MB\|~17.1MB" README.md; then
|
||||
test_pass "README mentions 17.1MB size"
|
||||
if grep -iq "20\s*MB\|~16.8MB" README.md; then
|
||||
test_pass "README mentions 16.8MB size"
|
||||
else
|
||||
test_warn "README doesn't mention optimized size"
|
||||
fi
|
||||
|
||||
@@ -159,7 +159,7 @@
|
||||
"tor-relay-3-logs": { "driver": "local" }
|
||||
},
|
||||
"metadata": {
|
||||
"description": "🧅 Tor Guard Multi-Relay Stack - 3 relays with ultra-optimized 17.1 MB containers",
|
||||
"description": "🧅 Tor Guard Multi-Relay Stack - 3 relays with ultra-optimized 16.8 MB containers",
|
||||
"version": "1.1.2",
|
||||
"author": "r3bo0tbx1",
|
||||
"tags": ["tor", "relay", "privacy", "multi-relay"]
|
||||
|
||||
@@ -10,7 +10,7 @@ version: "3.8"
|
||||
# - Weekly security rebuilds (Sundays 18:30 UTC)
|
||||
# - 4 diagnostic tools (status, health, fingerprint, bridge-line)
|
||||
# - JSON health API for monitoring integration
|
||||
# - Ultra-minimal 17.1 MB Alpine Linux base
|
||||
# - Ultra-minimal 16.8 MB Alpine Linux base
|
||||
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
services:
|
||||
|
||||
Reference in New Issue
Block a user