Commit Graph

1190 Commits

Author SHA1 Message Date
yusing
c19d82c876 feat(autocert): add EAB configuration support and corresponding tests 2025-08-17 11:45:26 +08:00
yusing
d2f317b44d docs(api): update swagger docs 2025-08-17 01:50:38 +08:00
yusing
ba9cb083cf fix(api): ErrorResponse no longer includes ANSI escape sequeneces 2025-08-17 01:50:26 +08:00
yusing
06669534cd fix(api): validate API response 2025-08-17 01:49:49 +08:00
yusing
07d6f36159 feat(docker): include full labels, mountpoints and image details 2025-08-17 01:47:58 +08:00
yusing
55018c8ab6 fix(route): update HealthJSON field to exclude from JSON serialization 2025-08-17 00:40:57 +08:00
yusing
0862920324 refactor(concurrency): simplify some waitgroup usage, remove extra wg.Done in wg.Go left in 11af9d1 in io.go 2025-08-17 00:23:54 +08:00
yusing
b32750d545 fix(websocket): websocket concurrent write during ping pong 2025-08-17 00:17:14 +08:00
yusing
a836920eca refactor(notif): replace RangeAllParalel with for loop and WaitGroup in dispatch 2025-08-16 23:58:59 +08:00
yusing
6b89cd9106 fix(api): added missing "x-id"s 2025-08-16 23:24:03 +08:00
yusing
11af9d107a refactor(concurrency): replaced manual WaitGroup management with new wg.Go() and removed redundant code. 2025-08-16 23:14:40 +08:00
yusing
7a9b8b3fb9 fix(api): corrected json marshaling for HealthInfo 2025-08-16 23:05:29 +08:00
yusing
90efa36193 refactor(api): better type safety, split homepage override apis, fixed favicon api docs 2025-08-16 19:57:14 +08:00
yusing
1e78a0a0a0 fix(api): wrong "accept" type in file set and validate API 2025-08-16 17:31:11 +08:00
yusing
52324fbef2 fix(tests): updated docker types in tests 2025-08-16 13:09:08 +08:00
yusing
8b40baa49f chore(dependencies): upgrade Go version and update related dependencies
- Updated Go version from 1.24.5 to 1.25.0 across multiple modules.
- Incremented versions for go-acme/lego from v4.25.1 to v4.25.2 and yusing/go-proxy from v0.16.1 to v0.16.2.
- Updated indirect dependencies including cloud.google.com/go/auth, golang.org/x/net, and others to their latest versions.
- Cleaned up and organized go.mod and go.sum files.
2025-08-16 13:08:39 +08:00
yusing
35a3e3fef6 refactor(api): restructured API for type safety, maintainability and docs generation
- These changes makes the API incombatible with previous versions
- Added new types for error handling, success responses, and health checks.
- Updated health check logic to utilize the new types for better clarity and structure.
- Refactored existing handlers to improve response consistency and error handling.
- Updated Makefile to include a new target for generating API types from Swagger.
- Updated "new agent" API to respond an encrypted cert pair
2025-08-16 13:04:05 +08:00
yusing
fce9ce21c9 chore(dependencies): update go-acme/lego, quic-go, and other dependencies
- Upgraded go-acme/lego from v4.24.0 to v4.25.1.
- Updated quic-go from v0.53.0 to v0.54.0.
- Incremented versions for yusing/go-proxy and related dependencies.
- Updated aws/smithy-go from v1.22.4 to v1.22.5 and baidubce/bce-sdk-go from v0.9.235 to v0.9.236.
- Updated barcode library from v1.0.2 to v1.1.0.
- Updated google.golang.org/api from v0.242.0 to v0.243.0 and grpc from v1.73.0 to v1.74.2.
- Cleaned up unused dependencies and updated indirect dependencies.
v0.16.2
2025-07-27 21:49:11 +08:00
yusing
475e697490 fix(healthcheck): fix spamming notifications for unhealthy services
- Added a new `downNotificationSent` flag to track if a service down notification has been sent.
- Reset the notification state when a service comes back up.
- Updated logic to ensure notifications are sent only once after reaching the configured retry threshold for consecutive failures.
2025-07-27 21:47:29 +08:00
yusing
68ac4f952d fix(autocert): wrong path for last failure file v0.16.0 v0.16.1 v0.16.0-pathfix 2025-07-21 09:39:17 +08:00
yusing
a2e6688056 chore: upgrade dependencies 2025-07-20 13:29:03 +08:00
yusing
e02cacdf2a feat(middleware): add themed middleware with customizable themes and styles
- Introduced a new themed middleware that allows for dynamic theme application.
- Added support for multiple themes: dark, dark-grey, solarized-dark, and custom CSS.
- Included CSS files for each theme and a font CSS template for font customization.
- Updated middleware registry to include the new themed middleware.
2025-07-20 12:59:25 +08:00
yusing
46c7ee4d84 feat(middleware): optimize HTML modification with byte pool 2025-07-20 12:47:32 +08:00
yusing
f39513483b refactor(middleware): improve common options handling in apply method 2025-07-20 12:46:30 +08:00
yusing
731121595c feat(autocert): enhance failure handling and cooldown logic
- Added last failure tracking to the Provider struct to manage certificate renewal failures.
- Implemented methods to get, update, and clear the last failure timestamp.
- Introduced cooldown durations to prevent immediate retries after failures.
- Updated ObtainCert and ScheduleRenewal methods to utilize the new failure handling logic.
2025-07-20 12:42:52 +08:00
yusing
8025af6067 feat(healthcheck): add retries before notifying (default: 3 times)
- Introduced NotifyFunc type for customizable notification handling in tests.
- Added Retries field to HealthCheckConfig for controlling notification thresholds.
- Implemented tests for notification behavior under various health check scenarios.
2025-07-20 12:03:45 +08:00
yusing
47910774dd fix(homepage): missing homepage.url option 2025-07-13 15:47:26 +08:00
yusing
b6bfd19cc2 fix(middleware): set Accept-Encoding to "" in modify_html middleware 2025-07-13 15:42:39 +08:00
yusing
e3b53a548d refactor(misc): small code refactor 2025-07-13 14:33:58 +08:00
yusing
a954ac8946 feat(middleware): introduct modify_html middleware 2025-07-13 14:01:36 +08:00
yusing
814ff33352 fix(tests): refactor and fix login in middleware test utils 2025-07-13 13:33:48 +08:00
yusing
b1d5c4b091 chore: upgrade go to 1.24.5 2025-07-13 13:10:19 +08:00
yusing
72dc783e23 fix(icons): update selfh.st icon json url v0.15.3 2025-07-01 02:14:27 +08:00
yusing
1c95bbba6e fix: Makefile 2025-07-01 02:14:12 +08:00
yusing
0c552c9cea chore: upgrade dependenocies 2025-07-01 02:14:06 +08:00
yusing
5631b1540a fix(notif): refactor and fix json payload validation and handling 2025-06-28 14:46:54 +08:00
yusing
24f949f053 fix(notif): stack overflow due to self recursion 2025-06-28 14:44:06 +08:00
yusing
9d712b91ff fix(rules): routes without default rule panics v0.15.1 2025-06-16 21:36:20 +08:00
yusing
4189ffa1db fix(docker): wildcard properties not working with FQDN aliases 2025-06-16 21:23:23 +08:00
yusing
e906b358fa tweak(entrypoint): introducing ResponseRecorder specialized for access logger for better throughput 2025-06-15 17:42:38 +08:00
yusing
f179de9231 fix(setup): update DNS provider docs link in setup script 2025-06-15 10:00:53 +08:00
yusing
1d546624de fix(serialization): call of reflect.Value.IsNil on string Value v0.15.0 2025-06-14 22:12:24 +08:00
yusing
ecc9d306d1 refactor(agent): move agent pool to agent package, rename route.Agent() to route.GetAgent() (cont. 7d17a01) 2025-06-14 22:04:10 +08:00
yusing
5ce1c7865e feat(agent): allow specifying agent for routes in route files 2025-06-14 20:05:11 +08:00
yusing
7d17a01de1 refactor(agent): move agent pool to agent package, rename route.Agent() to route.GetAgent() 2025-06-14 20:04:39 +08:00
yusing
cabb840a91 tweak(docker): add hint when specified network not found 2025-06-14 19:32:36 +08:00
yusing
4825f768f3 feat(docker): allow specifying docker network, handle error when no network available 2025-06-14 17:08:07 +08:00
yusing
5fdb023188 feat(docker): add network field to container info 2025-06-14 10:05:45 +08:00
yusing
4abf61a421 refactor(notif): enhance retry mechanism with exponential backoff and jitter; replace retry channel with a set for managing retry messages 2025-06-14 09:31:09 +08:00
yusing
96b7c3fcec chore: upgrade dependenocies 2025-06-13 23:06:34 +08:00