53 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
dependabot[bot]
b7fbc05599 🏗️ build(deps): bump alpine from 3.23.2 to 3.23.3
Bumps alpine from 3.23.2 to 3.23.3.

---
updated-dependencies:
- dependency-name: alpine
  dependency-version: 3.23.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-31 20:31:27 +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
dependabot[bot]
ce8cd42875 🏗️ build(deps): bump alpine from 3.23.0 to 3.23.2
Bumps alpine from 3.23.0 to 3.23.2.

---
updated-dependencies:
- dependency-name: alpine
  dependency-version: 3.23.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-21 01:50:37 +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]
1907745fff 🏗️ build(deps): bump alpine from 3.22.2 to 3.23.0 (#11)
Bumps alpine from 3.22.2 to 3.23.0.

---
updated-dependencies:
- dependency-name: alpine
  dependency-version: 3.23.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-05 03:30:05 +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
bd86e906f4 📚 fix(docs): update image size references from 17.1 MB to 16.8 MB across documentation and scripts
- YEAH IT GOT EVEN SMALLER!!! 🪽
2025-11-21 00:29:59 +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
a294d1b110 📝 docs(v1.1.1): Documentation, templates, and CI/CD enhancements
- 📘 Added comprehensive docs including FAQ, architecture, and migration guides
- 🧩 Introduced new and updated example configs and templates
- 🧾 Added a pull request template for contributor workflow
- 🧪 Enhanced CI/CD with SBOM generation and improved release notes
- 🛡️ Expanded Trivy security scanning coverage in pipelines
- 🔗 Updated README to reference new docs and the quick start script
2025-11-14 17:55:58 +08:00
rE-Bo0t.bx1
a9c1011d45 📝 docs(v1.1.1): Documentation, templates, and CI/CD enhancements
- 📘 Added comprehensive docs including FAQ, architecture, and migration guides
- 🧩 Introduced new and updated example configs and templates
- 🧾 Added a pull request template for contributor workflow
- 🧪 Enhanced CI/CD with SBOM generation and improved release notes
- 🛡️ Expanded Trivy security scanning coverage in pipelines
- 🔗 Updated README to reference new docs and the quick start script
2025-11-14 17:52:48 +08:00
rE-Bo0t.bx1
26fd9154e3 📝 docs(v1.1.1): Documentation, templates, and CI/CD enhancements
- 📘 Added comprehensive docs including FAQ, architecture, and migration guides
- 🧩 Introduced new and updated example configs and templates
- 🧾 Added a pull request template for contributor workflow
- 🧪 Enhanced CI/CD with SBOM generation and improved release notes
- 🛡️ Expanded Trivy security scanning coverage in pipelines
- 🔗 Updated README to reference new docs and the quick start script
2025-11-14 16:51:31 +08:00
rE-Bo0t.bx1
086c21bf8f 📝 docs(v1.1.1): Cyber dark README update
- 🎨 Applied full cyber dark theme with neon headers and panel styling
- 🧩 Reorganized sections for better readability and navigation
- 📘 Added upgraded formatting for diagnostic, monitoring, and deployment areas
- 🧱 Improved visual consistency across examples, tables, and code blocks
-  Updated badges and layout for a cleaner top section
2025-11-14 04:48:59 +08:00
renovate[bot]
3f0cf146f4 build Update docker/dockerfile Docker tag to v1.20 (#8)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-14 03:18:34 +08:00
rE-Bo0t.bx1
9ed70bdb89 v1.1.1 Security Hardening & Config Enhancement 🛡️
🚀 Major architectural release with a near full rewrite of the entrypoint, validation system, diagnostics, and templates. The image is now ~20MB, fully busybox based, more secure, and more flexible for relay and bridge operators.

🔧 Critical Fixes
- Busybox compatible rewrite of OBFS4V_* parsing for values with spaces.
- Rewritten TOR_CONTACT_INFO validation to prevent crash loops.
- Restored bootstrap logs with Log notice stdout.
- Fixed ENV healthchecks and validation order.
- Resolved busybox regex and quoting issues across the script.

 Features and Enhancements
- Added PT_PORT with complete obfs4 bridge compatibility.
- Support for OR_PORT, PT_PORT, EMAIL, and NICKNAME.
- Rewritten bandwidth logic with correct Rate and Burst translation.
- Unified guard, exit, and bridge via TOR_RELAY_MODE.
- Integrated obfs4 with rewritten diagnostics for status, health, fingerprint, and bridge-line.
- Reliable ENV only mode without torrc files.

📦 Build Improvements
- Image reduced ~45MB to ~20MB with busybox only tools.
- Rewritten healthcheck for ENV and mounted configs.
- Four diagnostic tools rewritten to pure busybox sh.
- Weekly rebuilds with latest Alpine and Tor.

📚 Templates and Documentation
- All templates rewritten and updated with bandwidth options and naming alternatives.
- Updated Cosmos and Docker Compose templates for bridge, guard, exit.
- New templates README with full deployment, migration, and config comparisons.
- Revised Claude file with clearer differences and bandwidth notes.

🔒 Security Hardening
- 32 vulnerabilities fixed across critical, high, medium, low categories.
- Non root runtime with UID 100.
- Strict OBFS4V_* whitelist and rewritten validation.
- No exposed diagnostics ports, docker exec only.
- Smaller attack surface with removed binaries.

🚀 Migration Notes
- From v1.1.0: direct upgrade, no config changes, fingerprint preserved.
- From official obfs4 bridge: one time UID fix required, full ENV compatibility afterward.
- Templates include both TOR_ and official naming for smooth migration.

🧩 Compatibility
- Alpine 3.22.2 base, latest Tor from edge.
- AMD64 and ARM64 supported.
- Works with Docker, Compose, Cosmos Cloud, Portainer.
2025-11-14 02:08:27 +08:00
renovate[bot]
39f63a071b build Update docker/dockerfile Docker tag to v1.19 (#7)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-07 21:16:21 +08:00
rE-Bo0t.bx1
2904ce3e35 fix(🐳 docker): migrate base image back to Alpine 3.22.2 for improved compatibility and reproducible builds 2025-11-06 20:21:33 +08:00
rE-Bo0t.bx1
f415166ee7 fix(🐳 docker): update dependencies in Dockerfile and changelog for v1.0.5 2025-11-06 19:26:17 +08:00
rE-Bo0t.bx1
e654519dd4 fix(🐳 docker): bump to v1.0.5 - downgrade base image from Alpine 3.22.2 to 3.21.5 2025-11-06 19:00:16 +08:00
rE-Bo0t.bx1
297d4fec87 ci(release): rebuild unified release workflow for GHCR + Docker Hub sync
- Consolidated CI into one efficient pipeline
- Unified tag handling for GHCR and Docker Hub
- Added weekly + manual release triggers
- Hardened dos2unix normalization pre-build
- Cleaner YAML and quieter logs
2025-11-06 01:06:45 +08:00
rE-Bo0t.bx1
019139056e fix: rebuild release.yml + Dockerfile normalization for v1.0.3 2025-11-06 00:44:15 +08:00
rE-Bo0t.bx1
0a6dcf6987 feat(security,build): enforce localhost-only binding and harden Dockerfile (v1.0.2)
BREAKING CHANGE: Internal services now bind exclusively to 127.0.0.1 by default.

This release introduces strict network boundary enforcement and build-level hardening
to improve both runtime security and CI/CD compliance.

Port Security Model:
- Public: 9001 (ORPort), 9030 (DirPort)
- Internal: 9035+ (metrics, health, dashboard) - localhost-only

Security Enhancements:
- Enforces localhost binding for all internal services
- Prevents unauthorized external access to internal endpoints
- Adds reverse proxy, SSH tunnel, and VPN access guidance
- Integrates automated port security validation in diagnostic tools
- Includes comprehensive migration instructions for existing deployments

Build Improvements:
- Dockerfile hardened with strict shell mode (set -euo pipefail)
- Fixed lint warnings: DL3018, DL3059, SC2010, DL4006
- Ensures reproducible builds and cleaner CI validation
- No functional runtime changes beyond improved reliability

File Updates:
- CHANGELOG.md: Version entries updated to v1.0.2
- README.md: Deployment examples and version references aligned
- SECURITY.md: Expanded with port access policy and network architecture
- relay-status.sh: Added port binding validation (v1.0.2)
- integration-check.sh: Added version and port validation phases (v1.0.2)
- Dockerfile: Hardened, lint-compliant, and security aligned

Migration Required:
If external access to metrics or health endpoints is required,
configure a reverse proxy with authentication, SSH tunneling, or VPN routing.
See SECURITY.md for implementation details.

Version: 1.0.2
2025-11-05 21:28:56 +08:00
rE-Bo0t.bx1
abd94c9e34 feat(security,build): enforce localhost-only binding and harden Dockerfile (v1.0.2)
BREAKING CHANGE: Internal services now bind exclusively to 127.0.0.1 by default.

This release introduces strict network boundary enforcement and build-level hardening
to improve both runtime security and CI/CD compliance.

Port Security Model:
- Public: 9001 (ORPort), 9030 (DirPort)
- Internal: 9035+ (metrics, health, dashboard) - localhost-only

Security Enhancements:
- Enforces localhost binding for all internal services
- Prevents unauthorized external access to internal endpoints
- Adds reverse proxy, SSH tunnel, and VPN access guidance
- Integrates automated port security validation in diagnostic tools
- Includes comprehensive migration instructions for existing deployments

Build Improvements:
- Dockerfile hardened with strict shell mode (set -euo pipefail)
- Fixed lint warnings: DL3018, DL3059, SC2010, DL4006
- Ensures reproducible builds and cleaner CI validation
- No functional runtime changes beyond improved reliability

File Updates:
- CHANGELOG.md: Version entries updated to v1.0.2
- README.md: Deployment examples and version references aligned
- SECURITY.md: Expanded with port access policy and network architecture
- relay-status.sh: Added port binding validation (v1.0.2)
- integration-check.sh: Added version and port validation phases (v1.0.2)
- Dockerfile: Hardened, lint-compliant, and security aligned

Migration Required:
If external access to metrics or health endpoints is required,
configure a reverse proxy with authentication, SSH tunneling, or VPN routing.
See SECURITY.md for implementation details.

Version: 1.0.2
2025-11-05 21:28:56 +08:00
rE-Bo0t.bx1
f33dcf76c6 feat(security,build): enforce localhost-only binding and harden Dockerfile (v1.0.2)
BREAKING CHANGE: Internal services now bind exclusively to 127.0.0.1 by default.

This release introduces strict network boundary enforcement and build-level hardening
to improve both runtime security and CI/CD compliance.

Port Security Model:
- Public: 9001 (ORPort), 9030 (DirPort)
- Internal: 9035+ (metrics, health, dashboard) - localhost-only

Security Enhancements:
- Enforces localhost binding for all internal services
- Prevents unauthorized external access to internal endpoints
- Adds reverse proxy, SSH tunnel, and VPN access guidance
- Integrates automated port security validation in diagnostic tools
- Includes comprehensive migration instructions for existing deployments

Build Improvements:
- Dockerfile hardened with strict shell mode (set -euo pipefail)
- Fixed lint warnings: DL3018, DL3059, SC2010, DL4006
- Ensures reproducible builds and cleaner CI validation
- No functional runtime changes beyond improved reliability

File Updates:
- CHANGELOG.md: Version entries updated to v1.0.2
- README.md: Deployment examples and version references aligned
- SECURITY.md: Expanded with port access policy and network architecture
- relay-status.sh: Added port binding validation (v1.0.2)
- integration-check.sh: Added version and port validation phases (v1.0.2)
- Dockerfile: Hardened, lint-compliant, and security aligned

Migration Required:
If external access to metrics or health endpoints is required,
configure a reverse proxy with authentication, SSH tunneling, or VPN routing.
See SECURITY.md for implementation details.

Version: 1.0.2
2025-11-05 21:28:55 +08:00
rE-Bo0t.bx1
1c66a5e323 fix(build): lint-compliant Dockerfile hardening (v1.0.2)
This commit finalizes the v1.0.2 release with a fully lint-compliant Dockerfile.

Changes:
- Dockerfile: strict shell mode with pipefail
- Dockerfile: resolved DL3018, DL3059, SC2010, DL4006 warnings
- Dockerfile: merged original features with compliance improvements

No functional or runtime changes, only build and CI reliability enhancements.

Version: 1.0.2
2025-11-05 21:28:55 +08:00