• حفظ حریم خصوصی DNS در SOCKS5 (PR #1369 از @maybeknott): درخواستهایی که مقصد را بهصورت نام دامنهٔ SOCKS5 میفرستند، معنای remote DNS را در همهٔ مسیرهای passthrough حفظ میکنند. اگر Full Tunnel یا upstream SOCKS5 برای resolve از راه دور در دسترس نباشد، اتصال بهجای نشت نام دامنه به resolver سیستم بهصورت امن متوقف میشود؛ مقصدهای IP و HTTP CONNECT معمولی بدون تغییر میمانند.
• پایداری بهتر runtime اندروید و مدیریت امن referenceهای JNI (PR #1370 از @maybeknott): رشتههای برگشتی JNI داخل local frame محدود میشوند تا referenceهای محلی در نشستهای طولانی انباشته نشوند، و تعداد workerهای Tokio بر اساس توان CPU بین ۲ تا ۴ محدود میشود تا مصرف thread و حافظه روی موبایل قابلپیشبینی بماند.
• cacheهای محدودشده با سیاست LRU و آمار eviction (PR #1371 از @maybeknott): cache پاسخها اکنون با هر hit ترتیب تازگی را بهروزرسانی میکند و cache تنظیمات گواهی MITM حداکثر ۵۱۲ ورودی نگه میدارد. آمار ظرفیت و eviction نیز اضافه شده است تا مصرف حافظه در نشستهای طولانی با دامنههای زیاد نامحدود رشد نکند.
• SOCKS5 remote-DNS privacy is preserved (PR #1369 by @maybeknott): SOCKS5 domain-name targets retain remote-resolution semantics through every passthrough path. When neither Full Tunnel nor an upstream SOCKS5 proxy can resolve remotely, the connection now fails closed instead of leaking the hostname to the system resolver; IP literals and ordinary HTTP CONNECT traffic are unchanged.
• Safer Android JNI references and bounded runtime workers (PR #1370 by @maybeknott): returned JNI strings are scoped through local frames so long-running sessions do not accumulate local references, and Tokio workers are sized from available CPU parallelism with a conservative 2–4 worker bound for predictable mobile thread and memory use.
• Bounded LRU caches with eviction statistics (PR #1371 by @maybeknott): response-cache hits now refresh recency, and the MITM leaf server-configuration cache retains at most 512 entries. Capacity and eviction statistics make the behavior observable while preventing unbounded memory growth across many domains.
What's Changed
- fix(proxy): preserve SOCKS5 remote DNS semantics by @maybeknott in #1369
- fix(android): bound JNI references and runtime workers by @maybeknott in #1370
- fix(cache): bound retained entries and expose cache stats by @maybeknott in #1371
New Contributors
- @maybeknott made their first contribution in #1369
Full Changelog: v1.9.37...v1.9.38