Commit Graph

1039 Commits

Author SHA1 Message Date
yusing
ea030ebd19 refactor(route): modernize code with unsafe.Add 2026-01-04 22:02:39 +08:00
yusing
64ba519f03 refactor(http/transport): increase MaxIdleConnsPerHost to 1000 2026-01-04 22:02:39 +08:00
yusing
4001e94d5c refactor(http): performance improvement
- Introduced a sync.Pool for ResponseRecorder to optimize memory usage.
- Updated ServeHTTP method to utilize the new GetResponseRecorder and PutResponseRecorder functions.
- Adjusted NewResponseRecorder to leverage the pooling mechanism.
2026-01-04 22:02:37 +08:00
yusing
30eae68a91 fix(idlewatcher): pass context to ProxmoxProvider 2026-01-04 22:02:35 +08:00
yusing
7d404ba32f refactor(config): correct logic in InitFromFile 2026-01-04 22:02:35 +08:00
yusing
915c5958fd chore: remove unused utils/deep_equal.go 2026-01-04 22:02:34 +08:00
yusing
ad2bfac275 refactor(api/health): simplify health info type
- Updated health-related functions to return simplified health information.
- Introduced HealthStatusString type for correct swagger and schema generation.
- Refactored HealthJSON structure to utilize the new HealthStatusString type.
2026-01-04 22:02:33 +08:00
yusing
65383c7061 refactor: add context handling in various functions
- Modified functions to accept context.Context as a parameter for better context management.
- Updated Init methods in Proxmox and Config to use the provided context.
- Adjusted UpdatePorts and NewProxmoxProvider to utilize the context for operations.
2026-01-04 22:02:33 +08:00
yusing
23ceeda402 feat(entrypoint): implement short link #177
- Added ShortLinkMatcher to handle short link routing.
- Integrated short link handling in Entrypoint.
- Introduced tests for short link matching and dispatching.
- Configured default domain suffix for subdomain aliases.
2026-01-04 22:02:33 +08:00
yusing
53dc70d15b fix(docker): update scheme validation to include 'tcp' in DockerProviderConfigDetailed 2026-01-04 22:02:32 +08:00
yusing
0a5e8597dd refactor(monitor): include detail in service down notification log 2026-01-04 22:02:31 +08:00
yusing
0884be240c feat(healthcheck/http): implement h2c health check support and refactor request handling
- Added support for health checks using the h2c scheme.
- Refactored common header setting into a dedicated function.
- Updated CheckHealth method to differentiate between HTTP and h2c checks.
2026-01-04 22:02:30 +08:00
yusing
021c560ff7 chore: update swagger add h2c scheme type 2026-01-04 22:02:29 +08:00
yusing
b6ed9abbb3 feat(http/reverseproxy): h2c support with scheme: h2c 2026-01-04 22:02:29 +08:00
yusing
c3f33e7c7e chore: upgrade dependencies 2026-01-01 16:47:44 +08:00
yusing
79b18828d4 feat(metrics): add IsExcluded field to RouteUptimeAggregate for enhanced status tracking
- updated swagger
2026-01-01 16:45:58 +08:00
yusing
3346c91f96 fix(homepage): improve alphabetical sorting by normalizing item names (#181)
- Updated the sorting function to use Title case for item names to ensure consistent alphabetical ordering.
2026-01-01 16:45:58 +08:00
yusing
979f712fbb fix(route): enhance host parsing with port suffix support
- Added logic to strip the trailing :port from the host when searching for routes.
- Updated findRouteByDomains function to ensure consistent host formatting.
- Added related tests
2026-01-01 16:45:57 +08:00
yusing
92848305d9 fix(route): update health monitor initialization to use implementation instance 2026-01-01 16:45:57 +08:00
yusing
0e7223ef35 fix(tests/metrics): correct syntax error 2026-01-01 16:45:51 +08:00
yusing
bea75d49c1 feat(route): add CommandRoute for routing requests to specified routes
- Introduced CommandRoute to handle routing requests to other defined routes.
- Added validation to ensure a single argument is provided for the route.
- Implemented command handler to serve the specified route or return a 404 error if not found.
2026-01-01 16:45:50 +08:00
yusing
65b38c06dc refactor(routes): add excluded routes to health check and route list
- Updated route iteration to include all routes, including excluded ones.
- Renamed existing functions for clarity.
- Adjusted health info retrieval to reflect changes in route iteration.
- Improved route management by adding health monitoring capabilities for excluded routes.
2026-01-01 16:45:50 +08:00
yusing
526190d444 refactor(docker): simplify docker host parsing 2026-01-01 16:45:46 +08:00
yusing
f89573e718 fix(oidc): add trailing slash to OIDCAuthBasePath to work with paths like /authorize 2026-01-01 16:44:52 +08:00
yusing
1c245e61e4 chore(swagger): update swagger regarding new docker config structure 2026-01-01 16:44:51 +08:00
yusing
1687f1d6b9 refactor(docker): update TLS config validation to require both CertFile and KeyFile exists or both empty 2026-01-01 16:44:50 +08:00
Yuzerion
8340d93ab7 feat: docker over tls (#178) 2026-01-01 16:44:45 +08:00
yusing
9acb9fa50f feat(debug): implement debug server for development environment
- Added `listenDebugServer` function to handle debug requests.
- Introduced table based debug page with different functionalities.
- Updated Makefile to use `scc` for code analysis instead of `cloc`.
2026-01-01 16:42:38 +08:00
yusing
2b0cd260ce feat(auth): modernize block page styling 2026-01-01 16:42:38 +08:00
yusing
6cd1fc844d fix(healthcheck): fix fileserver health check by removing zero port check 2026-01-01 16:42:37 +08:00
yusing
a503441539 fix(auth): correct logic in AuthOrProceed when auth is disabled 2026-01-01 16:42:37 +08:00
yusing
5d225c820f refactor(docker): streamline label loading in loadDeleteIdlewatcherLabels function 2026-01-01 16:42:37 +08:00
yusing
1636e19937 feat(oidc): make rate limit customizable; per oidc instance rate limit
- add env variables OIDC_RATE_LIMIT and OIDC_RATE_LIMIT_PERIOD
- default rate limit changed to 10 rps from 1 rps
- rate limit is no longer applied globally
2026-01-01 16:42:32 +08:00
yusing
af2975bcc4 fix(auth): enforce HTML acceptance in OIDC login handler 2026-01-01 16:42:31 +08:00
yusing
601864a3e9 refactor(auth): enhance error handling in OIDC login and callback handlers with user-friendly pages 2026-01-01 16:42:31 +08:00
yusing
b248303487 refactor(auth): update WriteBlockPage function to include action text and URL 2026-01-01 16:42:30 +08:00
yusing
6ca64ea3eb fix(config): remove duplicated reload error 2026-01-01 16:42:30 +08:00
yusing
e6308c4caa refactor(docker): remove unnecessary http client in NewClient method 2026-01-01 16:42:29 +08:00
yusing
498b0acbf9 refactor(list_icons): interning app category names to save memory 2026-01-01 16:42:29 +08:00
yusing
5012c9afab feat(fileserver): implement spa support; add spa and index fields to config 2026-01-01 16:41:32 +08:00
yusing
8045477abf fix(healthcheck): nil panic on health check 2025-12-20 11:07:17 +08:00
yusing
679b02f790 fix(healthcheck): nil panic on agents 2025-12-20 02:29:10 +00:00
yusing
678cf4b3c6 fix(idlewatcher): incorrect "dependency has positive idle timeout" error 2025-12-18 23:18:11 +08:00
yusing
4299c78067 refactor(http): enhance health check error logic by treating all 5xx as unhealthy 2025-12-18 10:13:59 +08:00
yusing
b49d565213 feat(reverse_proxy): add scheme mismatch handling for retry logic in reverse proxy 2025-12-18 10:13:53 +08:00
yusing
85b93be277 fix(docker): nil panic reading container names 2025-12-18 10:13:51 +08:00
yusing
a754a2ed9f refactor(http): consolidate User-Agent header in health monitor 2025-12-18 10:08:51 +08:00
yusing
7547de6077 fix(idlewatcher): directly serve the request on ready instead of redirecting 2025-12-17 11:47:53 +08:00
yusing
f7340015b5 fix(access_log): fix slice out-of-bound panic on log rotation 2025-12-17 10:29:27 +08:00
yusing
ba8d23fada fix(config): nil panic introduced in ff934a4bb2911f5fa3c23d8fe6fea252d881fdc3; remove duplicated log 2025-12-17 10:29:26 +08:00