Skip to content

Latest commit

 

History

History
385 lines (278 loc) · 15.7 KB

File metadata and controls

385 lines (278 loc) · 15.7 KB

جاوید ماسک - مجموعه حفاظت حریم خصوصی برای کاربران استارلینک در ایران

مجموعه جامعی از راه‌حل‌های حفاظت حریم خصوصی خودکار با Ansible و رزبری پای، طراحی شده برای محافظت از کاربران استارلینک در ایران در برابر حملات همبستگی هویت.

نویسنده: ایمان سمیع‌زاده مجوز: MIT مخزن: https://github.com/Iman/javid-mask


مشکل: حمله همبستگی هویت

وقتی یک کاربر استارلینک در ایران به‌طور تصادفی از یک وب‌سایت ایرانی بازدید می‌کند، هویت او می‌تواند از طریق کوکی‌ها، فینگرپرینت مرورگر یا جلسات ورود افشا شود:

قبل (ISP معمولی ایرانی):
┌──────────────┐      ┌─────────────────┐
│ کاربر        │─────►│ وب‌سایت ایرانی  │
│ کوکی: رضا    │      │ (digikala.com)  │
│ IP: ایران    │      │ لاگ: رضا=ایران  │
└──────────────┘      └─────────────────┘

بعد (استارلینک - خطرناک):
┌──────────────┐      ┌─────────────────┐
│ کاربر        │─────►│ وب‌سایت ایرانی  │
│ کوکی: رضا    │      │ (digikala.com)  │
│ IP: آمریکا!  │      │ لاگ: رضا=آمریکا!│  ◄── پرچم قرمز
└──────────────┘      └─────────────────┘       "رضا استارلینک دارد"

خطر: مقامات ایرانی می‌توانند کاربران استارلینک را با همبستگی زیر شناسایی کنند:

  • همان کوکی‌ها/فینگرپرینت + IP خارجی = کاربر استارلینک شناسایی شد
  • جلسات ورود از IPهای خارجی = هویت افشا شد
  • فینگرپرینت مرورگر (Canvas، WebGL) دستگاه‌ها را در IPهای مختلف شناسایی می‌کند

راه‌حل: سه معماری حریم خصوصی

این پروژه سه معماری مکمل فراهم می‌کند که هر کدام سطوح مختلفی از حفاظت ارائه می‌دهند:

معماری سیفتر سینگلتون مثلث
پیچیدگی ساده متوسط پیشرفته
استفاده اصلی سرور DNS دروازه WiFi دروازه VPN
نقطه دسترسی WiFi
پراکسی (VLESS/VMess)
VPN (WireGuard)
رمزگذاری ترافیک فقط DNS کامل (از طریق پراکسی) کامل (از طریق VPN)
IP خروجی IP شما IP شما IP VPS
Kill Switch
نیاز به VPS
فیلترینگ DNS بیش از ۱.۶ میلیون بیش از ۱.۶ میلیون بیش از ۳.۲ میلیون (دوگانه)
دامنه‌های ایرانی مسدود بیش از ۱۳۱ هزار بیش از ۱۳۱ هزار بیش از ۱۳۱ هزار
IPهای ایرانی مسدود ۷۶۳ CIDR ۷۶۳ CIDR ۷۶۳ CIDR

معماری‌های پروژه

سیفتر (فقط DNS)

مشاهده مستندات سیفتر →

ساده‌ترین معماری - یک سرور DNS خالص که تمام دستگاه‌های خانه شما به آن اشاره می‌کنند.

بهترین برای:

  • کاربرانی که کمترین تنظیمات را می‌خواهند
  • محافظت از تمام دستگاه‌ها در شبکه موجود
  • فقط مسدودسازی سطح DNS

ویژگی‌ها:

  • فیلترینگ DNS با Pi-hole (بیش از ۱.۶ میلیون دامنه)
  • مسدودسازی دامنه ایرانی (بیش از ۱۳۱,۵۷۶ دامنه)
  • مسدودسازی IP ایرانی (۷۶۳ CIDR)
  • DNS-over-HTTPS (Cloudflare)
  • جلوگیری از نشت IPv6
Home Devices → DNS to Pi → Pi-hole → Cloudflared → Internet
                              ↓
                    Iranian domains blocked

سینگلتون (WiFi AP + پراکسی)

مشاهده مستندات سینگلتون →

یک نقطه دسترسی WiFi مستقل با پشتیبانی داخلی از پراکسی برای پروتکل‌های VLESS/VMess.

بهترین برای:

  • کاربرانی که به شبکه WiFi ایزوله نیاز دارند
  • پشتیبانی از پروتکل پراکسی (ضد DPI)
  • استقرار روی یک دستگاه

ویژگی‌ها:

  • شبکه WiFi ایزوله (10.50.0.0/24)
  • فیلترینگ DNS با Pi-hole (بیش از ۱.۶ میلیون دامنه)
  • پراکسی 3x-UI/Xray (VLESS/VMess/Reality)
  • مسدودسازی IP/دامنه ایرانی
  • DNS-over-HTTPS
