Commit Graph

1798 Commits

Author SHA1 Message Date
Wikid82
66e37fbd69 Add new logo image to public assets 2025-11-29 04:08:56 -05:00
CI
fcc273262c test(caddy): cover invalid path branches; ci: handle go test non-zero when coverage file exists 2025-11-29 08:55:25 +00:00
CI
0c62118989 chore: ignore CodeQL DBs and analysis artifacts 2025-11-29 04:24:30 +00:00
CI
46eb444c97 test: tighten URL checks by parsing href host instead of substring checks 2025-11-29 03:24:31 +00:00
CI
7e5e3e4d38 chore: update go.work format by removing parentheses around backend usage 2025-11-29 02:49:21 +00:00
CI
c925994aa3 feat: add Codecov upload workflows for backend and frontend coverage 2025-11-29 02:49:21 +00:00
CI
55199c752a chore: configure gopls env/buildFlags to avoid scanning toolchain modules 2025-11-29 02:49:21 +00:00
CI
e4854763f4 chore: add gopls buildFlags for ignore-tagged tests 2025-11-29 02:49:21 +00:00
CI
ce8a51e6c7 fix(workflows): replace invalid semantic-version action with fallback script 2025-11-29 02:49:21 +00:00
CI
ebd8a8e92b chore: make scripts/check-version-match-tag.sh executable for pre-commit 2025-11-29 02:47:31 +00:00
Wikid82
62bbd6693e fix: reorder feature list in README for improved clarity 2025-11-28 15:50:12 -05:00
Wikid82
fe1338890e fix: reorder feature list in README for improved clarity and consistency 2025-11-28 15:49:31 -05:00
Wikid82
83668da3d8 fix: reorder features in README for better clarity 2025-11-28 15:48:30 -05:00
Wikid82
fc1bf92bd6 fix: add spacing before license and release badges in README 2025-11-28 15:43:46 -05:00
Wikid82
1a2568ff4d fix: correct header level for Cerberus section in README 2025-11-28 15:42:25 -05:00
Wikid82
410fa17e79 fix: update README to correct heading level for Cerberus section and improve formatting 2025-11-28 15:41:02 -05:00
Wikid82
d3d3bd9a22 fix: correct header level for Cerberus section in README 2025-11-28 15:40:06 -05:00
Wikid82
19f884f88c fix: update README to enhance clarity and detail about Charon and Cerberus 2025-11-28 15:37:49 -05:00
Wikid82
73b60eb132 fix: update README to enhance clarity and detail about Charon and Cerberus 2025-11-28 15:37:24 -05:00
Wikid82
938692bbdc fix: update README to enhance project descriptions for Charon and Cerberus 2025-11-28 15:36:52 -05:00
Wikid82
f426595013 fix: update README to reflect project name change and improve clarity 2025-11-28 15:18:44 -05:00
Wikid82
7030d3d9d3 fix: update README to reflect project name change and improve clarity 2025-11-28 15:17:41 -05:00
Wikid82
9269a802dd fix: update README to reflect project name change from Caddy Proxy Manager+ to Charon 2025-11-28 15:16:33 -05:00
Jeremy
7f85fd8ecd Merge pull request #256 from Wikid82/main
Propagate changes from main into development
2025-11-28 12:31:41 -05:00
Wikid82
c2cbf19c5c fix: add support for ignoring XCF files in .gitignore 2025-11-28 12:05:15 -05:00
Wikid82
39210aee8c Refactor code structure for improved readability and maintainability 2025-11-28 12:02:25 -05:00
Wikid82
de39f5d7a5 fix: restore Charon.code-workspace configuration file 2025-11-28 11:59:21 -05:00
Jeremy
2fcbc71b09 Merge pull request #253 from Wikid82/main
Propagate changes from main into development
2025-11-28 10:14:13 -05:00
Wikid82
d96ff80f57 fix: add missing checkout step in test-image job
The test-image job was trying to run ./scripts/integration-test.sh
without first checking out the repository, causing CI failures.
2025-11-28 13:52:19 +00:00
Wikid82
2d68bc2d2d feat: improve bulk ACL modal with multi-select, progress indicator, and Select All/Clear
- Added checkboxes to select multiple ACLs at once
- Added Select All / Clear buttons for quick selection
- Added progress indicator when applying multiple ACLs
- ACLs are applied sequentially with visual feedback
- All tests passing with 81.32% coverage
2025-11-28 07:22:30 +00:00
Wikid82
0118f28fa7 fix: convert all internal doc links from .md to .html 2025-11-28 06:38:18 +00:00
Wikid82
1807d65c4c fix: use .html extensions in docs index for GitHub Pages 2025-11-28 06:31:00 +00:00
Wikid82
69bc7ff48d docs: add instruction for updating docs.yml index cards 2025-11-28 06:28:03 +00:00
Wikid82
d2f0226679 fix: resolve TypeScript any types and unused variable warnings 2025-11-28 06:27:00 +00:00
Wikid82
f37b20949a docs: add debugging and github-setup guides to landing page 2025-11-28 06:26:48 +00:00
Wikid82
31ab1f8976 fix: correct GitHub Pages documentation URLs and add features to docs index 2025-11-28 06:17:31 +00:00
Wikid82
c123fe52fd docs: update documentation link format to use GitHub Pages URLs 2025-11-28 06:00:37 +00:00
Wikid82
d31b613759 docs: add GitHub Pages link format to copilot instructions 2025-11-28 06:00:16 +00:00
Wikid82
3ca3067556 fix: update documentation links to point to the correct repository 2025-11-28 05:58:42 +00:00
Wikid82
9d5daff52c docs: update links to use GitHub Pages URLs 2025-11-28 05:58:07 +00:00
Wikid82
74d7bf2ac3 feat: enhance Access List management with delete confirmation and backup functionality 2025-11-28 05:52:17 +00:00
Wikid82
0273da0841 feat: add new public assets and update pre-commit configuration for large files 2025-11-28 05:47:42 +00:00
Wikid82
38b7df0c27 docs: add features.md, restructure docs, simplify README as marketing page 2025-11-28 05:42:29 +00:00
Wikid82
7a37b2f480 docs: add features.md, restructure docs, simplify README as marketing page 2025-11-28 05:41:55 +00:00
Wikid82
d5d4caf9b4 Refactor pre-commit hooks to manual execution, enhance uptime monitoring with new models and batching notifications
- Updated .pre-commit-config.yaml to change hooks to manual execution for performance.
- Added UptimeHost and UptimeNotificationEvent models to support host-level monitoring.
- Enhanced UptimeService to batch notifications for multiple service failures on the same host.
- Implemented tests for notification batching and uptime host creation during sync.
- Improved formatDuration function for better readability of durations.
2025-11-28 04:00:36 +00:00
Wikid82
a4cff3c194 feat: Add security presets and related tests
- Implemented new security presets for access control lists, including geo-blacklist and known botnet IPs.
- Added tests for security presets functionality, including validation of preset structure and category/type checks.
- Created hooks for Docker and domains with comprehensive tests for fetching, creating, and deleting domains.
- Removed unused HealthStatus component.
- Updated ProxyHosts bulk delete tests to reflect changes in selection logic.
- Introduced integration test script for automated testing of proxy host creation and validation.
2025-11-28 02:54:44 +00:00
Wikid82
72fd121bdb fix: resolve race conditions and update golangci-lint config
- Fix TestCertificateHandler_Delete race condition:
  - Add WAL mode and busy_timeout to SQLite connection
  - Add sleep to allow background sync goroutine to complete
