Colitu VPN
متن‌باز

برنامه‌های Windows، Android، iOS و Linux ما
همه متن‌باز.

کد کامل برنامه‌های Windows، Android، iOS و Linux ما در GitHub عمومی است. می‌توانید کد را خودتان بخوانید تا ببینید برنامه برای انجام چه کاری روی دستگاه شما نوشته شده است. در ادامه جداگانه توضیح می‌دهیم کد باز چه چیزی را ثابت می‌کند و چه چیزی را نه.

Windows

colitu/windows
GPL-3.0

برنامهٔ Windows 10 و 11: رابط کاربری، مدیریت اتصال، به‌روزرسان و نصب‌کننده.

git clone https://github.com/colitu/windows.git
cd windows\src
dotnet build ColituVPN.sln -c Release
مشاهدهٔ کد منبع در GitHub ↗

Android · Android TV

colitu/android
GPL-3.0

برنامهٔ گوشی، تبلت و تلویزیون: رابط کاربری، انتخاب پروتکل، سرویس VPN و به‌روزرسان.

git clone https://github.com/colitu/android.git
cd android/android
./gradlew assemblePlaystoreDebug
مشاهدهٔ کد منبع در GitHub ↗

iPhone · iPad

colitu/ios
GPL-3.0

برنامهٔ iPhone و iPad: رابط کاربری، انتخاب پروتکل، تونل Network Extension و جریان حساب.

git clone https://github.com/colitu/ios.git
cd ios
flutter pub get && flutter test
مشاهدهٔ کد منبع در GitHub ↗

Linux · Beta

colitu/linux
GPL-3.0

برنامهٔ دسکتاپ Linux: رابط کاربری، مدیریت اتصال، Kill Switch مبتنی بر nftables و بسته‌های .deb/.rpm.

git clone https://github.com/colitu/linux.git
cd linux/src
dotnet publish ColituVPN -c Release -r linux-x64
مشاهدهٔ کد منبع در GitHub ↗

Chrome · Firefox

colitu/extension
GPL-3.0

افزونهٔ Chrome و Firefox: رابط کاربری، نشست، تنظیمات پروکسی و بسته‌های فروشگاه.

git clone https://github.com/colitu/extension.git
cd extension
npm test && npm run build
مشاهدهٔ کد منبع در GitHub ↗

چرا متن‌باز هستیم؟

انتخاب VPN یعنی اعتماد کردن به یک شرکت برای ترافیک اینترنت شما. می‌خواهیم این اعتماد را با کدی که هر کسی می‌تواند بررسی کند به دست آوریم، نه با حرف.

یک VPN چیزهای زیادی می‌بیند

تمام ترافیک دستگاه شما از یک برنامهٔ VPN عبور می‌کند. نباید مجبور باشید چشم‌بسته به چنین نرم‌افزاری اعتماد کنید.

اثبات در سمت برنامه

با کد باز، هر کسی می‌تواند ببیند برنامه چه چیزی جمع‌آوری می‌کند و کجا می‌فرستد. با این حال، باز بودن کد برنامه، وعدهٔ «ما سابقه‌ای ثبت نمی‌کنیم» دربارهٔ سرورها را ثابت نمی‌کند؛ کارکرد سرورها را در سند فنی امنیت توضیح داده‌ایم.

چشم‌های بیشتر، کد امن‌تر

اشکال‌ها در کد بسته می‌توانند سال‌ها نادیده بمانند. پژوهشگران در هر جای دنیا می‌توانند کد باز را بررسی کنند، بنابراین مشکلات سریع‌تر پیدا و رفع می‌شوند.

آزادی‌ای که از آنِ شماست

مجوز GPL-3.0 به شما اجازه می‌دهد کد را بخوانید، بسازید، تغییر دهید و به اشتراک بگذارید. این حق از شما پس گرفته نمی‌شود.

در کد چه چیزی را می‌توانید راستی‌آزمایی کنید؟

  • برنامه فهرست سرور داخلی ندارد؛ جزئیات اتصال از API و مخصوص حساب شما صادر می‌شود.
  • توکن‌های نشست به‌صورت رمزگذاری‌شده روی دستگاه ذخیره می‌شوند: با Android Keystore در Android، در Keychain در iOS، با DPAPI در Windows و با کلیدی وابسته به دستگاه و کاربر در Linux.
  • برنامه‌های Windows، Android و Linux فقط زمانی به‌روزرسانی را نصب می‌کنند که امضای ECDSA P-256 مانیفست انتشار تأیید شود و SHA-256 بسته با مانیفست یکی باشد.
  • کد دقیقاً نشان می‌دهد پروتکل‌ها چگونه آزمایش می‌شوند و اتصال چگونه راستی‌آزمایی می‌شود.
  • هر درخواست و فیلدی که برنامه به API می‌فرستد در کد تعریف شده است. هیچ‌یک از برنامه‌ها (Android، iOS، Windows، Linux) کتابخانهٔ تحلیل، تبلیغات یا گزارش خرابی ندارند.

