Skip to content

نصب CA در اندروید #507

Closed

Description

@ptsparsa

من نمیدونم بقیه هم این موضوع مطرح کردن یا نه ولی تا جایی که میدونم در اندروید فقط از طریق مرورگر میشه وصل شذ و فکر کنم مشکل در نصب گواهی باشه که محدودیت هایی روی اندروید اعمال کرده(نصب میشه ولی اینکه بعدش چی میشه رو نمیدونم انگار سیستم امنیتی اونو به طور خودکار پاک میکنه یا محدود میکنه) برای مثال نسخه وب روی اندروید مشکلاتی داره و نمیشه به راحتی وارد اون شد چه برسه استفاده کردن ازش برای همین خواستم ببینم ایا برنامه ای برای حل این مشکل دارید یا اصن همین الانش راه حلی پیدا شده؟

ضمنا خواستم ی تشکر کنم از شما و تیمتون کنم که به طور فعال تلاش میکنید همه ی مردم عزیز ایرانمون به طور رایگان به اینترنت ازاد دسترسی پیدا کنن

Activity

  1. therealaleph commented on Apr 30, 2026

    @therealaleph
    Owner

    @ptsparsa — درست متوجه شدید. این یک محدودیت architectural Android است. توضیح کامل:

    Android trust store split:

    Android دو CA trust store متفاوت دارد:

    ۱. System trust store (سطح OS):

    • pre-installed CAs (Google، DigiCert، GoDaddy، …)
    • root شده + نمی‌توانید CA اضافه کنید بدون root
    • همه‌ی apps trust می‌کنن (default behavior)

    ۲. User trust store (per-user):

    • CA هایی که کاربر دستی install می‌کنه (Settings → Security → Install certificate)
    • mhrv-rs MITM CA اینجا نصب می‌شه
    • چه apps استفاده می‌کنن؟ فقط آنهایی که network_security_config.xml با trust-anchors src="user" دارن

    اپ‌هایی که از user trust store استفاده می‌کنن:

    • ✅ Chrome، Firefox، Edge، Brave (browser ها explicit opt-in کرده‌اند)
    • ✅ Termux (developer-focused)
    • ✅ برخی apps debug build (اگر developer enable کرده باشه)

    اپ‌هایی که از user trust store استفاده نمی‌کنن (default behavior in Android 7+):

    • ❌ YouTube app
    • ❌ Gmail app
    • ❌ Telegram app
    • ❌ Instagram app
    • ❌ Twitter/X app
    • ❌ بانک‌ها / دولت
    • ❌ Google Maps
    • ❌ همه‌ی commercial apps شامل default network_security_config

    این سیاست Google برای anti-phishing است (Android 7.0+ از 2016 معرفی شد). اگر یک کاربر malicious، CA خود رو install کنه، نمی‌توانه از یوتیوب اپ یا تلگرام trust بگیره — این انتخاب security خوبی است، ولی برای کاربری که می‌خواد VPN استفاده کنه به‌عنوان bypass، یعنی اپ‌های اصلی غیر-قابل استفاده می‌شن از mhrv-rs.

    workarounds:

    ۱. Browser-only browsing (ساده‌ترین):

    از Chrome/Firefox/Edge browser در Android استفاده کنید برای web versions:

    • youtube.com (web — نه YouTube app)
    • web.telegram.org (web — نه Telegram app)
    • instagram.com (web — نه Instagram app)
    • mail.google.com (Gmail web)
    • twitter.com / x.com (web)

    این کار می‌کنه چون browser از user trust store استفاده می‌کنه + mhrv-rs CA رو می‌بینه.

    Trade-off: برخی feature‌ها فقط در native app هستن (push notifications، voice calls، video calls، offline mode). Web version محدود.

    ۲. Root + Magisk + MagiskTrustUserCerts:

    اگر گوشی شما root شده + Magisk دارید، module MagiskTrustUserCerts می‌توانه CA mhrv-rs رو از user store به system store migrate کنه. سپس همه‌ی apps trust می‌کنن + mhrv-rs برای YouTube app/Telegram app/etc. کار می‌کنه.

    Trade-off:

    • root warranty void می‌کنه
    • Banking apps روی root معمولاً block می‌شن (SafetyNet attestation)
    • security implications (root عبور از Android security)

    ۳. Full mode + VPS (دور زدن CA به‌طور کلی):

    در Full mode، bytes از طریق tunnel-node TCP می‌رن (نه MITM). نیازی به CA trust نداره — اپ‌ها cert واقعی Google/Telegram/etc. رو می‌بینن.

    setup در tunnel-node README فارسی. هزینه ~$3-5/ماه VPS.

    این بدون root کار می‌کنه + همه‌ی Android apps کار می‌کنن.

    درباره‌ی "system خودکار حذف می‌کنه":

    نه، system حذف نمی‌کنه. CA که install می‌کنید می‌مونه در user trust store. ولی apps default از system trust استفاده می‌کنن — apps "ignore" می‌کنن user CA، خود را از آن حذف نمی‌کنن.

    تنها case که Android user CA رو حذف می‌کنه:

    • Settings → Security → Encryption & credentials → Trusted credentials → User → یک CA رو tap کنید → Remove
    • Factory reset

    vs Android 14+: در Android 14+ Google زمانی که یک App backgrounded است و یک CA new install می‌شه، notification می‌ده — این perception "system removes" می‌ده ولی در واقع notification است نه removal.

    نتیجه برای case شما:

    اگر می‌خواهید apps native (YouTube, Telegram, Instagram, …) کار کنن:

    • ساده‌ترین: web versions در Chrome (محدود ولی کار می‌کنه)
    • بهترین قطعی: Full mode + VPS غیرایرانی

    اگر فقط برای browsing استفاده می‌کنید + apps native نیاز ندارید: setup فعلی (apps_script mode + Chrome) کافیه.

    تشکر بابت پیغام محبت‌آمیز :) — feedback مثبت کاربران به این پروژه infrastructure-for-circumvention زنده می‌مونه.

    این issue رو به‌عنوان tracked-architectural-FAQ می‌بندم. اگر سؤال خاصی درباره browser web workflow یا VPS setup دارید، در #310 (راهنمای VPS) یا #420 (Full mode topology) ادامه دهید.


    [reply via Anthropic Claude | reviewed by @therealaleph]

  2. therealaleph commented on Apr 30, 2026

    @therealaleph
    Owner

    Architectural — Android user/system trust store split. Workarounds: browser web versions / Magisk migrate to system / Full mode + VPS (no CA needed). Closing as FAQ; #419 / #435 are the canonical threads.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions