Repository navigation
Releases: NarYuki/OpenSocks
Releases · NarYuki/OpenSocks
Release list
OpenSocks 0.2.13
OpenWrt platforms
- Merged multi-architecture OpenWrt package support contributed by @haotian-lu-prog in #2.
- Fixed minimal-package CPU detection on little-endian MIPS routers whose kernel reports the generic
mipsarchitecture name. - Continued to reject binaries whose CPU architecture or byte order does not match the router.
OpenSocks 0.2.12
OpenWrt platforms
- Added signed daemon and full-package builds for mipsel and arm64 routers.
- Added package architecture aliases for stock OpenWrt and GL.iNet arm64 firmware.
- Made the minimal package select only a verified binary matching the router CPU.
- Kept existing mipsel minimal installations compatible with the previous release metadata.
Release delivery
- Added multi-architecture assets to the signed opkg feed synchronization.
- Skipped synchronization when the same release is already active to prevent duplicate downloads and storage growth.
OpenSocks 0.2.11
Session servers
- Added independent server selection for the second and third sessions in LuCI and the mobile client.
- Kept every additional session linked to the main server by default while allowing either session to be pinned separately.
- Preserved per-session server selections across service and router restarts.
- Excluded and accounted for every active VPN server address when sessions use different endpoints.
OpenSocks 0.2.10
Smart routing
- Captured LAN DNS through the router so changing service subdomains are learned automatically.
- Added all
.cndomains and every known Chinese-service subdomain to the live Smart routing set. - Prevented encrypted-DNS and IPv6 paths from bypassing the observable IPv4 Smart route.
- Routed and classified Honor of Kings battle servers that are supplied as direct overseas IP addresses.
Controls
- Applied mobile routing and session selections immediately when an item is tapped and removed the extra Apply button.
- Preserved unsaved LuCI settings while status information refreshes in the background.
OpenSocks 0.2.9
Routing controls
- Fixed the mobile routing sheet dropping Smart/Full China and Single/Dual/Triple changes while restoring the native navigation bar.
- Kept the routing operation active after the sheet closes so authentication, network configuration, interface processing, completion, and errors remain visible on the main screen.
- Fixed the LuCI proxy omitting
session_countfrom settings requests. - Prevented LuCI status polling from replacing edited routing values while a settings request is running.
- Kept the selected routing and session modes after service and full-router restarts.
OpenSocks 0.2.8
Multi-session UDP routing
- Enabled UDP forwarding on every active session in Dual and Triple modes.
- Added symmetric flow hashing so each UDP flow remains pinned to one session while separate flows are distributed across the available sessions.
- Kept the same policy-routing mark on every UDP slot so all selected flows use the existing TPROXY route safely.
- Validated two- and three-session UDP listeners and nftables rules on the target OpenWrt router.
- Verified with LAN traffic that 18 independent flows were distributed across all three sessions and that ten packets from one flow remained on a single session.
OpenSocks 0.2.7
Mobile interface
- Unified Smart/Full China routing and Single/Dual/Triple session selection in one routing-mode sheet.
- Displayed the selected routing mode and session mode together on the home routing card.
- Applied both selections in one network reconfiguration and removed the duplicate session selector from Settings.
OpenSocks 0.2.6
Multi-session routing
- Added Single, Dual, and Triple session modes as supported operating modes in LuCI and the mobile client.
- Kept Single mode as the default for new installations while preserving the selected mode across service and router restarts.
- Connected every active session to the selected Transocks line and distributed new China-bound TCP flows across two or three isolated routes with nftables.
- Added active-session reporting to the control API and mode-aware status indicators to LuCI and the mobile client.
- Preserved compatibility with installations that previously enabled the dual-session setting.
Speed testing
- Made speed-test concurrency an internal implementation detail and automatically selected the tested stream count for each session mode.
- Added three-session speed-test pooling with six internal transfer streams in Triple mode.
- Improved the China-route benchmark connection pool, idle-connection cleanup, progress update frequency, and memory reclamation on low-memory routers.
- Expanded Ookla endpoint selection and improved failure handling for SpeedTest.cn and external mainland test servers.
Traffic and routing
- Expanded China-service classification and corrected service names in the traffic ranking.
- Improved DNS observation and dynamic service-address tracking for subdomains and short-lived endpoints.
- Added balanced two-way and three-way nftables TCP dispatch while retaining the primary session for UDP routing.
- Paused background traffic sampling and route recovery during speed tests to reduce CPU and memory contention.
Reliability and validation
- Added isolated persistent state for each active session and made multi-session login and connection setup failure-safe.
- Improved connection retry behavior for transient Transocks authentication failures.
- Passed Go unit tests, the race detector,
go vet, MIPS soft-float cross-compilation, Flutter analysis, and Flutter tests. - Validated Single, Dual, and Triple modes on the target OpenWrt router; all sessions followed the selected server and produced the expected one-, two-, and three-way nftables rules.
OpenSocks 0.2.5
Full Changelog: v0.2.2...v0.2.5
OpenSocks 0.2.2
Security
- Added strict HTTP request-size, header-size, timeout, and concurrency limits.
- Removed shared-state races from Transocks authentication, settings refresh, and connection switching.
- Pinned GitHub Actions and LuCI build inputs to immutable commits.
- Added SHA-256 verification for the downloaded China IPv4 route list.
- Updated the mobile secure-storage dependency and bounded mobile API responses.
Performance
- Replaced repeated per-setting UCI processes with a single snapshot read and one commit per update.
- Added a kernel BPF filter to the DNS observer so unrelated LAN traffic is discarded before reaching Go.
- Added expiry and bounded caches for dynamically learned domain and service IPs.
- Reduced persistent traffic-stat writes while retaining one-second live counters.
- Suspended traffic polling on hidden mobile tabs, prevented overlapping polls, and reused HTTP connections.
- Added bounded log tailing and automatic log rotation.
Reliability and distribution
- Added server/client timeouts and bounded concurrent request handling.
- Corrected JSON error response metadata.
- Published usign-signed full, minimal, and LuCI packages.
- Fixed immutable
by-shaopkg downloads on HTTP servers that reject symbolic links.
Validation
- Passed Go unit tests,
go vet, race detection, MIPS soft-float cross-compilation, Flutter analysis, and Flutter tests. - Verified signed opkg metadata and packages before publication.
- Installed
opensocks-minimal 0.2.2-1andluci-app-opensocks 0.2.2-1on the target router and confirmed smart routing, nftables expiry, and the filtered DNS observer.
Full diff: v0.2.1...v0.2.2