WiFi Clients → WiFi AP → Pi-hole → nftables → Xray Proxy → Internet
                            ↓           ↓
                    DNS filtered   Iranian IPs blocked

مثلث (WiFi AP + VPN)

مشاهده مستندات مثلث →

یک معماری توزیع‌شده با تونل WireGuard VPN به یک VPS، که پوشش IP و kill switch فراهم می‌کند.

بهترین برای:

  • حداکثر حفاظت حریم خصوصی
  • پوشش جغرافیایی IP
  • حفاظت از نظارت ISP

ویژگی‌ها:

  • تونل WireGuard VPN به VPS
  • دوگانه Pi-hole (پای + VPS)
  • تمام ترافیک از IP VPS خارج می‌شود
  • Kill switch (مسدود اگر تونل شکست بخورد)
  • مسدودسازی IP/دامنه ایرانی روی هر دو نود
WiFi Clients → WiFi AP → Pi-hole → WireGuard → VPS Pi-hole → Internet
                            ↓                       ↓
                    DNS filtered (2x)      Traffic exits via VPS IP

مقایسه حفاظت

ماتریس حفاظت از نشت

نوع نشت سیفتر سینگلتون مثلث
نشت DNS ✅ DoH ✅ DoH ✅ دوگانه DoH
نشت IPv6 ✅ غیرفعال ✅ غیرفعال ✅ غیرفعال
دامنه ایرانی ✅ بیش از ۱۳۱ هزار ✅ بیش از ۱۳۱ هزار ✅ بیش از ۱۳۱ هزار
IP ایرانی ✅ ۷۶۳ CIDR ✅ ۷۶۳ CIDR ✅ ۷۶۳ CIDR
همبستگی کوکی ✅ مسدود ✅ مسدود ✅ مسدود
نشت WebRTC ⚠️ مرورگر ⚠️ مرورگر ⚠️ مرورگر
پوشش IP ✅ IP VPS
Kill Switch
مقاومت DPI ✅ Reality ✅ WireGuard

حفاظت شبکه در مقابل مرورگر

تمام معماری‌ها در سطح شبکه (خودکار) محافظت می‌کنند، اما برخی تهدیدات نیاز به پیکربندی مرورگر (دستی) دارند:

NETWORK LEVEL (خودکار):
├── فیلترینگ DNS (Pi-hole)
├── مسدودسازی دامنه ایرانی (۱۳۱K+)
├── مسدودسازی IP ایرانی (۷۶۳ CIDR)
├── رمزگذاری DNS (DoH)
└── مسدودسازی IPv6

BROWSER LEVEL (کاربر باید پیکربندی کند):
├── جلوگیری از نشت WebRTC
├── فینگرپرینتینگ Canvas/WebGL
├── مدیریت کوکی
└── فینگرپرینتینگ JavaScript

مقایسه MikroTik و رزبری پای

برخی کاربران ممکن است بپرسند آیا روتر MikroTik می‌تواند همان محافظت را فراهم کند. در حالی که MikroTik سخت‌افزار شبکه عالی است، محدودیت‌های حیاتی برای این مورد استفاده حفاظت از حریم خصوصی دارد:

ویژگی MikroTik رزبری پای برنده
مسدودسازی DNS (بیش از ۱.۶ میلیون دامنه) ❌ حداکثر ~۱۰۰ هزار ✅ بیش از ۱.۶ میلیون بدون محدودیت رزبری پای
مسدودسازی دامنه ایرانی (۱۳۱ هزار+) ❌ منابع ناکافی ✅ پشتیبانی کامل رزبری پای
DNS-over-HTTPS (DoH) ⚠️ محدود (فقط v7+) ✅ کامل (Cloudflared) رزبری پای
پراکسی VLESS/VMess ❌ پشتیبانی نمی‌شود ✅ Xray با Reality رزبری پای
پروتکل Reality (ضد DPI) ❌ پشتیبانی نمی‌شود ✅ پشتیبانی کامل رزبری پای
WireGuard VPN ✅ پشتیبانی می‌شود ✅ پشتیبانی کامل مساوی
فیلترینگ دوگانه DNS ❌ پیچیده ✅ آسان (پای + VPS) رزبری پای
مسدودسازی IP ایرانی (۷۶۳ CIDR) ✅ پشتیبانی می‌شود ✅ پشتیبانی می‌شود مساوی
مدیریت وب ✅ WebFig/WinBox ✅ Pi-hole/3x-UI مساوی
مصرف برق ✅ ~۵W ⚠️ ~۱۰-۱۵W MikroTik
هزینه ~۵۰-۱۰۰ دلار ~۸۰-۱۲۰ دلار (Pi 5 + کارت SD) مساوی
انعطاف نرم‌افزار ⚠️ RouterOS محدود ✅ لینوکس کامل رزبری پای

محدودیت‌های کلیدی MikroTik

۱. محدودیت ظرفیت لیست مسدودی DNS

دستگاه‌های MikroTik دارای محدودیت سخت‌افزاری روی ورودی‌های DNS regex هستند:

  • مدل‌های سطح ورودی: ~۱۰,۰۰۰ ورودی
  • مدل‌های میان‌رده: ~۵۰,۰۰۰ ورودی
  • مدل‌های پیشرفته: ~۱۰۰,۰۰۰ ورودی

