31 Commits

Author SHA1 Message Date
renovate[bot]
6f9f025fe5 🏗️(build): update docker/dockerfile Docker tag to v1.23
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-01 22:00:30 +08:00
renovate[bot]
783126060d 🏗️ build(deps): bump docker/dockerfile from v1.21 to v1.22
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-04 10:42:07 +08:00
rE-Bo0t.bx1
6fab7ebcac 🐛 fix: update vendor label + Refs: be4f2bc125
🐳 Dockerfiles: match username in Dockerfile and Dockerfile.edge
2026-03-04 10:26:52 +08:00
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
dependabot[bot]
be6bbf7977 🏗️ build(deps): bump golang from 1.26rc3-alpine to 1.26-alpine
Bumps golang from 1.26rc3-alpine to 1.26-alpine.

---
updated-dependencies:
- dependency-name: golang
  dependency-version: 1.26-alpine
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-11 09:19:00 +05:30
rE-Bo0t.bx1
90b65ee469 🔖 release(v1.1.6): bind mount fix, full repo audit, workflow fixes
🔧 Entrypoint:
- Detect wrong ownership on /var/lib/tor and /var/lib/tor/keys at startup
  with actionable chown commands before Tor fails cryptically in Phase 4
- Accept DEBUG=TRUE, DEBUG=1, DEBUG=yes (case-insensitive)
- Fix signal trap bug: inner cleanup_verify_tmp no longer overwrites
  the global TERM/INT handler (could skip graceful shutdown)

🛡️ Security:
- Deprecate all versions < v1.1.5 (CVE-2025-15467, OpenSSL CVSS 9.8)
- Add deprecation notice to README and SECURITY.md
- Update lifecycle tables in CHANGELOG and SECURITY

🐛 Bug Fixes:
- Fix bootstrap detection in migrate-from-official.sh
  (parsed non-existent "bootstrap_percent" field — now "bootstrap")
- Fix health JSON docs across 4 files: uptime_seconds → uptime,
  add missing pid/errors fields, correct reachable type to string
- Fix validate.yml: bash -n → sh -n (POSIX script, not bash)

📚 Documentation:
- Add "Bind Mount Ownership" troubleshooting section to README
- Fix chown 1000:1000 typo → 100:101 in TROUBLESHOOTING-BRIDGE-MIGRATION.md
- Add [1.1.6] changelog entry
- Update version references across 20+ files to v1.1.6
- Update 47x alpine:3.22.2 → 3.23.3 across migration docs/scripts
- Fix tool count 4 → 5 in DEPLOYMENT, ARCHITECTURE, TROUBLESHOOTING
- Remove 5 broken links (CLAUDE.md, CONTRIBUTORS.md, SECURITY-AUDIT-REPORT.md)
- Fix stale image tags (:1.1.1/:1.1.2 → :latest) in 4 files
- Rewrite PR template as clean reusable form

⚙️ Workflow (release.yml):
- Fix duplicate title in release body (name + body both had ## 🧅 header)
- Fix trailing --- not being stripped from changelog extract
- Fix Full Changelog link comparing current tag to itself
- Extract Alpine version from Dockerfile instead of hardcoding
- Add fetch-depth: 0 for git history in release-notes job
- Fix fallback commit range when no conventional commits found

🐳 Dockerfiles:
- Fix stale base.name label (alpine:3.23.0 → alpine:3.23.3)
- Fix trailing whitespace after backslash in Dockerfile.edge

📋 Templates:
- Update cosmos-compose and docker-compose versions to 1.1.6
2026-02-08 16:04:22 +05:30
dependabot[bot]
17ca6cf5df 🏗️ build(deps): bump golang from 1.25.6-alpine to 1.26rc3-alpine
Bumps golang from 1.25.6-alpine to 1.26rc3-alpine.

---
updated-dependencies:
- dependency-name: golang
  dependency-version: 1.26rc3-alpine
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: rE-Bo0t.bx1 <54429050+r3bo0tbx1@users.noreply.github.com>
2026-02-05 17:24:40 +05:30
renovate[bot]
a76a501bb9 🏗️ (build): update docker/dockerfile Docker tag to v1.21
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-31 20:56:22 +05:30
renovate[bot]
8b3de1ca66 🏗️ build(deps): Update golang Docker tag to v1.25.6
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-18 05:02:08 +08:00
rE-Bo0t.bx1
6b1361923e 🐛 fix(docker): correct spacing in 'go get' command for interceptor dependency in Dockerfile and Dockerfile.edge 2026-01-12 19:53:33 +08:00
rE-Bo0t.bx1
2836264996 🐛 fix(docker): correct line continuation in git clone command in Dockerfile and Dockerfile.edge 2026-01-12 19:48:19 +08:00
rE-Bo0t.bx1
c735b350c0 🐛 fix(docker): update dependency management in Dockerfile and Dockerfile.edge to use specific versions for improved stability 2026-01-12 19:43:58 +08:00
rE-Bo0t.bx1
2e14d0bdc5 🐛 fix(docker): update dependency management in Dockerfile and Dockerfile.edge to use 'go get -u' after module replacement 2026-01-12 19:40:05 +08:00
rE-Bo0t.bx1
19da41b87b 🐛 fix(docker): update dependency management in Dockerfile and Dockerfile.edge 2026-01-12 19:24:52 +08:00
rE-Bo0t.bx1
879084c11e 🐛 fix(docker): replace 'go get -u' and 'go mod tidy' with 'go mod download' for improved dependency management 2026-01-12 19:11:49 +08:00
rE-Bo0t.bx1
5120d0d0e9 feat(v1.1.4): modernize templates, security, and build variants
This update refines the Tor relay configuration and build process:
- Security: Disables DirPort and adopts ciissversion:2 for ContactInfo.
- Performance: Adds IPv6 support and hardware acceleration options.
- Builds: Establishes Stable vs. Edge variants for better testing cycles.
- Tooling: Integrates nyx.config and cleans up legacy tags.
- Sync: Aligns cosmos-compose and docker-compose templates.
- Update retention policy: Keep last 7 versions

No breaking changes introduced.
2025-12-21 03:14:39 +08:00
rE-Bo0t.bx1
0cb81450f7 🛠️ chore(docker,ci): update image metadata and simplify workflows
- 🐋 docker: update image title and description for stable and edge
- 👷 workflows: simplify names for release and validate files
2025-12-05 18:12:19 +08:00
rE-Bo0t.bx1
62859da5ab 🐋 feat(docker): update image title labels for stable and edge Dockerfiles 2025-12-05 04:46:54 +08:00
rE-Bo0t.bx1
0ff36e97a2 🐋 fix(docker): replace auth-gen with gen-auth in Dockerfile and Dockerfile.edge 2025-12-05 04:40:52 +08:00
rE-Bo0t.bx1
a28ce0a4e6 feat: add gen-auth tool and refactor compose templates
Major refactor of Docker Compose configurations and tooling enhancements.

-  Add `gen-auth` script for generating Tor Control Port credentials
- 🐳 Refactor Docker Compose templates:
  - Add native healthcheck configurations to all relay/bridge files
  - Standardize security capabilities (drop ALL, add SETUID/SETGID)
  - Remove verbose comments to streamline template usage
  - Update volume definitions for better data persistence
- 🔧 Update base dependencies:
  - Alpine Linux -> 3.23.0
  - Golang -> 1.25.5-alpine
- 🧹 Standardize ENV variable names across all configurations
2025-12-05 04:37:19 +08:00
dependabot[bot]
ba7d822420 build(deps): bump golang from 1.25-alpine to 1.25.5-alpine (#12)
Bumps golang from 1.25-alpine to 1.25.5-alpine.

---
updated-dependencies:
- dependency-name: golang
  dependency-version: 1.25.5-alpine
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-05 03:23:49 +08:00
rE-Bo0t.bx1
7f9f6c328d 🐋 fix(docker): enforce UID 100 for tor user to resolve permission conflicts
Recent Alpine base images introduce a 'klogd' user at UID 100, which forced
the 'tor' package to install as UID 101. This caused "Permission denied"
errors for existing data volumes owned by UID 100.

This fix:
- Removes the conflicting 'klogd' user
- Manually creates the 'tor' user with fixed UID 100 / GID 101
- Ensures compatibility with existing persistent volumes
2025-12-01 01:40:01 +08:00
renovate[bot]
84b32e1ce9 🏗️ build(deps): upgrade Golang Docker tag to v1.25
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-21 03:07:17 +08:00
rE-Bo0t.bx1
83674c71fe 🏗️ build(deps): downgrade golang docker tag to v1.24 2025-11-21 02:51:40 +08:00
renovate[bot]
5a6406b1c2 build Update golang Docker tag to v1.25 (#9)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-21 02:35:08 +08:00
rE-Bo0t.bx1
31faba35b1 🛡 fix(security): remove musl and openssl from Dockerfile to streamline dependencies 2025-11-20 23:58:23 +08:00
rE-Bo0t.bx1
51af5d0ecc 🛡 fix(security): add musl and openssl to Dockerfile for improved security and compatibility 2025-11-20 23:46:42 +08:00
rE-Bo0t.bx1
ed513c9852 🛡 fix(security): resolve critical CVEs via multi-stage build and OS upgrade
This commit addresses high-severity vulnerabilities detected by Docker Scout in both the Lyrebird binary and the Alpine base image.

Changes:
- Lyrebird: Implemented a multi-stage build using golang:1.24-alpine. This compiles Lyrebird from source to resolve "baked-in" Go runtime and dependency vulnerabilities (stdlib, crypto, pion) found in the upstream Alpine package.
- Base OS: Added apk upgrade --no-cache to force the installation of the latest system libraries, patching active CVEs in musl and openssl.

Resolves: CVE-2025-9230 (openssl), CVE-2025-26519 (musl), and multiple Go runtime CVEs.
2025-11-20 23:22:24 +08:00
rE-Bo0t.bx1
2af8ec9565 🛡 fix(security): resolve critical CVEs via multi-stage build and OS upgrade
This commit addresses high-severity vulnerabilities detected by Docker Scout in both the Lyrebird binary and the Alpine base image.

Changes:
- Lyrebird: Implemented a multi-stage build using golang:1.24-alpine. This compiles Lyrebird from source to resolve "baked-in" Go runtime and dependency vulnerabilities (stdlib, crypto, pion) found in the upstream Alpine package.
- Base OS: Added apk upgrade --no-cache to force the installation of the latest system libraries, patching active CVEs in musl and openssl.

Resolves: CVE-2025-9230 (openssl), CVE-2025-26519 (musl), and multiple Go runtime CVEs.
2025-11-20 23:16:35 +08:00
rE-Bo0t.bx1
de1fdaa2aa 🛡 fix(security): compile lyrebird from source to resolve Go runtime CVEs
- Implements multi-stage build in `Dockerfile` and `Dockerfile.edge` using `golang:1.24-alpine` to compile `lyrebird` from official source.
- Resolves high-severity vulnerabilities in `stdlib`, `crypto`, and `pion` by enforcing latest Go runtime and dependency updates (`go get -u`).
- Maintains minimal image footprint by discarding the build toolchain and copying only the stripped binary to the final Alpine image.
2025-11-20 21:26:06 +08:00
rE-Bo0t.bx1
a94d409f2b feat(v1.1.2): Alpine edge variant, dual CI, GHCR edge builds 🚀
- Add Dockerfile.edge 🐚🔧
- Add stable and edge CI matrix 🔁📦
- GHCR edge-only deployment 🟣📤
- SBOMs for both variants 📜🔍
- Tests, screenshots, logo 🧪🖼️
- Update docs and PR template 📝
- Remove dependabot.yml 🗑️
2025-11-17 22:38:30 +08:00