Commit Graph
100 Commits
Author SHA1 Message Date
ushan0v b5f2eb3724 Rebrand project as Forkop 2026-07-11 18:23:20 +03:00
ushan0v dc052f03a7 Simplify build and backend test layout 2026-07-11 05:11:50 +03:00
ushan0v d0b53e9525 Fix component loading translation 2026-07-11 03:39:06 +03:00
ushan0v 834b8b8d4b Harden service reload recovery 2026-07-11 02:40:57 +03:00
ushan0v 6bfdca6229 Add automatic component update checks 2026-07-11 02:08:39 +03:00
ushan0v 3292766afe Refine Priority UX and add GitHub ruleset 2026-07-11 00:10:57 +03:00
ushan0v 958fc3cd14 Improve stopped-service dashboard and monitoring UX 2026-07-11 00:10:57 +03:00
ushan0v bf8eb5e2f9 Add prioritized DNS failover 2026-07-11 00:10:57 +03:00
ushan0v ef4bb76ad3 Harden outbound tag allocation 2026-07-11 00:10:57 +03:00
ushan0v 584f72f503 Add subscription node prefixes 2026-07-11 00:10:57 +03:00
ushan0v 53b49cac06 Simplify connection source settings and cascade 2026-07-11 00:10:56 +03:00
ushan0v 6577b341e1 Fix country lookup behind FakeIP DNS 2026-07-11 00:10:56 +03:00
ushan0v 6774d48356 Polish Priority labels and country flags 2026-07-11 00:10:56 +03:00
ushan0v 82494b77a0 Add Priority failover groups 2026-07-11 00:10:56 +03:00
ushan0v 2cc686d18f Improve JSON outbound and URLTest editing 2026-07-11 00:10:56 +03:00
ushan0v d3fc23b26c Speed up LuCI initial render 2026-07-11 00:10:56 +03:00
ushan0v 222f73710f Preserve selector choice across restart 2026-07-11 00:10:56 +03:00
ushan0v 8789c53a16 Defer nonessential LuCI startup work 2026-07-11 00:10:56 +03:00
ushan0v e172187234 Improve dashboard copy feedback 2026-07-11 00:10:56 +03:00
ushan0v f352193765 Gate WAN start retry on failed start marker 2026-07-11 00:10:56 +03:00
ushan0v 86e0278c3d Fix sing-box crash startup action state
Require sing-box to survive a dedicated startup stability window before Podkop Plus continues startup. This is generic runtime dependency validation, not special handling for rule-set, list, URL, or specific sing-box FATAL text.

When startup fails, Podkop Plus rolls back runtime/DNS state and the UI service action is closed through a short post-command wait instead of staying in the starting state until the full action timeout.

Keep the diagnostic restart action hidden during start/stop transitions, even if runtime probes briefly report Podkop Plus as running before the transition finishes. This prevents the restart button from flickering during failed startup.
2026-07-11 00:10:56 +03:00
ushan0v fd63d123e5 Fix crash-loop runtime status handling 2026-07-11 00:10:56 +03:00
ushan0v 826ebf6f32 Refine subscription URL settings 2026-07-11 00:10:55 +03:00
ushan0v 5181218788 Add latency test progress feedback 2026-07-11 00:10:55 +03:00
ushan0v 6ecfc75f8f Fix runtime cleanup after failed start 2026-07-11 00:10:55 +03:00
ushan0v 2e9351d309 Normalize section item UCI storage 2026-07-11 00:10:55 +03:00
ushan0v 803680aa4e Add subscription node visibility toggles 2026-07-11 00:10:55 +03:00
ushan0v 90a00a926b Fix Hysteria2 subscription runtime compatibility 2026-07-11 00:10:55 +03:00
ushan0v 16d7f7e155 Refine LuCI download and rule set settings 2026-07-11 00:10:55 +03:00
ushan0v 8610b83e43 feat: add unified connection action 2026-07-11 00:10:55 +03:00
ushan0v c0cf425fb5 Improve URLTest details and Xray tag handling 2026-07-11 00:10:55 +03:00
ushan0v f7a2fc3e4e Improve URLTest group imports and dashboard details 2026-07-11 00:10:54 +03:00
ushan0v 4f6c692163 Fix subscription proxy groups in generator 2026-07-11 00:10:54 +03:00
ushan0v 932bd725a8 Fix validated diagnostics and VLESS regressions
Delay stable sing-box package version failures until after package index refresh, preserve non-none VLESS encryption through import/cache/manual paths, and avoid false-positive FakeIP/firewall diagnostics.

