Yuzerion
4a8bd48ad5
fix: optimize memory usage, fix agent and code refactor ( #118 )
...
Docker Image CI (socket-proxy) / build (push) Waiting to run
* 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
71ca8c738e
fix: middleware bypass
2025-05-11 06:33:22 +08:00
yusing
a8ba42e360
fix: routes iter missing stream
Docker Image CI (nightly) / build-nightly (push) Waiting to run
Docker Image CI (nightly) / build-nightly-agent (push) Waiting to run
2025-05-10 21:31:38 +08:00
yusing
55bbcae911
feat(api): refined list route api
2025-05-10 15:22:30 +08:00
yusing
26938eb6ed
feat(api): add new route for listing routes by provider
2025-05-10 12:58:37 +08:00
yusing
c05059765d
style: coed cleanup and fix styling
2025-05-10 10:46:31 +08:00
yusing
0387739b94
fix(homepage): prioritize container name and alias as display name
2025-05-09 11:42:33 +08:00
yusing
75ee0e63bd
fix(middleware): fix route bypass matching
...
- replace upstream headers approach with context value
2025-05-08 17:49:36 +08:00
yusing
1e80ad2a44
fix(docker): host network_mode port selection
2025-05-07 23:26:51 +08:00
yusing
c90ec8caa1
feat(container): add UpdatePorts method and support for host network mode
2025-05-06 20:27:25 +08:00
yusing
afd35c183d
test: fix failed tests after code changes
2025-05-05 20:41:25 +08:00
yusing
f190483b4e
feat(rules.on): support route directive
2025-05-05 20:41:25 +08:00
yusing
4415bffc35
feat(rules.on): support & as logical AND
2025-05-05 20:41:25 +08:00
yusing
ddab2766b4
feat(middlewares): middleware bypass rules
2025-05-05 20:41:25 +08:00
yusing
ef95682116
feat(rules): compile path rules directly to glob
2025-05-05 20:41:25 +08:00
yusing
dd65a8d04b
style: replace for loops with slices.Contains
2025-05-05 20:41:25 +08:00
yusing
c55c6c84bc
feat(health): add health check detail to health api
2025-05-05 20:41:25 +08:00
yusing
8ef8015a7f
feat: improved icon and category lookup mechanism
2025-05-04 09:37:15 +08:00
yusing
5f780f4902
feat: improved port selection
2025-05-04 01:32:01 +08:00
yusing
cd4c843025
feat: light/dark variant icons and selfh.st tag as default category
...
- code refactor
- reduce memory usage
2025-05-02 03:38:50 +08:00
yusing
7aa1215491
refactor: rename Deserialize to MapUnmarshalValidate
2025-04-29 07:26:14 +08:00
yusing
ce4bf2f646
fix(idlewatcher): not started for docker containers
2025-04-28 23:54:13 +08:00
yusing
8da63daf02
refactor: simplify and remove duplicated code for icon caching
2025-04-28 11:22:49 +08:00
yusing
27409abc24
fix: missing proxmox initialization
2025-04-28 05:08:14 +08:00
yusing
21c9e46274
fix: remove redundant event logging
2025-04-28 05:03:17 +08:00
yusing
89d93dd878
chore: better error message
2025-04-28 00:48:20 +08:00
yusing
e4be403bef
fix(agent): reduce the size of agent binary by modules separation
2025-04-26 05:22:40 +08:00
yusing
604e2481a6
fix(fileserver): being excluded
2025-04-26 01:45:47 +08:00
yusing
3947152336
fix: uptime metrics
2025-04-25 11:26:24 +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
yusing
e513db62b0
refactor: move accesslog to logging/accesslog
2025-04-25 08:37:39 +08:00
yusing
2f33ee02d9
chore: replace gopkg.in/yaml.v3 with goccy/go-yaml
2025-04-25 08:36:54 +08:00
yusing
8363dfe257
fix: json marshal/unmarshal
2025-04-25 08:25:37 +08:00
yusing
080bbc18eb
chore: completely drop prometheus support
2025-04-24 20:02:07 +08:00
yusing
e8d1d524b9
fix: missing route handler iniitialization
2025-04-24 16:11:55 +08:00
yusing
5df2553774
merge: better favicon handling
2025-04-24 15:34:47 +08:00
yusing
31812430f1
merge: access log rotation and enhancements
2025-04-24 15:29:18 +08:00
yusing
663a107c06
merge: main branch
2025-04-24 15:02:31 +08:00
yusing
d60688c66f
fix(route): error not being returned
2025-04-22 09:18:25 +08:00
yusing
23482da259
fix(route): panic on middleware error
2025-04-22 07:18:51 +08:00
yusing
366c89164f
chore: remove prometheus router metrics and related initialization code
2025-03-29 02:59:40 +08:00
yusing
36f13c61bb
test: add tests for route validation scenarios
2025-03-29 02:59:40 +08:00
yusing
c8935102c3
feat: add validation for localhost routes to prevent usage of godoxy port causing self recursion
2025-03-29 02:59:40 +08:00
yusing
232f720e77
refactor: use stretchr/testify, replace ExpectBytesEqual and ExpectDeepEqual with ExpectEqual in tests
2025-03-28 08:45:06 +08:00
yusing
7ef8354eb0
feat: enhance route handling with agent support and refactor port selection mapping
2025-03-28 08:14:06 +08:00
yusing
95fe294f7d
feat: add AgentProvider implementation and integrate with provider types
2025-03-28 08:14:06 +08:00
yusing
c6f65ba69f
feat: agent as docker provider, drop / reload routes when docker connection state changed, refactor
2025-03-28 08:14:06 +08:00
yusing
2e8248cd5b
fix: race condition in health monitor
2025-03-28 08:14:06 +08:00
yusing
361931ed96
refactor: rename module 'err' to 'gperr' in references
2025-03-28 07:39:26 +08:00
yusing
f6dc432419
refactor: fix code formatting and return flow
2025-03-01 15:50:50 +08:00