Yuzerion
80bc018a7f
feat: custom json marshaling implementation, replace json and yaml library ( #89 )
...
* chore: replace gopkg.in/yaml.v3 vs goccy/go-yaml; replace encoding/json with bytedance/sonic
* fix: yaml unmarshal panic
* feat: custom json marshaler implementation
* chore: fix import and err marshal handling
---------
Co-authored-by: yusing <yusing@6uo.me>
2025-04-16 15:02:11 +08:00
Yuzerion
57292f0fe8
feat: proxmox idlewatcher ( #88 )
...
* feat: idle sleep for proxmox LXCs
* refactor: replace deprecated docker api types
* chore(api): remove debug task list endpoint
* refactor: move servemux to gphttp/servemux; favicon.go to v1/favicon
* refactor: introduce Pool interface, move agent_pool to agent module
* refactor: simplify api code
* feat: introduce debug api
* refactor: remove net.URL and net.CIDR types, improved unmarshal handling
* chore: update Makefile for debug build tag, update README
* chore: add gperr.Unwrap method
* feat: relative time and duration formatting
* chore: add ROOT_DIR environment variable, refactor
* migration: move homepage override and icon cache to $BASE_DIR/data, add migration code
* fix: nil dereference on marshalling service health
* fix: wait for route deletion
* chore: enhance tasks debuggability
* feat: stdout access logger and MultiWriter
* fix(agent): remove agent properly on verify error
* fix(metrics): disk exclusion logic and added corresponding tests
* chore: update schema and prettify, fix package.json and Makefile
* fix: I/O buffer not being shrunk before putting back to pool
* feat: enhanced error handling module
* chore: deps upgrade
* feat: better value formatting and handling
---------
Co-authored-by: yusing <yusing@6uo.me>
2025-04-16 14:52:33 +08:00
yusing
5d2b700cb2
chore: reduce memory usage of docker container info
2025-04-10 04:56:50 +08:00
yusing
49ee9c908a
chore: better error formatting
2025-04-10 04:52:44 +08:00
yusing
df24acb4af
feat(config): add implement file provider validation tests
2025-04-05 13:30:54 +08:00
yusing
253e06923d
refactor: rename Deserialize* to UnmarshalValidate*
2025-04-05 11:58:11 +08:00
yusing
477ddb6241
refactor: remove unused code
2025-04-04 00:47:36 +08:00
yusing
fdac2853af
chore: update set/map parallel logic
2025-04-04 00:46:24 +08:00
yusing
146e7781be
fix: limit redirect count when parsing html for favicon, fix url sanitize method
2025-03-29 09:35:12 +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
cdb3ffe439
refactor: clean up code and enhance utilities with new functions
2025-03-28 08:14:06 +08:00
yusing
2b91d99ec6
refactor: remove unused old code
2025-03-28 08:14:06 +08:00
yusing
3021672de5
refactor: move atomic.Value to value.go, improved handling for zero values
2025-03-28 07:39:26 +08:00
yusing
c0c6e21a16
refactor: improved json loading flow and log messages
2025-03-28 07:39:26 +08:00
yusing
d315710310
refactor: improved reverse proxy performance, reduce memory allocation calls
2025-03-28 07:39:26 +08:00
yusing
361931ed96
refactor: rename module 'err' to 'gperr' in references
2025-03-28 07:39:26 +08:00
yusing
17ef5cb9a5
security: sanitize uri
2025-03-22 23:58:37 +08:00
Yuzerion
1a5f3735cf
Feat/fileserver ( #60 )
...
* cleanup code for URL type
* fix makefile for trace mode
* refactor, merge Entry, RawEntry and Route into one.
* Implement fileserver.
* refactor: rename HTTPRoute to ReverseProxyRoute to avoid confusion
* refactor: move metrics logger to middleware package
- fix prometheus metrics for load balanced routes
- route will now fail when health monitor fail to start
* fix extra output of ls-* commands by defer initializaing stuff, speed up start time
* add test for path traversal attack, small fix on FileServer.Start method
* rename rule.on.bypass to pass
* refactor and fixed map-to-map deserialization
* updated route loading logic
* schemas: add "add_prefix" option to modify_request middleware
* updated route JSONMarshalling
---------
Co-authored-by: yusing <yusing@6uo.me>
2025-02-06 18:23:10 +08:00
yusing
2cd1f22e68
add test for the previous commit
2025-02-06 02:33:30 +08:00
yusing
688f38943d
fix single line yaml list treated as comma seperated list
2025-02-06 01:58:45 +08:00
yusing
4ad6257dab
fix deserialization
2025-01-29 11:49:28 +08:00
yusing
bbc10cb105
fix serialization, added benchmark tests, updated next release docs
2025-01-26 15:08:10 +08:00
yusing
83ea19dd92
api: added validation endpoint
2025-01-26 14:47:33 +08:00
yusing
1586610a44
Cleaned up some validation code, stricter validation
2025-01-26 14:43:48 +08:00
yusing
79f40f3d22
implement icon cache expiry, cleanup code and upgrade deps
2025-01-23 04:16:06 +08:00
yusing
ed3b26653c
fix log wrapped incorrectly in WebUI, implement log SSR
2025-01-23 00:08:19 +08:00
yusing
8b1a3a31ff
simplify icon caching and homepage item override
2025-01-21 06:16:00 +08:00
yusing
d429374924
fix deserialization: reflect: indirection through nil pointer to embedded struct
2025-01-21 04:09:46 +08:00
yusing
dd0bbdc7b4
fix logs not printing correctly, removed unneccessary loggers
2025-01-20 17:42:54 +08:00
Yuzerion
fb0dc7dea0
Feat/OIDC middleware ( #50 )
...
* implement OIDC middleware
* auth code cleanup
* allow override allowed_user in middleware, fix typos
* fix tests and callbackURL
* update next release docs
* fix OIDC middleware not working with Authentik
* feat: add groups support for OIDC claims (#41 )
Allow users to specify allowed groups in the env and use it to inspect the claims.
This performs a logical AND of users and groups (additive).
* merge feat/oidc-middleware (#49 )
* api: enrich provider statistifcs
* fix: docker monitor now uses container status
* Feat/auto schemas (#48 )
* use auto generated schemas
* go version bump and dependencies upgrade
* clarify some error messages
---------
Co-authored-by: yusing <yusing@6uo.me>
* cleanup some loadbalancer code
* api: cleanup websocket code
* api: add /v1/health/ws for health bubbles on dashboard
* feat: experimental memory logger and logs api for WebUI
---------
Co-authored-by: yusing <yusing@6uo.me>
---------
Co-authored-by: yusing <yusing@6uo.me>
Co-authored-by: Peter Olds <peter@olds.co>
2025-01-19 13:48:52 +08:00
yusing
28b5d44e11
fix: slice deserialization should return all errors
2025-01-11 01:39:03 +08:00
yusing
8109c9ac4f
small refactor
2025-01-09 14:09:48 +08:00
yusing
2ce1ceb460
remove old unused code
2025-01-09 14:09:48 +08:00
yusing
4aee44fe11
fix rewrite omitting trailing slash, error msg update
2025-01-09 14:09:48 +08:00
yusing
8bbb5d2e09
fix fields not being validated (introduced in 577a536
), drop support of list string not starting with hyphen
2025-01-09 04:21:32 +08:00
yusing
577a5366e8
remove unused old code
2025-01-08 13:50:34 +08:00
yusing
35c0463829
naive implementation of caddy like route rules, dependencies upgrade
2025-01-08 07:18:09 +08:00
yusing
70c8c4b4aa
fix edge cases refCounter close channel twice
2025-01-05 09:15:03 +08:00
yusing
c30d3f585f
api: fix validation and http response
2025-01-04 09:01:52 +08:00
yusing
3ecc0f95bf
fixed some tests
2025-01-03 16:31:49 +08:00
yusing
b38bff41d8
support inline yaml for docker labels, serveral minor fixes
2025-01-03 15:35:40 +08:00
yusing
a587ada170
fix access logger high cpu usage, simplify some code
2025-01-03 03:30:15 +08:00
yusing
af14966b09
rewrite and fix reference counter
2025-01-02 09:59:31 +08:00
yusing
1ab34ed46f
simplify task package implementation
2025-01-01 06:07:32 +08:00
yusing
e7be27413c
small string split join optimization
2024-12-19 00:54:31 +08:00
yusing
654194b274
fix deserialization panics on empty map
2024-12-18 15:15:55 +08:00
yusing
34d5edd6b9
fix health lastSeen format
2024-12-18 10:49:33 +08:00
yusing
57a7c04a4c
fix accesslog and serialization
2024-12-18 09:57:29 +08:00
yusing
87279688e6
fix middleware tracer and cloudflareRealIP
2024-12-18 09:03:12 +08:00
yusing
c66694aa32
fix "do you mean" error formatting
2024-12-18 07:34:27 +08:00