Add targeted backend and frontend regression coverage for the accepted cases.
2026-07-11 00:10:54 +03:00
ushan0v e213fc342f Support IDN domain conditions 2026-07-11 00:10:54 +03:00
ushan0v 045ea42562 Add regression coverage for resolved issue reports 2026-07-11 00:10:54 +03:00
ushan0v 9ce314e5c4 Add priority bypass routing action
Replace user-facing direct routing action with bypass, add priority nft bypass handling, real DNS for bypass domains, migration cleanup, and the related runtime/frontend tests.

Also includes the previously pending runtime log hygiene cleanup and regression coverage that was already in the working tree.
2026-07-11 00:10:54 +03:00
ushan0v ae1e0373ee fix: translate IPv6 subnet validation errors 2026-07-11 00:10:54 +03:00
ushan0v 173b8bb789 feat: add dual-stack IPv6 support 2026-07-11 00:10:54 +03:00
ushan0v 5e3cf10d91 Fix stuck UI background actions 2026-07-11 00:10:54 +03:00
ushan0v 20b4b74e73 Make section editor open without metadata wait 2026-07-11 00:10:53 +03:00
ushan0v b19378e7b4 Optimize diagnostic value masking 2026-07-11 00:10:53 +03:00
ushan0v f681c4eacd fix direct route display tag mapping 2026-07-11 00:10:53 +03:00
ushan0v e3ef9e70fa Rewrite backend runtime from shell to ucode
Replace the legacy shell-owned runtime with modular ucode implementations for configuration, service lifecycle, subscriptions, diagnostics, DNS, nftables, routing, providers, updates, and sing-box generation.

Keep thin OpenWrt entrypoints and add regression and package-contract coverage for the new runtime ownership model.
2026-06-30 20:09:28 +03:00
ushan0v 86f1be3273 Optimize Podkop runtime process batching 2026-06-24 04:23:47 +03:00
ushan0v fbe812c7ce Fix URLTest connection interruption flag 2026-06-23 02:37:55 +03:00
ushan0v 3c57ea1182 Fix Zapret2 route mark range overlap 2026-06-23 02:15:34 +03:00
ushan0v 6169bfe1ed Normalize ALPN for websocket transports 2026-06-23 01:49:49 +03:00
ushan0v 3dcd5c00e8 Fix invalid xHTTP post byte import 2026-06-23 00:47:06 +03:00
ushan0v 1528eebf7d Allow download routing through provider sections 2026-06-22 04:56:57 +03:00
ushan0v 9d5c3a5198 Make dashboard subscription update a text button 2026-06-22 03:52:04 +03:00
ushan0v 06744259c8 Split proxy download settings 2026-06-22 03:46:18 +03:00
ushan0v e000ea3bff Make remote list updates non-fatal 2026-06-22 03:22:02 +03:00
ushan0v e863a16c91 Add JSON inbound server protocol 2026-06-22 02:48:04 +03:00
ushan0v a045a1c58d Fix startup cleanup and offload dependency 2026-06-18 21:55:57 +03:00
ushan0v 5f515acedf Preserve Hysteria2 userinfo in subscriptions 2026-06-18 09:39:58 +03:00
ushan0v e7e9188962 Update diagnostics and domain UI 2026-06-18 08:45:51 +03:00
ushan0v 59a13cc772 Improve diagnostics masking controls 2026-06-18 08:44:35 +03:00
ushan0v 3b0c7e0fc7 Honor section order and combined domains 2026-06-18 08:40:19 +03:00
ushan0v 3b4d9fd7aa Fix XHTTP subscription padding import 2026-06-18 08:38:35 +03:00
ushan0v 4d5862818a Update .gitignore 2026-06-18 02:27:00 +03:00
ushan0v 30820a6f1c Stage package downloads before disruptive installs 2026-06-12 21:29:30 +03:00
ushan0v 02c2398cfc Fix URLTest outbound diagnostics latency 2026-06-12 21:26:25 +03:00
ushan0v b83bbdf60d Collapse HTTP outbound UDP warnings 2026-06-12 21:13:41 +03:00
ushan0v 509b4c01bd Persist default outbound cascade target 2026-06-12 21:07:54 +03:00
ushan0v 7dec12cf9e Control dashboard latency sorting and URLTest targets 2026-06-12 01:05:06 +03:00
ushan0v 5202ffb5e3 Persist cascade detour default selection 2026-06-11 19:44:14 +03:00
ushan0v 0ad8ef0a4b Persist last working subscription caches 2026-06-11 19:44:04 +03:00
ushan0v 174259893e Fix Xray config subscription visibility 2026-06-11 19:43:42 +03:00
ushan0v 83f8362758 Align URLTest latency targets
Run diagnostic latency checks against the selected URLTest group instead of the parent section.

