Commit graph

469 commits

Author SHA1 Message Date
Andrevich
900ac53717 Support custom_json, XHTTP, Naïve and parsing fixes
Adds a new 'custom_json' routing mode that can use a user-provided client config; UI changes in client.js to expose custom_json options and trigger subscription updates via RPC. node.js: require rpc, add NaïveProxy node type and XHTTP transport with UI fields (xhttp_mode, xhttp_headers), and adjust field dependencies. generate_client.uc: add TLS fragment support, normalize TLS ALPN to an array, handle xhttp mode/headers, rename log/output filenames, add default_mark and use it in routing, and write out hiddify-c.json. update_subscriptions.uc: import urldecode_params and extend URI parsing (naive, ssh, enhanced trojan parsing including xhttp and hiddify extras), add WireGuard parsing, and make base64 node decoding more robust. init.d: support custom_json by copying user-supplied config or generating config as appropriate and include custom_json in DNSMasq routing cases. Add an RPC method (subscription_update) in luci.homeproxy to run the subscription updater.
2026-05-14 00:22:45 +04:00
Andrevich
67fc51f3b6 Add Yandex and Speedtest connectivity checks
Extend the HomeProxy status page and RPC handler to include connectivity checks for Yandex and Speedtest. Adds two new DummyValue entries ('_check_yandex', '_check_speedtest') in the status view and adds corresponding cases in luci.homeproxy to map 'yandex' and 'speedtest' to their URLs. This enables the existing getConnStat routine to report on those additional services.
2026-05-13 18:53:20 +04:00
Andrevich
4f3511fdaf Switch sing-box to hiddify-core
Migrate the project from sing-box to hiddify-core across packaging, init scripts, UI and runtime helpers. Removed sing-box package dependency from build/IPK/Makefile and updated GitHub Actions usages (checkout/upload-artifact pinned to v4). UI and status/log viewers now reference hiddify-c/hiddify-core and log filenames were renamed. init.d was rewritten to use /usr/bin/hiddify-core, load client config from /etc/homeproxy/hiddify-c.json, simplify routing/tproxy setup, adjust dnsmasq handling, and run hiddify-c via procd; log cleaner and ACL/ucode RPC checks were updated accordingly. Overall this change migrates runtime/service names, config paths and version parsing to hiddify-core.
2026-05-12 23:47:25 +04:00
Tianling Shen
4d03551207
fix(view/client): fix http/3 dns dependency
Fixes: a2ab4c7154 ("fix(view/client): fix type of http/3 dns server")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-11-10 18:44:55 +08:00
Tianling Shen
a2ab4c7154
fix(view/client): fix type of http/3 dns server
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-11-09 23:20:46 +08:00
Tianling Shen
51580f938b
chore(view/client): add placeholder for dns port
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-10-25 16:42:11 +08:00
Tianling Shen
b5ff4892a3
chore(view/node,server): add missing password prop where applicable
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-24 20:04:04 +08:00
Anya Lin
e27aafe2c5 chore(server): improvements 2025-09-22 15:24:36 +08:00
Anya Lin
23538e54f7 refactor(server): allows generation of REALITY keys 2025-09-22 15:24:36 +08:00
Anya Lin
7b14972c0f refactor(server): reduce the coupling of handleGenKey 2025-09-22 15:24:36 +08:00
Tianling Shen
7fcaa28646
refactor(client): improve dns domain resolver logic
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-20 15:28:48 +08:00
Tianling Shen
d07c5688ba
chore: style update
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-19 18:40:23 +08:00
Tianling Shen
92e5faf3b7
fixup(client): fix set dns outbound
Fixes: e568efd3e0 ("fix(client): fix set dns outbound")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-18 20:13:01 +08:00
Tianling Shen
e568efd3e0
fix(client): fix set dns outbound
DNS outbound now defaults to `direct` and no need to specify it
manually.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-18 20:00:33 +08:00
Tianling Shen
36ea9173f4
chore(view): fix calling ui.changes.apply
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-14 22:01:54 +08:00
Tianling Shen
ed3866f7cb
feat(status): allow set log level for core
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-12 20:22:36 +08:00
Tianling Shen
f662e17f28
feat(view/server): allow use reality for anytls
Remove deprecated with_reality_server check while at it.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-12 15:38:59 +08:00
Tianling Shen
f0db663a07
chore(view/status): make use of L.bind
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-12 15:21:28 +08:00
Tianling Shen
7c7badcde6
feat(node): allow use reality for anytls
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-08-27 18:48:56 +08:00
breeze303
47a7a8c01b
fix(client): disable utls for tuic
tuic and Hysteria2 are both based on QUIC and use UDP, not supporting TCP's utls
2025-08-24 17:19:52 +08:00
Tianling Shen
39df862e4e
chore(client): remove deprecated pq_signature_schemes_enabled option
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-08-24 15:25:19 +08:00
breeze303
71bc57178e
fix(client): remove features.with_ech check
sing-box 1.12 removed the `with_ech` tag
2025-08-23 23:28:00 +08:00
Tianling Shen
4addb0dcc3
feat(server): add support for bind_interface and reuse_addr
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-08-22 17:04:00 +08:00
Tianling Shen
139beb631e
chore(po): update translations
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-08-22 17:04:00 +08:00
Tianling Shen
5b3137daaa
chore(client): allow udp_timeout empty
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-08-22 17:04:00 +08:00
Tianling Shen
72be12f7c7
feat(client): migrate dns server to new format
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-08-22 17:03:59 +08:00
Tianling Shen
70541f4611
feat(client): add route action support
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-08-22 17:03:59 +08:00
Tianling Shen
1ba49a05fd
refactor(client): update dns resolver for outbound
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-08-22 17:03:59 +08:00
Tianling Shen
163ec09c1b
feat(client): add dns action support
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-08-22 17:03:59 +08:00
Tianling Shen
7f72cdf1ee
chore(view): remove o.default = o.disabled
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-08-22 17:03:59 +08:00
Tianling Shen
cceb92e062
refactor(client): update default dns servers
Remove block-dns from default DNS servers since RCode has been
deprecated.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-08-22 17:03:59 +08:00
Tianling Shen
388e6a3bd0
feat: add anytls support
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-08-22 17:03:59 +08:00
Tianling Shen
017a12533b
fix(node): improve parse ss password
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-08-18 19:57:35 +08:00
Tianling Shen
60fbec28a7
fix(node): change ssh_priv_key to DynamicList
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-08-04 16:27:40 +08:00
Tianling Shen
616e45df21
chore(hp): change to use let
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-07-22 22:32:21 +08:00
Fengyu Wu
522d6ab2b7 feat(client): remove TUN GSO
TUN GSO is not working since auto_route is disabled.

