Commit graph

556 commits

Author SHA1 Message Date
Andrevich
020e65280a Update luci.homeproxy 2026-05-14 00:27:22 +04:00
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
203cea0b17 Rename package to luci-app-homeproxy-hiddify
Update package name and references to the hiddify variant: change README download URL to luci-app-homeproxy-hiddify_latest_all.ipk; rename luci menu and rpcd ACL JSON files to luci-app-homeproxy-hiddify and update their acl/depends keys; update i18n POT/PO source references accordingly (po/templates/homeproxy.pot, po/zh_Hans/homeproxy.po). This aligns menu/ACL entries and translations with the released package name.
2026-05-13 18:12:23 +04:00
Andrevich
ec52b91207 Update LuCI menu title
Rename the LuCI menu entry for admin/services/homeproxy from "HomeProxy" to "HomeProxy-Hiddify"
2026-05-13 18:03:30 +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
29f61caf30
fix(subscribe): guard params usage
url.searchParams can be empty in edge case, add a fallback value
for it.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-04-24 16:49:21 +08:00
Tianling Shen
c79b02656e
chore(resources): update geodata
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-04-24 16:03:48 +08:00
Tianling Shen
ec92da1f6d
chore(resources): update geodata
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-03-12 11:47:57 +08:00
Tianling Shen
c7bd1d43b6
chore(resources): update geodata
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-01-21 10:15:15 +08:00
Tianling Shen
b5502b1c48
feat(fw4/post): allow disable DNS redirect
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-01-21 10:02:58 +08:00
Tianling Shen
d1b2f02c3d
chore(resources): update geodata
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-12-14 19:36:34 +08:00
Tianling Shen
84d8f4da34
chore(resources): update geodata
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-11-09 23:23:52 +08:00
Tianling Shen
a7a883003d
chore(resources): update geodata
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-10-21 16:38:12 +08:00
Tianling Shen
9091deab72
fix(generator/client): fix parse dnsserver
Fixes: 0686d61e01 ("fix(generator/client): fix parse IPv6 address in DNS server")
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-10-21 16:36:58 +08:00
Tianling Shen
8b8d00a1e3
chore(config): disable ntp server by default
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-10-10 15:15:16 +08:00
Tianling Shen
a627eeb2a4
feat(generator/client): allow disable NTP server
You can disable NTP server with:
uci set homeproxy.infra.ntp_server='nil'
uci commit homeproxy

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-10-04 16:30:00 +08:00
Tianling Shen
a651f391e9
fix(migrate): fix parse IPv6 address in DNS server
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-10-04 16:27:21 +08:00
Tianling Shen
0686d61e01
fix(generator/client): fix parse IPv6 address in DNS server
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-30 19:25:03 +08:00
Tianling Shen
a3d09787d4
fix(generator/client): fix use of china-dns tag
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-30 19:18:35 +08:00
Tianling Shen
71d3c05438
feat(generator/client): prefer china dns server for resolving node domain
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-30 19:13:40 +08:00
Tianling Shen
1eea2a3674
feat(scripts/resources): make use of flock
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-25 20:32:01 +08:00
Tianling Shen
1192893ec3
chore(config): add SMTP 587 to default (common) proxy port
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-23 01:32:44 +08:00
Tianling Shen
235abffd02
chore(resources): update geodata
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-21 22:47:16 +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
Tony Guo
908185886d
fixup(generator/client): fix undeclared variable causing by spelling mistake in scripts 2025-09-18 23:46:59 +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
77e80bb6d0
chore(clean_log): change max log size to 50 KB
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-12 20:22:47 +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
21f33820cf
chore(resources): update geodata
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-12 15:42:12 +08:00
Tianling Shen
7347b4ccf7
chore(config): fix use of deprecated routing rule
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-12 15:06:30 +08:00
Tianling Shen
70788ba1ba
chore(migrate): remove deprecated tls_ech_enable_pqss option
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-08 19:54:26 +08:00
Zolyn
e8fb77a6c2
fix(subscribe): incorrect config keys iteration when deleting obsolete node option 2025-09-06 19:28:05 +08:00
Tianling Shen
dabe562de1
chore(generator/client): avoid create empty domain_resolver object
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-08-26 14:51:55 +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
Tianling Shen
c730db971d
fix(migrate): add missing rcode migration
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-08-23 22:10:39 +08:00
Tianling Shen
d6e1146a34
fix(generator/client): fix set domain resolver for china dns
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-08-22 22:16:39 +08:00
Tianling Shen
5868043a8e
fix(generator/client): fix ipv6_support usage
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-08-22 20:51:29 +08:00
Tianling Shen
f506c3dc80
feat(generator): make use of strToTime
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-08-22 17:04:00 +08:00
Tianling Shen
2d8910735d
feat(generator): make use of strToBool
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-08-22 17:04: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
63314bbaec
chore(resources): update geodata
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
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
0692b24ab1
feat(generator/client): switch to domain_resolver for ntp
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-08-22 17:03:59 +08:00