Keep dashboard manual tests aligned with the displayed URLTest target when filtered outbounds are hidden.
2026-06-11 11:34:16 +03:00
ushan0v bab1327c1e Support Xray config subscriptions
Normalize full Xray/V2Ray JSON configs into sing-box outbounds, including nested outbound arrays and detour references.

Bump the runtime cache format so previously normalized broken subscription caches are discarded on update.
2026-06-11 11:33:44 +03:00
ushan0v 91395142a3 Update README.md 2026-06-10 23:58:02 +03:00
ushan0v 2166ff0803 Add outbound cascade detour support 2026-06-10 23:09:15 +03:00
ushan0v 34c0a3c3e5 Keep diagnostic runs stable during info refresh 2026-06-10 23:09:15 +03:00
ushan0v e5e77f45fd Hide ByeDPI from dashboard sections 2026-06-10 23:09:14 +03:00
ushan0v b527c7bead Align provider diagnostic checks 2026-06-10 23:09:14 +03:00
ushan0v f282cbc7d2 Probe selected outbound only in diagnostics 2026-06-10 21:58:28 +03:00
ushan0v 3ace343437 Revert "Limit latency probes to concrete proxy targets"
This reverts commit 0f18a1ff9a52d5696246eaccf50b614dd1649384.
2026-06-10 21:47:26 +03:00
ushan0v 15f8b8527c Clarify UDP over TCP proxy hint 2026-06-10 21:46:32 +03:00
ushan0v 8307adc1e0 Support HTTP proxy outbounds 2026-06-10 07:00:34 +03:00
ushan0v 2135dce035 Use wildcard listener for TPROXY inbound 2026-06-10 06:24:16 +03:00
ushan0v 34baa1c49f Limit latency probes to concrete proxy targets 2026-06-10 06:20:31 +03:00
ushan0v 6ef5e751f2 Avoid redundant subscription downloads during startup 2026-06-10 06:10:16 +03:00
ushan0v f37e8b7b89 Isolate subscription outbound validation from inbounds 2026-06-10 06:06:45 +03:00
ushan0v 68b85554b5 Restore package services during sing-box rollback 2026-06-10 06:02:50 +03:00
ushan0v 2ba2acc5c2 Restore dnsmasq when manual DHCP takes over 2026-06-10 05:57:09 +03:00
ushan0v d42e60d5fb fix shellcheck 2026-06-09 04:09:54 +03:00
ushan0v 9ea5559c64 fix xhttp xmux parsing 2026-06-09 03:28:54 +03:00
ushan0v df4a13bfbe Clarify VPN interface latency diagnostics 2026-06-09 02:57:56 +03:00
ushan0v 380bb5404b Add optional release notes input 2026-06-09 01:45:49 +03:00
ushan0v a9ce644bc6 Support gzip-compressed subscriptions 2026-06-09 01:29:09 +03:00
ushan0v 5ae4117dfb Fix ucode subscription parser function ordering 2026-06-09 01:29:09 +03:00
ushan0v db2fc2394c Fix preserve xhttp options and urltest latency targets 2026-06-09 01:29:09 +03:00
ushan0v 8dbc139ff8 Refactor sing-box component installation 2026-06-09 01:29:08 +03:00
ushan0v 9c9bd8a791 Stabilize LuCI action reload state 2026-06-09 01:29:08 +03:00
ushan0v 16c045f3e0 Track external init.d service actions 2026-06-09 01:29:07 +03:00
ushan0v 76c15ccad9 Rename updates tab to components 2026-06-09 01:29:07 +03:00
ushan0v c880eccfe6 Fix preserve manual DHCP DNS settings 2026-06-09 01:29:07 +03:00
ushan0v 3fd700750f Stabilize LuCI UI action state 2026-06-09 01:29:06 +03:00
ushan0v 14c5f86e42 Fix restore nft imports after empty ucode writes 2026-06-09 01:29:06 +03:00