yusing
73cba8b508
refactor: improve error handling, validation and proper cleanup
2026-01-25 19:18:14 +08:00
yusing
dba6a4fedf
fix(config): update JSON tags in ACL and access log configurations to omit empty values
...
Modified JSON tags in the Notify struct of ACL config and the ConfigBase and Retention structs in access log config to include 'omitempty'
2026-01-22 00:18:58 +08:00
yusing
01b8554c0a
fix(acl): correctly marshal matchers instead of plain '{}'
...
- Introduced a raw field in the Matcher struct to store the original string representation.
- Implemented MarshalText method for Matcher
2026-01-21 22:53:00 +08:00
yusing
243a9dc388
fix(acl): ensure acl behind proxy protocol for TCP; fix acl not working for TCP/UDP by replacing ActiveConfig with context value
2026-01-18 11:23:40 +08:00
yusing
cfe4587ec4
fix(acl): deny rules now have higher precedence than allow rules
2026-01-18 10:50:46 +08:00
yusing
e9d7edef12
docs: add per package README for implementation details (AI generated with human review)
2026-01-08 23:39:19 +08:00
yusing
3b2ae5dbd6
refactor: move some utility functions to goutils and update references
2025-12-04 12:17:33 +08:00
yusing
306cb7a20e
fix(access_logger): fix stdout and path not working at the same time
2025-11-01 12:07:22 +08:00
yusing
cb5a8e7b9d
fix(acl): correct acl log handling and add country to summary
2025-10-11 17:03:08 +08:00
yusing
2bfbdbf519
refactor(acl): adjust summary format and add total count
2025-10-11 16:13:52 +08:00
yusing
e67704695b
fix(acl): complete tcp and udp wrapper interface
2025-10-11 13:47:13 +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
a150f1a628
refactor(config): reduce references to config.GetInstance()
2025-10-07 21:49:00 +08:00
yusing
6776f20332
refactor: move task, error and testing utils to separte repo; apply gofumpt
2025-09-27 13:41:50 +08:00
yusing
f9affba9fc
refactor(modules): replace github.com/yusing/go-proxy with github.com/yusing/godoxy
2025-09-22 16:44:59 +08:00
Yuzerion
4a8bd48ad5
fix: optimize memory usage, fix agent and code refactor ( #118 )
...
* refactor: simplify io code and make utils module independent
* fix(docker): agent and socket-proxy docker event flushing with modified reverse proxy handler
* refactor: remove unused code
* refactor: remove the use of logging module in most code
* refactor: streamline domain mismatch check in certState function
* tweak: use ecdsa p-256 for autocert
* fix(tests): update health check tests for invalid host and add case for port in host
* feat(acme): custom acme directory
* refactor: code refactor and improved context and error handling
* tweak: optimize memory usage under load
* fix(oidc): restore old user matching behavior
* docs: add ChatGPT assistant to README
---------
Co-authored-by: yusing <yusing@6uo.me >
2025-05-25 09:45:57 +08:00
yusing
8f9c76daa5
chore: update dependencies
2025-05-14 21:00:53 +08:00
yusing
8b3e058885
fix: error formatting
2025-05-14 20:34:41 +08:00
yusing
b490e8c475
fix(acl): maxmind error even if configured, refactor
2025-05-14 13:44:43 +08:00
yusing
7435b8e485
tests: add test for acl matchers
2025-05-13 20:11:16 +08:00
yusing
44b4cff35e
fix: acl matcher parsing, refactor
2025-05-13 19:40:43 +08:00
yusing
c05059765d
style: coed cleanup and fix styling
2025-05-10 10:46:31 +08:00
yusing
ccb4639f43
breaking: move maxmind config to config.providers
...
- moved maxmind to separate module
- code refactored
- simplified test
2025-05-03 20:58:09 +08:00
yusing
c72f66d64b
feat(acl): add FORCE_RESOLVE_COUNTRY option to resolve country
2025-04-26 09:48:43 +08:00
yusing
e11579df10
chore(maxm): improved database update mechanism, fixed db being downloaded twice on first run
2025-04-26 09:08:03 +08:00
yusing
8f20bd3840
fix(acl): caching logic
2025-04-26 08:05:26 +08:00
yusing
f1abb745fe
fix(tcp): return a dummy connection instead of nil
2025-04-26 07:57:20 +08:00
yusing
1e790be70c
chore: change ACL iso field to country
2025-04-25 13:25:45 +08:00
yusing
b427ff1f88
feat(acl): connection level ip/geo blocking
...
- fixed access log logic
- implement acl at connection level
- acl logging
- ip/cidr blocking
- geoblocking with MaxMind database
2025-04-25 10:47:52 +08:00