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
dfc634a362
http: increase default response header timeout to 60s, add option to customize it, schema update
2025-01-30 00:41:03 +08:00
yusing
79f40f3d22
implement icon cache expiry, cleanup code and upgrade deps
2025-01-23 04:16:06 +08:00
yusing
8b1a3a31ff
simplify icon caching and homepage item override
2025-01-21 06:16:00 +08:00
yusing
dd0bbdc7b4
fix logs not printing correctly, removed unneccessary loggers
2025-01-20 17:42:54 +08:00
yusing
1adba05065
api: add /v1/health/ws for health bubbles on dashboard
2025-01-19 04:34:20 +08:00
yusing
04e118c081
api: enrich provider statistifcs
2025-01-15 09:16:29 +08:00
yusing
137b0820b0
reset favicon cache on route reload
2025-01-12 22:32:17 +08:00
yusing
0ce7f29976
fix proxy rules behavior and implemented a few more rules and commands, dependencies upgrade
2025-01-11 12:22:42 +08:00
yusing
74828943a6
updated route rules implementation
2025-01-09 04:27:02 +08:00
yusing
bc1702e6cf
refactoring: moved reverse_proxy to separate package to avoid import cycle
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
cd74b76483
fix reload stuck
2025-01-03 03:30:07 +08:00
yusing
1ab34ed46f
simplify task package implementation
2025-01-01 06:07:32 +08:00
yusing
751594860a
fix docker health checker metrics missing from prometheus
2024-12-19 14:01:55 +08:00
yusing
00f60a6e78
feature: accesslogger
2024-12-18 03:09:46 +08:00
yusing
34858a1ba0
fix prometheus metrics gone after route changes
2024-12-18 00:54:04 +08:00
yusing
276684f076
remove unnecessary encapsulation, setup branch updated to v0.8
2024-12-18 00:33:48 +08:00
yusing
c5d96f96e1
replace unnecessary Task interface with struct
2024-12-17 10:33:21 +08:00
yusing
4d94d12e9c
fixed / suppressed (irrelevant) golangci-lint errors
2024-12-17 10:33:21 +08:00
yusing
51b8806184
properly close docker client
2024-12-13 12:54:54 +08:00
yusing
be81415a75
use docker healthcheck result if possible
2024-12-13 12:18:10 +08:00
yusing
3f9d73d784
enable domain matching, removed unnecessary path_pattern check
2024-12-02 04:39:46 +08:00
yusing
d3842ec3c3
fixed loadbalancer panic
2024-11-28 07:15:27 +08:00
yusing
d723403b6b
modules reorganized and code refactor
2024-11-25 01:40:12 +08:00
yusing
f3b21e6bd9
refactor health module
2024-11-13 06:46:01 +08:00
yusing
6a2638c70c
removed unnecessary PatchReverseProxy argument
2024-11-13 04:47:42 +08:00
yusing
ae69019265
removed unnecessary mutex and locking, small refactor
2024-11-11 06:35:31 +08:00
yusing
6194bac4c4
metric unregistration on route removal, fixed multi-ips as visitor label detected from x headers
2024-11-10 06:47:59 +08:00
yusing
6712e9b109
initial prometheus metrics support, simplfied some code
2024-11-06 12:24:12 +08:00
yusing
3bf520541b
fixed stats websocket endpoint when no match_domains configured
2024-11-03 06:04:35 +08:00
yusing
625bf4dfdc
improved HTTP performance, especially when match_domains are used; api json string fix
2024-11-02 07:14:03 +08:00
yusing
a86d316d07
refactor and typo fixes
2024-11-02 03:14:47 +08:00
yusing
369cdf8c4f
fixed config reload
2024-10-30 06:52:18 +08:00
yusing
e5bbb18414
migrated from logrus to zerolog, improved error formatting, fixed concurrent map write, fixed crash on rapid page refresh for idle containers, fixed infinite recursion on gotfiy error, fixed websocket connection problem when using idlewatcher
2024-10-29 11:34:58 +08:00
yusing
a278711421
fixed loadbalancer with idlewatcher, fixed reload issue
2024-10-20 09:46:02 +08:00
yusing
8b8e1773e8
fixed loadbalanced routes with same alias cause conflict
2024-10-19 01:20:08 +08:00
yusing
b296fb2965
fixed healthcheck failed to disable and nil dereference
2024-10-19 00:13:55 +08:00
yusing
53557e38b6
Fixed a few issues:
...
- Incorrect name being shown on dashboard "Proxies page"
- Apps being shown when homepage.show is false
- Load balanced routes are shown on homepage instead of the load balancer
- Route with idlewatcher will now be removed on container destroy
- Idlewatcher panic
- Performance improvement
- Idlewatcher infinitely loading
- Reload stucked / not working properly
- Streams stuck on shutdown / reload
- etc...
Added:
- support idlewatcher for loadbalanced routes
- partial implementation for stream type idlewatcher
Issues:
- graceful shutdown
2024-10-18 16:47:01 +08:00
yusing
c0c61709ca
fixed idlewatcher panic, dashboard app name, route not removing on container destroy
2024-10-16 00:57:10 +08:00
yusing
56b778f19c
fixed json output for ls-routes and its API and homepage api
2024-10-15 16:23:46 +08:00
yusing
f4d532598c
Improved healthcheck, idlewatcher support for loadbalanced routes, bug fixes
2024-10-15 15:34:27 +08:00
yusing
f38b3abdbc
improved health check
2024-10-14 10:02:53 +08:00
yusing
99207ae606
routes in loadbalance pool no longer listed in ls-route and its API, the loadbalancer is listed instead. improved context handling and grateful shutdown
2024-10-14 09:28:54 +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
7184c9cfe9
correcting some behaviors for $DOCKER_HOST, now uses container's private IP instead of localhost
2024-10-11 09:13:38 +08:00
yusing
d91b66ae87
performance improvement and small fix on loadbalancer
2024-10-09 18:10:51 +08:00
yusing
5c40f4aa84
added round_robin, least_conn and ip_hash load balance support, small refactoring
2024-10-09 10:39:07 +08:00
yusing
921ce23dde
refactored http import name, fixed and simplified idlewatcher/idlewaker implementation, dependencies update
2024-10-07 12:45:07 +08:00
yusing
de7805f281
fixed idlewatcher panics and incorrect behavior, update screenshot
2024-10-06 16:17:52 +08:00