Commit graph

9 commits

Author SHA1 Message Date
Alireza Ahmadi
158a204b5f feat: live traffic 2026-09-16 00:53:43 +02:00
Alireza Ahmadi
d8625970e4 Drop the TLS template for OpenVPN and OpenConnect endpoints (#1253) 2026-09-10 01:30:01 +02:00
Alireza Ahmadi
97a69bef2a http http2 quic fields 2026-08-31 14:06:23 +02:00
Alireza Ahmadi
4202af9b17 other migrations to 1.14 2026-08-31 14:06:23 +02:00
Alireza Ahmadi
91ff2e72d0 upgrade acme to ca provider 2026-08-31 14:06:23 +02:00
Alireza Ahmadi
a5c6102359 core: cover the new 1.14 protocols with config tests
Starts snell v5 and v6 inbounds, a snell outbound and an oom-killer service;
bridge gets construct-only coverage since creating its tun needs privileges.

Also bumps the frontend submodule to the UI for these protocols.
2026-08-31 14:06:23 +02:00
Alireza Ahmadi
2a0a240ecd core: register the protocols added in sing-box 1.14
Adds every new 1.14 type to the registries, following upstream's include
package: the build-tagged ones get the same stub pair s-ui already uses for
naive and tailscale, so a build without the tag reports which tag is missing
instead of failing to parse.

- inbound: snell, cloudflared
- outbound: snell, bridge
- endpoint: openconnect, openvpn (client and server)
- dns transport: mdns, resolved, openconnect, openvpn
- service: api, oom-killer, usbip (server and client)

with_cloudflared, with_openconnect, with_openvpn and with_usbip are added to
build.sh, the Dockerfile and both release workflows. Verified the linux
amd64/arm64 and windows amd64 cross-builds CI ships.

Registry tests now assert the full expected type set rather than just
certificate providers, and the box tests write their cache file to a temp
directory instead of leaving core/cache.db behind.
2026-08-31 14:06:23 +02:00
Alireza Ahmadi
f41da0dfdd database: migrate options deprecated in sing-box 1.14
One-shot migration over the stored config and TLS rows, guarded by a setting
so it runs once:

- dns.independent_cache is dropped (1.14 reads it only to warn; the value is
  never passed to the DNS client)
- experimental.cache_file.store_rdrc becomes store_dns
- route.rule_set[].download_detour becomes the http_client 1.14 builds for it
- inline tls.acme becomes tls.certificate_provider with type "acme"

Legacy DNS address filters and the `strategy` DNS rule action are NOT migrated
automatically. Converting them means inserting evaluate rules and reordering,
which changes how names resolve, so they are logged with the upstream
migration link for the operator to handle.

Tests cover each rewrite, that unrelated options survive, that a config with
nothing to migrate is left byte-identical, and that the migrated shapes build
a box with no deprecation warning.
2026-08-31 14:06:23 +02:00
Alireza Ahmadi
6f046508db core: add config compatibility test for the 1.14 upgrade
Starts a real box for each config in testdata/configs and logs the
deprecation notes it triggers. Covers the eight re-copied protocol inbounds
plus the option shapes s-ui's UI can emit that 1.14 deprecates.

Confirms no config s-ui produces fails to start under 1.14; the deprecated
ones warn and keep working.
2026-08-31 14:06:23 +02:00