مورد استفاده ما نیاز دارد:

  • لیست‌های مسدودی Pi-hole: بیش از ۱.۶ میلیون دامنه
  • دامنه‌های ایرانی: بیش از ۱۳۱,۵۷۶ دامنه
  • کل: نیاز به ظرفیت بیش از ۱.۷ میلیون دامنه

۲. بدون پشتیبانی از پروتکل پراکسی

MikroTik نمی‌تواند:

  • پراکسی‌های VLESS/VMess اجرا کند
  • پروتکل Reality (ضد DPI) را پیاده‌سازی کند
  • به عنوان نقطه پایانی Xray عمل کند
  • مبهم‌سازی لایه کاربرد فراهم کند

۳. محدودیت‌های DoH

  • فقط RouterOS v7+ از DoH پشتیبانی می‌کند
  • پیکربندی پیچیده‌تر از Cloudflared
  • عملکرد کمتر تحت بار سنگین

چه زمانی MikroTik مناسب است

MikroTik برای موارد زیر عالی است:

  • ✅ فیلترینگ ساده DNS (هزاران، نه میلیون‌ها)
  • ✅ مسیریابی WireGuard/IPsec
  • ✅ مدیریت پهنای باند و QoS
  • ✅ شبکه‌های سازمانی با سوییچینگ پیشرفته
  • ✅ پیاده‌سازی‌هایی که فقط به مسدودسازی IP نیاز دارند

برای سناریوی خاص ما (حفاظت هویت استارلینک با فیلترینگ DNS جامع، دامنه‌های ایرانی و مبهم‌سازی پراکسی)، رزبری پای تنها انتخاب عملی است.


شروع سریع

معماری خود را انتخاب کنید

۱. سیفتر - اگر فقط حفاظت DNS با کمترین تنظیمات می‌خواهید ۲. سینگلتون - اگر WiFi AP با پشتیبانی پراکسی می‌خواهید ۳. مثلث - اگر حداکثر حفاظت با VPN و kill switch می‌خواهید

نیازمندی‌های سخت‌افزاری

جزء حداقل پیشنهادی
رزبری پای Pi 3B+ Pi 5 (4GB)
کارت MicroSD 16GB Class 10 32GB A2
اترنت 100Mbps 1Gbps
منبع تغذیه 5V 2.5A 5V 5A (Pi 5)
VPS (فقط مثلث) 512MB RAM 1GB+ RAM

نیازمندی‌های نرم‌افزاری

  • Raspberry Pi OS (Debian 13 "Trixie" یا جدیدتر)
  • Ansible 2.9+ روی ماشین کنترل
  • دسترسی SSH به رزبری پای

ساختار دایرکتوری

javid-mask/
├── README.md                 # این فایل (انگلیسی)
├── README.fa.md              # مستندات فارسی
│
├── sifter/                   # معماری فقط DNS
│   ├── README.md
│   ├── README.fa.md
│   ├── ansible/
│   └── diagrams/
│
├── singleton/                # معماری WiFi AP + پراکسی
│   ├── README.md
│   ├── README.fa.md
│   ├── ansible/
│   └── diagrams/
│
└── triangle/                 # معماری WiFi AP + VPN
    ├── README.md
    ├── README.fa.md
    ├── ansible/
    └── diagrams/

منابع دامنه و IP ایرانی

تمام معماری‌ها از همان لیست‌های مسدودی جامع استفاده می‌کنند:

منبع نوع تعداد بروزرسانی
bootmortis/iran-hosted-domains دامنه بیش از ۱۳۱,۵۷۶ هفتگی
liketolivefree/iran_domain-ip دامنه ~۵۰,۰۰۰ هفتگی
herrbischoff/country-ip-blocks IP ۷۶۳ CIDR روزانه

سخت‌سازی مرورگر (برای تمام معماری‌ها لازم است)

حفاظت سطح شبکه اتصالات ایرانی را مسدود می‌کند، اما تهدیدات سطح مرورگر نیاز به پیکربندی دستی دارند:

Firefox (توصیه شده)

تنظیمات about:config:
├── media.peerconnection.enabled → false     (غیرفعال WebRTC)
├── privacy.resistFingerprinting → true      (ضد فینگرپرینتینگ)
├── network.dns.disableIPv6 → true           (غیرفعال DNS IPv6)
├── geo.enabled → false                      (غیرفعال موقعیت‌یابی)
└── privacy.trackingprotection.enabled → true

افزونه‌های توصیه شده

افزونه هدف
uBlock Origin مسدودسازی تبلیغ/ردیاب، کنترل WebRTC
NoScript کنترل JavaScript
Cookie AutoDelete پاکسازی خودکار کوکی

مجوز

مجوز MIT

حق نسخه‌برداری (c) ۲۰۲۶ ایمان سمیع‌زاده


اعتبارات


نگهدارنده: ایمان سمیع‌زاده پروژه: javid-mask (مجموعه حفاظت حریم خصوصی استارلینک)