yusing
0866feb81b
refactor: enhance favicon fetching with context support and improve cache management
...
- Added context support to favicon fetching functions to handle timeouts and cancellations.
- Improved cache entry structure to include content type and utilize atomic values for last access time.
- Implemented maximum cache size and entry limits to optimize memory usage.
- Updated error handling for HTTP requests and refined the logic for managing redirects.
2025-04-17 14:28:09 +08:00
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
6a5d324733
refactor: move favicon into homepage module
2025-04-10 06:04:14 +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
fbb07011f1
refactor: update homepage item handling and improve JSON marshaling
2025-03-28 08:14:06 +08:00
yusing
c0c6e21a16
refactor: improved json loading flow and log messages
2025-03-28 07:39:26 +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
e3e3f1dfdc
fixed some tests
2025-01-29 09:40:37 +08:00
yusing
1586610a44
Cleaned up some validation code, stricter validation
2025-01-26 14:43:48 +08:00
yusing
9936b3af5b
improved homepage config implementation
2025-01-24 05:11:35 +08:00
yusing
b9882f8985
updated implementation of (un)hiding items
2025-01-23 12:52:15 +08:00
yusing
79f40f3d22
implement icon cache expiry, cleanup code and upgrade deps
2025-01-23 04:16:06 +08:00
yusing
3a4dc3f876
fixed dashboard not showing all apps
2025-01-21 12:56:21 +08:00
yusing
49da8a31d2
api: fix not getting correct icon
2025-01-21 09:31:51 +08:00
yusing
8b1a3a31ff
simplify icon caching and homepage item override
2025-01-21 06:16:00 +08:00
yusing
64e85c3076
feat: support selfh.st icons, support homepage config overriding
2025-01-20 17:42:17 +08:00
yusing
68771ce399
api: added some endpoints for dashboard filter to work
2025-01-20 06:17:18 +08:00
yusing
e10e6cfe4d
updated ls-icon
and icon fetching mechanism
2025-01-13 02:21:52 +08:00
yusing
137b0820b0
reset favicon cache on route reload
2025-01-12 22:32:17 +08:00
yusing
c7c6a097f0
server side favicon retrieving and caching
2025-01-12 10:30:37 +08:00
yusing
6b669fc540
api: homepage config json not longer include default url
2025-01-04 03:37:51 +08:00
yusing
6aefe4d5d9
replace all schema check with go-playground/validator/v10
2024-12-18 04:48:29 +08:00
yusing
4d94d12e9c
fixed / suppressed (irrelevant) golangci-lint errors
2024-12-17 10:33:21 +08:00
yusing
5d5c623f09
small refactor and fixes
2024-12-03 11:45:10 +08:00
yusing
d89d97b61f
added predefined homepage categories
2024-11-03 11:44:30 +08:00
yusing
d47b672aa5
refactored some stuff, added healthcheck support, fixed 'include file' reload not showing in log
2024-10-12 13:56:38 +08:00
yusing
e566fd9b57
fixed homepage not respecting homepage.show field, disabled schema validation for included file
2024-10-04 08:36:32 +08:00
yusing
de6c1be51b
improved homepage support, memory leak partial fix
2024-10-03 20:02:43 +08:00
yusing
4f09dbf044
replace - _ with whitespace for default homepage.name
2024-10-03 10:19:31 +08:00
yusing
e6b4630ce9
experimental homepage labels support
2024-10-03 10:10:14 +08:00
yusing
90bababd38
improved homepage labels
2024-10-03 04:00:02 +08:00
yusing
90130411f9
initial support of homepage labels
2024-10-03 02:53:05 +08:00