چه چیزی باز است و چه چیزی نیست؟

می‌خواهیم دربارهٔ متن‌باز بودن شفاف باشیم. این است آنچه باز است و آنچه نیست:

  • برنامهٔ Windowsهمه در GitHub
    باز
  • برنامهٔ Android و Android TVهمه در GitHub
    باز
  • برنامهٔ Linuxهمه در GitHub؛ بسته‌ها با GitHub Actions ساخته می‌شوند
    باز
  • افزونهٔ مرورگرهمه در GitHub
    باز
  • برنامهٔ iPhone و iPadهمه در GitHub؛ نسخه‌های TestFlight در Codemagic ساخته می‌شوند
    باز
  • زیرساخت سرور و سامانهٔ حساب‌هابسته نگه داشته می‌شود تا محافظت ما در برابر سوءاستفاده و حمله تضعیف نشود.
    بسته

مشارکت

گزارش اشکال، اصلاح ترجمه و پیشنهادها در GitHub پذیرفته می‌شود. اگر نسخهٔ ساخت خودتان را منتشر می‌کنید، لطفاً از نام و آرم خودتان استفاده کنید؛ نام و آرم Colitu زیر پوشش GPL نیست.

آسیب‌پذیری پیدا کرده‌اید؟

لطفاً مسئلهٔ عمومی باز نکنید؛ جزئیات را به security@colitu.com بفرستید. ظرف 3 روز کاری پاسخ می‌دهیم و ظرف 10 روز کاری ارزیابی اولیه را با شما در میان می‌گذاریم. علیه پژوهش حسن‌نیت اقدام قانونی نمی‌کنیم.

پروژه‌های متن‌بازی که استفاده می‌کنیم

برنامه‌های Colitu از اجزای محکمی استفاده می‌کنند که جامعهٔ متن‌باز طی سال‌ها ساخته است. از آن‌ها سپاسگزاریم.

متن‌باز بودن، راستی‌آزمایی و ممیزی با هم تفاوت دارند

آنچه امروز می‌توانیم ثابت کنیم و آنچه هنوز نمی‌توانیم:

چکسام فایل (SHA-256)

بله

چکسام‌های زیر ثابت می‌کنند دانلود شما بیت‌به‌بیت همان فایلی است که ما منتشر کرده‌ایم، پس در مسیر آسیب ندیده یا تغییر نکرده است. ثابت نمی‌کنند فایل از روی کد برچسب‌خورده ساخته شده است. آن‌ها از مانیفست انتشار در colitu.com خوانده می‌شوند؛ این صفحه خودش امضای مانیفست را راستی‌آزمایی نمی‌کند، پس آن‌ها را با مقدار موجود در انتشار GitHub هم مقایسه کنید.

امضاهای ناشر

تا حدی

APKهای Android با کلید انتشار Colitu امضا می‌شوند؛ Android به‌روزرسانی را فقط با همان امضا می‌پذیرد. برنامه‌های Windows، Android و Linux امضای ECDSA P-256 مانیفست به‌روزرسانی را راستی‌آزمایی می‌کنند. نصب‌کنندهٔ Windows هنوز با Authenticode امضا نشده است (Windows SmartScreen ممکن است هشدار نشان دهد)؛ بسته‌های .deb و .rpm در Linux با GPG امضا نشده‌اند. نسخه‌های iPhone و iPad را Apple امضا می‌کند.

ساخت‌های بازتولیدپذیر

هنوز نه

در برنامه‌های Windows، Android، iOS و Linux، فایلی که خودتان از همان کد می‌سازید بیت‌به‌بیت با فایل ما یکسان نیست. بنابراین نمی‌توانید به‌طور مستقل ثابت کنید فایل منتشرشده از روی کد برچسب‌خوردهٔ GitHub ساخته شده است.

ممیزی مستقل

هنوز نه

برنامه‌ها و زیرساخت ما ممیزی امنیتی یا آزمون نفوذ مستقل نداشته‌اند؛ تاریخی هم تعیین نشده است. عبارت‌ها و نشان‌های «متن‌باز» در این سایت به معنای ممیزی نیستند.

روی سرورها چه می‌گذرد

کد باز برنامه ثابت نمی‌کند سرورهای ما چه می‌کنند. نرم‌افزار سرور و سامانهٔ حساب‌ها متن‌بسته است و از بیرون قابل راستی‌آزمایی نیست. اینکه سرورها چه چیزی را ثبت می‌کنند و چه چیزی را نه، و داده‌ها کجا و تا چه مدت نگه داشته می‌شوند، در سند فنی امنیت و سیاست حریم خصوصی نوشته شده است. سند فنی امنیت · سیاست حریم خصوصی

فایل دانلودشده را راستی‌آزمایی کنید

