167 Commits

Author SHA1 Message Date
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
rE-Bo0t.bx1
05e7cf70cb 📝 docs(v1.1.1):
- 📏 Corrected documented image size to 17.1 MB
- 🖼️ Updated all image references to r3bo0tbx1/onion-relay
- 🗂️ Standardized image naming across templates
- 🔐 Added security and privacy notes to the Code of Conduct
- 📚 Synced configuration notes for the v1.1.1 release
2025-11-14 03:33:01 +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
rE-Bo0t.bx1
384d6ed669 📜 chore: Update changelog and security policy for v1.1.0 release 2025-11-08 00:15:24 +08:00
rE-Bo0t.bx1
e2a9b4d398 🚀 feat: Release v1.1.0
Bumped version to v1.1.0 across all project files.

🏗️ Infrastructure & Templates:
- 🐳 Docker Compose: Enhanced security, added persistent volume support.
- 📋 Cosmos templates: Updated with new environment variable defaults.

🛠️ Scripts:
- dashboard.sh: Implemented API token authentication, improved error handling, and added a notification UI.
- fingerprint.sh: Refactored for clearer output formatting, robust validation, and a comprehensive help message.

 General:
- Improved configuration management, health checks, and monitoring integration.
2025-11-08 00:00:49 +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
97737d5ba8 🔧 v1.0.9 — Shell polish and log formatting improvements
- Fixed “sh: bad number” errors in status output
- Compact single-line stats in view-logs
- Improved numeric parsing and input sanitization
- Unified timestamp format and safer defaults
2025-11-07 02:31:47 +08:00
rE-Bo0t.bx1
5b1a2ee069 🧱 chore(release): bump version to 1.0.8
- Added dynamic Unreleased compare link for changelog auto-updates
- Improved versioning automation and tagging safety
- Fixed newline warning in dependabot.yml
- Unified workflow timezone (Asia/Tokyo) and metadata consistency
- Updated CHANGELOG and docs for v1.0.8
2025-11-06 23:53:29 +08:00
rE-Bo0t.bx1
47db82782f 🧱 chore(release): bump version to 1.0.8
- Added dynamic Unreleased compare link for changelog auto-updates
- Improved versioning automation and tagging safety
- Fixed newline warning in dependabot.yml
- Unified workflow timezone (Asia/Tokyo) and metadata consistency
- Updated CHANGELOG and docs for v1.0.8
2025-11-06 23:42:39 +08:00
rE-Bo0t.bx1
66fdf5cd36 🧠 chore: prepare v1.0.7 – smarter automation, Renovate integration, and CI/CD polish
- 🧹 Removed obsolete .github/release.yml in favor of unified Build workflow
- ⚙️ Updated workflow schedules (Asia/Tokyo timezone) for consistency
- 🧪 Removed redundant validation job and improved release resilience
- 📜 Enhanced changelog extraction and release note clarity
- 🐳 Refined Docker tagging logic to ensure latest always points to newest stable
- 🤖 Added Renovate configuration for Alpine apk pinning (<3.23.0 safety)
- 🔧 Introduced centralized changelog config for structured release notes
- 📖 Updated README and CHANGELOG to reflect v1.0.7 improvements
2025-11-06 23:12:32 +08:00
rE-Bo0t.bx1
9c941b2ed3 🧠 chore: prepare v1.0.7 – smarter automation, Renovate integration, and CI/CD polish
- 🧹 Removed obsolete .github/release.yml in favor of unified Build workflow
- ⚙️ Updated workflow schedules (Asia/Tokyo timezone) for consistency
- 🧪 Removed redundant validation job and improved release resilience
- 📜 Enhanced changelog extraction and release note clarity
- 🐳 Refined Docker tagging logic to ensure latest always points to newest stable
- 🤖 Added Renovate configuration for Alpine apk pinning (<3.23.0 safety)
- 🔧 Introduced centralized changelog config for structured release notes
- 📖 Updated README and CHANGELOG to reflect v1.0.7 improvements
2025-11-06 23:03:26 +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
e059cbc6e6 fix(📚 readme): update version numbers to v1.0.5 in diagnostic tools and documentation sections 2025-11-06 19:48:42 +08:00
rE-Bo0t.bx1
8786ccf3c7 fix(📚 readme): update badge labels and add container registry information 2025-11-06 19:44:37 +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
8c5d5a40f2 fix(release): bump to v1.0.4 - unified emoji diagnostics & enhanced health checks 2025-11-06 18:33:59 +08:00
rE-Bo0t.bx1
14f0543f25 Fix missing newline in changelog.yml 2025-11-06 04:16:05 +08:00
dependabot[bot]
d952dd197c ci(deps): bump hadolint/hadolint-action from 3.1.0 to 3.3.0 (#6)
Bumps [hadolint/hadolint-action](https://github.com/hadolint/hadolint-action) from 3.1.0 to 3.3.0.
- [Release notes](https://github.com/hadolint/hadolint-action/releases)
- [Changelog](https://github.com/hadolint/hadolint-action/blob/master/.releaserc)
- [Commits](https://github.com/hadolint/hadolint-action/compare/v3.1.0...v3.3.0)

---
updated-dependencies:
- dependency-name: hadolint/hadolint-action
  dependency-version: 3.3.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-11-06 04:13:07 +08:00
dependabot[bot]
6ed866a250 ci(deps): bump github/codeql-action from 3 to 4 (#5)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3 to 4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-06 04:12:55 +08:00
dependabot[bot]
f43e6c2540 ci(deps): bump actions/download-artifact from 4 to 6 (#4)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4 to 6.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v4...v6)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-06 04:12:39 +08:00
dependabot[bot]
235c76456f ci(deps): bump actions/upload-artifact from 4 to 5 (#3)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-06 04:12:19 +08:00
rE-Bo0t.bx1
ee08c4d66f Fix missing newline in dependabot.yml 2025-11-06 04:10:23 +08:00
rE-Bo0t.bx1
b283f9680e Fix workflow linting issues
- Skip workflow file validation in validate.yml (complex format)
- Fix all line length issues in both workflows
- Remove trailing spaces
- Add newline at end of files
- Shorten long labels to fit 80 character limit
2025-11-06 04:07:52 +08:00
rE-Bo0t.bx1
1324722165 fix: correct formatting in release workflow conditions and update image description 2025-11-06 04:01:49 +08:00
rE-Bo0t.bx1
4db06050f5 fix: refactor tag generation to use an array for better maintainability 2025-11-06 03:58:04 +08:00
rE-Bo0t.bx1
792a0ee025 fix: format tag definitions for better readability in release workflow 2025-11-06 03:54:59 +08:00
rE-Bo0t.bx1
f7509eab7a Release v1.0.3
- Fix workflow timeout issues
- Add workflow_run trigger for automatic releases
- Improve line length compliance
- Add support for validated builds
- Update Docker image tagging strategy
2025-11-06 03:48:49 +08:00
rE-Bo0t.bx1
300a26bdd6 Release v1.0.3
- Fix workflow timeout issues
- Add workflow_run trigger for automatic releases
- Improve line length compliance
- Add support for validated builds
- Update Docker image tagging strategy
2025-11-06 03:45:38 +08:00
rE-Bo0t.bx1
13b0f1d8c4 fix: ensure workflows continue on error and validate all steps 2025-11-06 03:23:40 +08:00
rE-Bo0t.bx1
35550552f9 fix: remove trailing spaces and add newlines in workflows 2025-11-06 03:00:15 +08:00
rE-Bo0t.bx1
be9312faaa feat: smart diagnostics + Docker Hub publishing 2025-11-06 02:52:29 +08:00
rE-Bo0t.bx1
05a08e1366 feat: smart diagnostics + Docker Hub publishing 2025-11-06 02:06:46 +08:00
rE-Bo0t.bx1
b8a495523d fix: clean up cron comment and improve formatting in release workflows 2025-11-06 01:45:09 +08:00
rE-Bo0t.bx1
66bc720ff2 chore(release): v1.0.3 – unified workflows, dual registry publishing, and lint compliance 2025-11-06 01:36:54 +08:00
rE-Bo0t.bx1
f738fd44ac chore(release): v1.0.3 – unified workflows, dual registry publishing, and lint compliance 2025-11-06 01:27:28 +08:00
rE-Bo0t.bx1
f972c40f48 fix(docker-compose): remove unnecessary blank lines for cleaner formatting 2025-11-06 01:15:04 +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
64cfc84a8d feat: smart diagnostics and dual registry publishing
- Add smart network diagnostics triggered by bandwidth self-test
- Replace fixed 2-minute delay with log monitoring
- Diagnostics now run when Tor completes self-test (no false failures)
- Add Docker Hub publishing alongside GHCR
- Update release workflow for dual registry support
- Multi-arch builds (amd64, arm64) to both registries

Fixes startup errors: 'Consensus: failed', 'Ports: closed'
2025-11-06 00:11:07 +08:00
rE-Bo0t.bx1
47f45a9713 fix(docker-compose): format healthcheck commands for better readability 2025-11-05 21:40:33 +08:00
rE-Bo0t.bx1
6023610847 fix(alertmanager): remove unnecessary blank lines for cleaner configuration 2025-11-05 21:28:57 +08:00
rE-Bo0t.bx1
c0ba79aa23 fix(setup): add error handling for configuration write failure and confirm successful save 2025-11-05 21:28:57 +08:00
rE-Bo0t.bx1
43cec0058f fix(bandwidth): double RelayBandwidthBurst value for improved performance 2025-11-05 21:28:57 +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
rE-Bo0t.bx1
25fd7a09d7 feat(security): enforce localhost-only binding for internal services (v1.0.2)
BREAKING CHANGE: Internal services now bind to 127.0.0.1 by default

This release enforces strict port security with a two-tier model:
- Public: 9001 (ORPort), 9030 (DirPort)
- Internal: 9035+ (metrics, health, dashboard) - localhost-only

Changes:
- CHANGELOG.md: Updated version entries, aligned to v1.0.2
- README.md: Updated version references and deployment examples
- SECURITY.md: Enhanced with network architecture and port policy
- relay-status.sh: Added port security validation (v1.0.2)
- integration-check.sh: Added port/version validation phases (v1.0.2)

Security Improvements:
- Prevents unauthorized external access to internal endpoints
- Adds reverse proxy, SSH tunnel, and VPN access guidance
- Includes comprehensive migration guide for existing deployments
- Adds automated security validation in diagnostic tools

Migration Required:
If accessing metrics/health externally, use reverse proxy with auth,
SSH tunneling, or VPN. See SECURITY.md for details.

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