Colitu روی Raspberry Pi و Linux بدون رابط گرافیکی
Colitu را بدون دسکتاپ روی Raspberry Pi یا سرور Linux اجرا کنید: بسته را نصب کنید، با یک کد وارد شوید، از ترمینال متصل شوید و آن را هنگام روشن شدن دستگاه اجرا کنید.
کلاینت بدون رابط گرافیکی، Colitu را روی دستگاههایی بدون صفحهنمایش یا دسکتاپ اجرا میکند: Raspberry Pi، مینیپیسی یا سرور Linux. دو بخش دارد: colitud، یک سرویس سیستمی که ورود شما را نگه میدارد و تونل VPN را اجرا میکند، و colitu، دستوری که در ترمینال برای ورود، انتخاب سرور و اتصال به کار میبرید. کلاینت بدون رابط گرافیکی جدید است و هنوز در مرحلهٔ بتا قرار دارد.
نیازمندیها
- یک سیستم 64 بیتی: Raspberry Pi OS (64 بیتی) مبتنی بر Debian 12 «Bookworm»، یا Debian یا Ubuntu روی x64 یا ARM64. Raspberry Pi مدل 3، 4، 5 یا Zero 2 W کار میکند؛ مدلهای قدیمیتر فقط 32 بیتی (Pi 1، Pi 2، Pi Zero W) کار نمیکنند. با
uname -mبررسی کنید: بایدaarch64(Raspberry Pi) یاx86_64نشان دهد. systemd(هر Raspberry Pi OS فعلی آن را دارد) و اتصال به اینترنت.- یک حساب Colitu با طرح فعال. Pi یکی از دستگاههای شما حساب میشود.
- دستگاه دیگری با مرورگر (گوشی یا رایانه) برای تأیید ورود. هرگز رمز عبور خود را روی Pi تایپ نمیکنید.
نصب
- روی Pi بستهٔ
.debمخصوص ARM64 را از colitu.com/download/linux دانلود کنید (روی دستگاه x64 نسخهٔ x64 را بردارید). - آن را از پوشهٔ دانلود نصب کنید:
`` sudo apt install ./colitu-vpn_*_arm64.deb ``
همین بسته هم برنامهٔ دسکتاپ و هم کلاینت بدون رابط گرافیکی را دارد. در Raspberry Pi OS Lite دسکتاپ وجود ندارد، بنابراین برنامه فقط بلااستفاده میماند و مقداری فضای دیسک میگیرد. اگر دسکتاپ دارید، هر دو را میتوان کنار هم نصب کرد، اما هر بار فقط با یکی از آنها متصل شوید.
- سرویس بهطور خودکار شروع نمیشود. آن را راهاندازی کنید و بگذارید در هر بار روشن شدن اجرا شود:
`` sudo systemctl enable --now colitud ``
- به کاربر خود اجازهٔ کنترل آن را بدهید. اعضای گروه
colituمیتوانند بدونsudoاز دستورcolituاستفاده کنند:
`` sudo usermod -aG colitu $USER ``
برای اعمال شدن گروه، یک بار خارج و دوباره وارد شوید (یا newgrp colitu را اجرا کنید).
ورود
`` colitu login ``
این دستور یک پیوند، یک کد 8 نویسهای و (در ترمینال) یک کد QR نشان میدهد. روی گوشی یا رایانهٔ خود پیوند را باز کنید، بررسی کنید کد و نام دستگاه (<hostname> (headless)) مطابقت دارند و تأیید کنید. Pi ظرف چند ثانیه خودش وارد میشود. کد حدود 10 دقیقه معتبر است؛ اگر منقضی شد، دوباره colitu login را اجرا کنید. توکنهای ورود در /var/lib/colitu/state.json نگه داشته میشوند که فقط توسط root قابل خواندن است.
اتصال، بررسی، قطع اتصال
| دستور | کاری که انجام میدهد |
|---|---|
colitu servers | موقعیتها را با بارشان فهرست میکند (--json برای اسکریپتها) |
colitu connect | به بهترین سرور وصل میشود: آنلاین، کمترین بار |
colitu connect --country tr | بهترین سرور یک کشور (کد دو حرفی) |
colitu connect --server <id> | یک سرور مشخص، با شناسه یا نام از colitu servers |
colitu status | وضعیت، سرور، زمان اتصال، دستگاه، اتصال خودکار (--json برای اسکریپتها) |
colitu disconnect | اتصال را قطع میکند و مسیریابی عادی را برمیگرداند |
colitu logout | خروج از حساب؛ --remove-device Pi را از حساب شما هم حذف میکند |
برای بررسی کار کردن، پیش از اتصال نشانی عمومی خود را یادداشت کنید (curl -s https://ifconfig.me) و پس از آن دوباره دستور را اجرا کنید: باید نشانی یک سرور Colitu را نشان دهد. اگر Pi مرورگر دارد، آزمون اتصال VPN نشتها را هم نشان میدهد.
اجرای خودکار هنگام روشن شدن
`` colitu connect --country tr colitu autoconnect on ``
یک بار به سروری که میخواهید وصل شوید، سپس اتصال خودکار را روشن کنید. از آن پس colitud هر زمان شروع شود به همان آخرین سرور متصل میشود و تا بالا آمدن شبکه تلاش مجدد میکند. colitu autoconnect off آن را خاموش میکند. ساعت Pi اهمیت دارد: باتری ساعت ندارد و اتصال فقط پس از همگام شدن زمان کار میکند. این معمولاً چند ثانیه پس از بالا آمدن شبکه اتفاق میافتد.
قطعکن اضطراری و شبکهٔ محلی شما
در حین اتصال، همهٔ ترافیک Pi از تونل عبور میکند و نمیتواند خارج از آن برود (مسیریابی سختگیرانه). شبکهٔ محلی شما در دسترس میماند، بنابراین نشست SSH به Pi هنگام اتصال ادامه پیدا میکند. این شامل بازههای خصوصی 10.0.0.0/8، 172.16.0.0/12، 192.168.0.0/16 و 169.254.0.0/16 است.
یک پیامد برای DNS: برنامههایی روی Pi که از روتر شما بهعنوان سرور DNS استفاده میکنند (پیشفرض در Raspberry Pi OS) این پرسوجوها را همچنان مستقیم به روتر میفرستند، چون روتر در شبکهٔ محلی است. برای فرستادن آنها از تونل، یک حلکنندهٔ عمومی به Pi بدهید، برای مثال sudo nmcli connection modify "<connection name>" ipv4.ignore-auto-dns yes ipv4.dns 1.1.1.1 و شبکه را دوباره وصل کنید. پرسوجوهای ارسالی به یک حلکنندهٔ عمومی توسط Colitu گرفته میشوند و بهصورت خصوصی از طریق تونل پاسخ داده میشوند.
به یاد داشته باشید این چه چیزی نیست: کلاینت بدون رابط گرافیکی قطعکن اضطراری مبتنی بر فایروال مانند برنامهٔ دسکتاپ ندارد. اگر فرایند تونل از بین برود، colitud آن را خودکار دوباره راهاندازی میکند، اما تا بازگشت تونل ترافیک Pi ممکن است مستقیم خارج شود. همین موضوع برای چند ثانیهٔ اول پس از روشن شدن، پیش از آنکه اتصال خودکار وصل شود، هم صادق است. استفاده از Pi بهعنوان دروازهای که VPN را با دستگاههای دیگر به اشتراک بگذارد پشتیبانی نمیشود.
لاگها
`` journalctl -u colitud -f ``
نشان میدهد سرویس چه میکند (ورود، تلاشهای اتصال، اتصالهای مجدد). توکنها و اعتبارنامههای سرور هرگز در لاگ نوشته نمیشوند.
بهروزرسانی و حذف
- بهروزرسانی
.debجدید را به همان روش نصب کنید. بستهcolitudدر حال اجرا را دوباره راهاندازی میکند و اگر اتصال خودکار روشن باشد دوباره وصل میشود. ورود شما حفظ میشود. - حذف
sudo apt remove colitu-vpnسرویس را متوقف میکند و تونل را پایین میآورد.sudo apt purge colitu-vpnورود ذخیرهشده را هم حذف میکند. اگر میخواهید Pi از فهرست دستگاههای حساب شما هم ناپدید شود، ابتداcolitu logout --remove-deviceرا اجرا کنید؛ همچنین میتوانید آن را در colitu.com در بخش دستگاهها حذف کنید.
عیبیابی
colitud is not running:sudo systemctl enable --now colitudرا اجرا کنید، سپسsystemctl status colitud. اگر ناموفق بود،journalctl -u colitud -eدلیل را میگوید.no permission to use the colitud socket: کاربر شما هنوز در گروهcolituنیست.sudo usermod -aG colitu $USERرا اجرا کنید و دوباره وارد شوید.- کد ورود منقضی یا رد شد: دوباره
colitu loginرا اجرا کنید و از دستگاهی که در حساب شما وارد شده تأیید کنید. This device is paused: طرح شما تعداد دستگاه کمتری از دستگاههای واردشده مجاز میداند.colitu activatePi را دستگاه فعال میکند و دستگاهی را که مدت بیشتری استفاده نشده متوقف میکند. به مدیریت دستگاهها نگاه کنید.no active planیاverify your e-mail address: آن را در حساب خود در colitu.com برطرف کنید، سپس دوبارهcolitu connectرا اجرا کنید.- متصل نمیشود: تاریخ را با
timedatectlبررسی کنید (بایدSystem clock synchronized: yesبگوید؛ با ساعت نادرست اتصال امن ناموفق میشود)، سپسjournalctl -u colitud -eرا بخوانید. به مشکلات اتصال هم نگاه کنید. sing-box was not found: بسته ناقص است؛ دوباره نصبش کنید. هستهٔ تونل در/opt/colitu-vpn/bin/sing_box/sing-boxنصب میشود.- VPN دیگری روی Pi در حال اجراست (WireGuard، گره خروجی Tailscale، برنامهٔ دسکتاپ Colitu): دو VPN نباید همزمان اجرا شوند. ابتدا دیگری را قطع کنید.
هنوز به کمک نیاز دارید؟
Colitu Bot در چند ثانیه پاسخ میدهد و تیم پشتیبانی ما به سه زبان کمک میکند.