هر نصب‌کننده در colitu.com به یک برچسب انتشار در GitHub و کامیتی که آن برچسب به آن اشاره می‌کند وابسته است. چکسام‌های زیر از مانیفست امضاشدهٔ انتشاری خوانده می‌شوند که برنامه‌ها هنگام به‌روزرسانی استفاده می‌کنند.

Windows · نسخه 2.9.0

نسخهٔ انتشار در GitHub ↗
برچسب
v2.9.0
Commit
356c7d73e87f0fde56728be417927d08360b29fc
ColituVPN-Setup-2.9.0-x64.exe
SHA-256 f88c7575a281317c8d7e8a4980550613680a78ce7d4e81f5a5e77eef2c5c3a87

مانیفست انتشار با ECDSA P-256 امضا شده است؛ برنامه هیچ به‌روزرسانی‌ای را بدون راستی‌آزمایی امضا و چکسام فایل نصب نمی‌کند.

Android · نسخه 2.9.0

نسخهٔ انتشار در GitHub ↗
برچسب
v2.9.0
Commit
d7c6ac65e7414b56b07722e0c0def23c8b248cfd
Colitu-2.9.0.apk
SHA-256 6624fed64803d4c269bfc991668c76a686ebfb9c89b6e68740a72a890298722a
Colitu-2.9.0-arm64-v8a.apk
SHA-256 edece9dfd9a05e2f0e503d3770712d54c1c00ec102b8cff04df913ebb6d83b3b
Colitu-2.9.0-armeabi-v7a.apk
SHA-256 10d84e0d3e0dc403d70e0ed52b0224a9ff8450660cc2d1652756e0c3ff132fce
گواهی امضا
SHA-256 900e364616e5fce83766310f74bd06e4743a6936460a9e108edd096dfb5e82fc

مانیفست انتشار با ECDSA P-256 امضا شده است. پیش از نصب به‌روزرسانی، برنامه امضا را بررسی می‌کند، چکسام APK را با مانیفست مقایسه می‌کند و بررسی می‌کند که گواهی امضای APK با گواهی برنامهٔ نصب‌شده یکی باشد؛ نسخه‌های قدیمی‌تر را نصب نمی‌کند. هش گواهی امضا در این صفحه بخشی از مانیفست امضاشده نیست؛ گواهی داخل APK را خودتان با apksigner بررسی کنید.

Linux · نسخه 1.5.0

نسخهٔ انتشار در GitHub ↗
برچسب
v1.5.0
Commit
b843135236089aad01533c1e615132afc3579394
colitu-vpn_1.5.0_amd64.deb
SHA-256 d4e3e68884c8d00ccca61c91b442aef1556cd581e6005f4e2cbeda71ef6b4678
colitu-vpn_1.5.0_arm64.deb
SHA-256 8aeacf0415cc9e4cfbdd5f731b792cf70e11c285a86939811888e540be9e2ea8
colitu-vpn-1.5.0-1.x86_64.rpm
SHA-256 caed67a802048edd2a7d5ad472512f4bb7c247d52c082f1d9c357b4569947fbb
colitu-vpn-1.5.0-1.aarch64.rpm
SHA-256 0badcf55d6784a608e51b04a60173a77cafebcf3a8e3ca431c6cc4ef80c08fc2
colitu-vpn-1.5.0-linux-x64.tar.gz
SHA-256 504b0e50dbc790164c299b57a0b905035938de0616f4168ff40029d6907e90ef
colitu-vpn-1.5.0-linux-arm64.tar.gz
SHA-256 06ff8d617c34a9673de4f45d1f101f666e531da425ef3908c2f609369b753a86

مانیفست انتشار با ECDSA P-256 امضا شده است؛ برنامه هیچ به‌روزرسانی‌ای را بدون راستی‌آزمایی امضا و چکسام فایل نصب نمی‌کند.

چگونه خودتان بررسی کنید

# Windows (PowerShell)
Get-FileHash .\ColituVPN-Setup-*-x64.exe -Algorithm SHA256

# Linux / macOS
sha256sum Colitu-*.apk
sha256sum colitu-vpn_*_amd64.deb

# Android signing certificate
apksigner verify --print-certs Colitu-*.apk

چکسام باید با مقدار این صفحه و انتشار GitHub یکی باشد. برای ساخت از روی منبع، دستورهای بالا را روی برچسب همان انتشار اجرا کنید. ساخت‌ها هنوز بازتولیدپذیر نیستند، بنابراین چکسام یکسان ثابت می‌کند فایلی را که ما منتشر کرده‌ایم دارید، نه اینکه از منبع برچسب‌خورده ساخته شده است.

نسخه‌های iPhone و iPad را Apple امضا می‌کند و از طریق TestFlight نصب می‌شوند؛ کامیت برچسب‌خوردهٔ هر انتشار در GitHub است.

کد را بخوانید، بعد تصمیم بگیرید.

با برنامه‌های متن‌باز ما از طرح رایگان استفاده کنید: هر ماه 10 GB.