yusing
a7da8ffb90
refactor: clean up code and fix race condition in idlewatcher
2025-03-28 08:14:06 +08:00
yusing
3c515b0258
feat: predefined docker image blacklist, avoid proxing service backends, refactor
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
361931ed96
refactor: rename module 'err' to 'gperr' in references
2025-03-28 07:39:26 +08:00
yusing
9b2ee628aa
fix docker client data race on Close(), remove SharedClient.IsConnected
2025-03-01 15:47:08 +08:00
yusing
357ad26a0e
reduce docker client initiation
2025-03-01 15:39:25 +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
bbc10cb105
fix serialization, added benchmark tests, updated next release docs
2025-01-26 15:08:10 +08:00
yusing
b984386bab
fix: high cpu usage
2025-01-22 05:44:04 +08:00
yusing
5d3a93f103
idlewatcher: fix visiting unhealthy idle watched container causes panic
2025-01-21 10:37:09 +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
Yuzerion
589b3a7a13
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>
2025-01-19 00:37:17 +08:00
yusing
3f85d7f813
container now consider explicit if any proxy label defined
2025-01-12 22:31:43 +08:00
yusing
2c3672a7ea
idlewatfcher: add proper Cache-Control Headers to response
2025-01-12 13:16:58 +08:00
yusing
bc1702e6cf
refactoring: moved reverse_proxy to separate package to avoid import cycle
2025-01-08 13:50:34 +08:00
Peter Olds
7fedd5729e
feat: Add optional StartEndpoint support for idle watcher
...
Optionally allow a user to specify a “warm-up” endpoint to start the container, returning a 403 if the endpoint isn’t hit and the container has been stopped.
This can help prevent bots from starting random containers, or allow health check systems to run some probes.
2025-01-08 11:01:10 +08:00
yusing
c506db1ef4
refactor
2025-01-03 18:55:44 +08:00
yusing
b38bff41d8
support inline yaml for docker labels, serveral minor fixes
2025-01-03 15:35:40 +08:00
yusing
cd74b76483
fix reload stuck
2025-01-03 03:30:07 +08:00
yusing
a0a81240ce
fix idlewatcher nil dereference
2025-01-01 14:25:44 +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
6aefe4d5d9
replace all schema check with go-playground/validator/v10
2024-12-18 04:48:29 +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
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
5d5c623f09
small refactor and fixes
2024-12-03 11:45:10 +08:00
yusing
fb9de4c4ad
added ping latency to healthcheck result
2024-11-30 06:43:47 +08:00
yusing
e1cac9f92f
update validateSignal
2024-11-28 06:56:23 +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
64728d10ad
fixed incorrect healthcheck result in some cases, healthchecker now send user agent identifying godoxy
2024-11-11 06:37:05 +08:00
yusing
c07f2ed722
fixed healthchecker start even if disabled, simplified label parsing
2024-11-11 06:34:12 +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
c6a9a816f6
copied default config into docker image, fixed ls-routes
2024-11-04 00:31:34 +08:00
yusing
a86d316d07
refactor and typo fixes
2024-11-02 03:14:47 +08:00
yusing
76454df5e6
remove useless dummytask
2024-11-02 03:14:25 +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
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
53fa28ae77
graceful shutdown and ref count related
2024-10-14 10:31:27 +08:00
yusing
f38b3abdbc
improved health check
2024-10-14 10:02:53 +08:00
yusing
51c6eb4597
fixed problems related to reload and port selection
2024-10-14 08:55:49 +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