- Fix TestNotificationService_SendExternal_EdgeCases race condition:
  - Use atomic.Value for cross-goroutine string access
- Update .golangci.yml for version 2:
  - Add version field
  - Move linters-settings under linters.settings
  - Remove deprecated typecheck and gosimple linters
  - Update govet shadow check syntax
2025-11-28 00:54:47 +00:00
Wikid82
1a9c651efd feat: add windows and macos support to goreleaser
- Update .goreleaser.yaml:
  - Split builds into linux, windows, and darwin
  - Configure Zig as the C/C++ compiler for cross-compilation (CGO enabled)
  - Add zip archive format for Windows
  - Restrict deb/rpm packages to Linux builds
- Update .github/workflows/release-goreleaser.yml:
  - Add setup-zig action to install Zig compiler
  - Remove manual apt-get cross-compiler installation
2025-11-28 00:34:25 +00:00
Wikid82
ca4ddc4e3e feat: enhance dev workflow and prepare for goreleaser
- Update Makefile with new targets:
  - lint-backend: Run golangci-lint via Docker
  - lint-docker: Run hadolint via Docker
  - test-race: Run Go tests with race detection
  - benchmark: Run Go benchmarks
  - integration-test: Run local integration tests
- Update .pre-commit-config.yaml:
  - Add go-test-race hook
  - Add golangci-lint hook
  - Add hadolint hook
- Add .goreleaser.yaml configuration:
  - Define builds for linux/amd64 and linux/arm64
  - Configure archive creation (tar.gz)
  - Configure package creation (deb, rpm)
- Add .github/workflows/release-goreleaser.yml:
  - New workflow to test GoReleaser builds
  - Builds frontend first, then uses GoReleaser
  - Handles cross-compilation dependencies
2025-11-28 00:28:42 +00:00
Wikid82
fc27b5c42e feat: add security presets and block list recommendations for ACLs
- Add security preset system with curated threat intelligence
  - High-Risk Countries preset (RU, CN, KP, IR, etc.) ~800M IPs
  - Expanded Threat List preset ~1.2B IPs
  - Cloud Scanner IPs preset (Shodan, Censys) ~3K IPs
  - Tor Exit Nodes preset ~1.2K IPs (changes daily)
- Add tooltips linking to data sources (SANS ISC, Spamhaus, Tor Project)
- Add 'Get My IP' button to quickly add current IP to allowlist
- Add IP range calculator showing total IPs covered by rules
- Emphasize block lists over allow lists in UI
  - Renamed UI labels to show 'Recommended' for block lists
  - Added info box explaining why block lists are safer
- Add /system/my-ip API endpoint to fetch user's public IP
  - Handles X-Forwarded-For, X-Real-IP, CF-Connecting-IP headers
  - Returns IP and source (direct, proxy, Cloudflare, etc.)
- Add ARIA attributes to ProxyHosts checkboxes for accessibility

Block lists prevent lockouts while maintaining security by blocking
known threats instead of requiring explicit allow lists that can
inadvertently block legitimate users (especially CGNAT/mobile users).

Note: Bulk delete tests need refinement (event simulation) - tracked
separately.
2025-11-28 00:05:11 +00:00