Repository navigation
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