And it's deprecated in sb 1.11.
2025-07-20 10:59:29 +08:00
Tianling Shen
137e3de145
feat(client): fix remove urltest nodes
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-07-14 20:18:07 +08:00
Tianling Shen
1a307f106c
fix(client): fix check conflict nodes
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-07-14 20:08:36 +08:00
Tianling Shen
636f1d1850
chore(view/status): update reference to loading icon
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-07-09 17:02:16 +08:00
Tianling Shen
2bab10f870
feat(server): move firewall option to single server
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-07-02 18:37:30 +08:00
Anya Lin
20288e342c feat(generator/server): ECH support 2025-06-04 13:18:59 +08:00
Anya Lin
cf84bea762 refactor(server/hp/ucode): Refactor handleGenKey, add support for keypair 2025-06-04 13:18:59 +08:00
Tianling Shen
6a4406da5b
feat(client): add back block-out and block-dns
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-05-13 16:08:56 +08:00
Tianling Shen
f05a3f39c9
fix(subscribe): fix parse insecure param in hy2
Fixes: #321
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-05-05 12:53:59 +08:00
Tianling Shen
5b055370d6
feat(view/status): export github_token option
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-04-03 17:14:57 +08:00
Tianling Shen
1783c711cd
refactor(client): migrate wireguard to endpoints
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-03-11 22:16:30 +08:00
Tianling Shen
6fe64e0f95
refactor: adapt sing-box 1.11
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-03-11 21:00:31 +08:00
Tianling Shen
0f695f47fe
stype(view): simplify code
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-03-11 20:30:22 +08:00
Tianling Shen
bf5ef29227
chore(client): align rule_set_ip_cidr_match_source desc
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-02-23 17:47:01 +08:00
Tianling Shen
0d3fb3e8fa
feat(subscribe): support v{m,l}ess httpupgrade sharelink
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-02-23 16:23:24 +08:00