Commit Graph

30 Commits

Author SHA1 Message Date
0xJacky
535c8efb38 fix(sitecheck): bound outbound connections and add global controls (#1608)
The site checker created a fresh http.Transport per request and per
EnhancedSiteChecker, with Go's default Happy-Eyeballs dialer. When
server_name entries resolved to ingress services returning many A
records (ngrok, AWS ALB, Cloudflare), each sweep opened enough flows
to exhaust conntrack tables on consumer routers (UniFi).

Introduce a package-level shared http.Transport with MaxConnsPerHost=2,
MaxIdleConnsPerHost=2 and FallbackDelay=-1 (disables IPv6 dial races),
plumb it through SiteChecker and EnhancedSiteChecker, and only build a
custom client when the per-site HealthCheckConfig truly diverges on
TLS. Reuse the response body fetched by the health check for favicon
extraction so each site is hit at most once per sweep, and dedupe sites
sharing the same host:port before fan-out.

Add a [site_check] settings section (Enabled, Concurrency, Interval-
Seconds) so operators can disable the checker entirely or tune the
sweep cadence; clamp Concurrency to [1, 20] and IntervalSeconds to
>=30. Document the new section in en, zh_CN and zh_TW guides and add
sidebar entries.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-18 16:06:06 +08:00
0xJacky
413dc631ee feat: add WebSocketTrustedOrigins configuration and implement origin validation for WebSocket connections
- Introduced `WebSocketTrustedOrigins` setting in `app.example.ini` and corresponding documentation.
- Refactored WebSocket origin checks across multiple API endpoints to utilize the new middleware for improved security.
- Added tests for the new origin validation logic to ensure proper handling of trusted origins and node secret requests.
2026-03-14 23:37:10 +08:00
Jray
0e7ea57110 feat: support oidc login (#1488) 2025-12-15 21:56:59 +08:00
0xJacky
84e9f31f6a chore: update docs 2025-12-08 18:44:04 +08:00
0xJacky
43dba4ce07 feat(nginx_log): enhance incremental indexing configuration and logic 2025-12-04 12:51:28 +08:00
0xJacky
6567d929eb feat(nginx_log): add index_path configuration for custom index storage 2025-10-01 18:55:44 +08:00
0xJacky
9aa5a260b6 feat(nginx_log): add advanced indexing settings 2025-08-31 15:11:14 +08:00
Jacky
86390a5ec2 feat(kernal): add support for h2 and h3 protocols 2025-07-07 10:19:15 +08:00
Jacky
a57748a432 feat(wip): code completion with llm 2025-04-16 07:50:23 +00:00
Jacky
241fa4adfe chore: update deps #946 2025-04-08 15:59:09 +08:00
Jacky
f9adbfc4bb chore: update app.example.ini #756 2024-11-25 10:26:35 +08:00
Jacky
bdfbbd0e8f feat: login via passkey 2024-09-15 20:32:03 +08:00
Jacky
5abd9b75bb feat: login 2fa 2024-07-23 17:28:13 +08:00
Jacky
a689608bdb feat: use settings file to predefine nodes #169 2024-05-07 19:45:24 +08:00
Jacky
b429c15893 feat: add enabled/disabled field to environment model #169 2024-05-07 16:31:47 +08:00
Jacky
1e9de6f21b feat: customize local environment name #313 2024-05-07 11:22:44 +08:00
Jacky
4c74bc8619 feat: use env to predefine admin user #214 2024-05-06 23:50:32 +08:00
Jacky
cb0fb47e1c feat: use env to override settings 2024-05-06 21:24:53 +08:00
Jacky
92fced15db chore: prepare for v2.0.0-beta.22 2024-05-04 12:28:06 +08:00
Jacky
1bf72009dc chore: update app.example.ini 2024-05-04 12:25:04 +08:00
0xJacky
37fa8b899f refactor: casdoor settings 2023-12-03 11:21:28 +08:00
Jray
7fe3517afe feat: added casdoor sso support (#204) 2023-11-25 23:12:51 +08:00
0xJacky
3ee8ef0523 feat: add setting for test nginx config command #191 2023-11-21 15:58:53 +08:00
0xJacky
01611ef622 feat: added custom nginx reload/restart cmd #140 2023-07-16 22:13:48 +08:00
0xJacky
5b8fae10df wip: added DNS challenge provider 2023-04-12 21:28:42 +08:00
0xJacky
4cd77f28eb wip: ChatGPT assistant 2023-03-20 19:48:43 +08:00
0xJacky
02fb07f6b4 feat: custom nginx conf dir path #62 2023-01-11 14:05:51 +08:00
0xJacky
6e3004b0bc feat: read nginx log 2022-08-30 14:03:59 +08:00
0xJacky
acc1aabaf7 Added setting for customizing webshell start command 2022-07-24 20:43:51 +08:00
0xJacky
d09f484790 embed frontend 2022-02-18 00:01:27 +08:00