yusing
20c77edce5
chore: go mod tidy
2025-10-11 13:20:19 +08:00
yusing
4f2f0f58e2
fix(autocert): nil dereference
2025-10-11 13:12:45 +08:00
yusing
ac8ad149b8
fix(icons): list icon logic
2025-10-11 13:07:50 +08:00
yusing
14ec80c883
fix: Dockerfile mod caching
2025-10-11 13:01:52 +08:00
yusing
5de5f854ce
fix: dockerfile
2025-10-11 12:56:55 +08:00
yusing
3d8994b42e
chore: enhance example config
2025-10-11 12:46:54 +08:00
yusing
66043e4a26
refactor!: simplify lego generate script; add and drop some dns provider
2025-10-11 12:44:16 +08:00
yusing
d1e403e16f
fix(docker): correct image in rootless docker compose
2025-10-11 11:27:14 +08:00
yusing
e72e20af69
fix(script): add missing domain input in setup.sh
2025-10-11 11:16:39 +08:00
yusing
ad6201c27a
feat(dev): add parca in dev docker for profiling
2025-10-10 23:24:39 +08:00
yusing
c4c9e9300c
chore: simplify dev docker and update Makefile accordingly
2025-10-10 23:24:14 +08:00
yusing
b23c3f1c3b
refactor(icons): replace mutex-based cache with atomic synk.Value
...
- Remove sync.RWMutex and Cache struct in favor of atomic Value
- Implement background goroutine for periodic icon updates
- Add backward compatibility for old cache format
- Improve concurrent access to icon cache
- Simplify ListAvailableIcons()
2025-10-10 23:21:30 +08:00
yusing
38c0419483
feat(config): add temporary logging for failed reloads
...
- Add tmpLogBuf and tmpLog fields to capture config loading logs
- Flush temporary logs only when reload succeeds
- Extract NewLogger function for creating custom loggers
- Update State interface to include FlushTmpLog method
2025-10-10 22:20:12 +08:00
yusing
357ce38b18
fix(idlewatcher): correctly restart on config reload
2025-10-10 21:57:36 +08:00
yusing
ef34c3ffdd
fix(server): should wait for server to stop
2025-10-10 21:47:03 +08:00
yusing
2e411373a2
fix(config): failed reload should not start providers in new state
2025-10-10 21:46:02 +08:00
yusing
3dedd66ad1
test(rules): add tests for glob and regex, remove old path glob test
2025-10-10 21:39:21 +08:00
yusing
98f047d88a
fix(rules): correct dollar sign handling
2025-10-10 21:37:54 +08:00
yusing
973a58e982
fix(import): remove unused import in rules/validate.go
2025-10-10 20:49:12 +08:00
yusing
4b55d1c607
fix: missing bracket in main.go
2025-10-10 20:46:47 +08:00
yusing
63eff4707c
fix: submodules url
2025-10-10 20:40:33 +08:00
yusing
55a74c36b0
refactor(acl): optimize slice allocation in logNotifyLoop
2025-10-10 20:21:53 +08:00
yusing
fbabb7b7fb
refactor(acl): default not to notify allowed and skip when total is 0
2025-10-10 20:20:09 +08:00
yusing
7a1841e9a5
fix(acl): add json tag for notify
2025-10-10 15:26:08 +08:00
yusing
d82bfd0ebd
feat(acl): add periodic notification system for access summaries
...
- Add Notify configuration with To field and interval
- Track allowed/blocked IP counts per address
- Send periodic summary notifications with access statistics
- Optimize logging with channel-based processing for concurrent safety
2025-10-10 15:24:48 +08:00
yusing
1f41c035ea
feat(notification): add To field to LogMessage
2025-10-10 14:47:20 +08:00
yusing
c2c9f42fb3
feat(rules): glob and regex support, env var substitution
...
- optimized `remote` rule for ip matching
- updated descriptions
2025-10-10 14:43:48 +08:00
yusing
60cfff3435
refactor(idlewatcher): streamline loading screen favicon handling
2025-10-10 12:55:06 +08:00
yusing
c93a460043
refactor(config): add omitempty on some fields
2025-10-10 10:34:49 +08:00
yusing
9bf7a0beef
revert(config): added back pointer for agent and notification config for correct unmarshaling
2025-10-10 10:07:49 +08:00
yusing
c89c737ecd
fix(pool): variable shadowing
2025-10-10 10:01:42 +08:00
yusing
382fc61a9c
chore: update submodules
2025-10-10 09:57:08 +08:00
yusing
b2de33e835
fix: Makefile
2025-10-10 09:55:21 +08:00
yusing
86644054e6
refactor: use goutils/env in socket-proxy
2025-10-10 09:54:16 +08:00
yusing
c2dcabe144
refactor(rules): remove 'caller' parameter in BuildHandler
2025-10-10 09:53:44 +08:00
yusing
c59ddc1df6
refactor: add ShouldExclude() bool to Route interface
2025-10-10 09:53:08 +08:00
yusing
f4db874fd6
refactor(proxmox): rename checkIPPrivate to privateIPOrNil
2025-10-10 09:52:38 +08:00
yusing
f334f5c13c
feat(config): pretty print active config and routes by provider on load / reload
2025-10-10 09:51:32 +08:00
yusing
5acc4c3894
fix(homepage): logic error in ListAvailableIcons, ensure the cache is ready in GetHomepageMeta
2025-10-10 09:27:23 +08:00
yusing
a8aa82f687
chore: upgrade dependencies
2025-10-10 09:11:29 +08:00
yusing
0f3a1ac6e6
refactor: improved task lifecycle management
2025-10-10 09:07:47 +08:00
yusing
9fceda6729
fix: data race in strings.Title
2025-10-09 23:08:30 +08:00
yusing
becb49e864
fix(uptime): set to 0 instead of returning error on overflow check
2025-10-09 22:53:38 +08:00
yusing
3aed41e078
refactor: move version.go to goutils
2025-10-09 01:14:43 +08:00
yusing
8047067b2b
refactor(utils): move utils/atomic to goutils
2025-10-09 01:07:47 +08:00
yusing
c3fa7c66a7
feat(entrypoint): added CatchAll and NotFound rules and handler
2025-10-09 01:03:16 +08:00
yusing
cab68807ee
refactor(config): restructured with better concurrency and error handling, reduced cross referencing
2025-10-09 01:02:24 +08:00
yusing
d08be872a0
refactor(errors): simplify gperr.Builder usage
2025-10-09 00:28:22 +08:00
yusing
bb5f0cdf09
chore(go): upgrade to go1.25.2
2025-10-08 23:38:33 +08:00
yusing
a150f1a628
refactor(config): reduce references to config.GetInstance()
2025-10-07 21:49:00 +08:00