# راه‌اندازی روی رایانه و روتر

SecurQbit برای دستگاه‌هایی که برنامه ندارند یک کلاینت خط فرمان ارائه می‌کند: سرورها و رایانه‌های Linux، ویندوز، FreeBSD و روترهای OpenWrt. همان VPN و همان حسابی است که در برنامه‌های موبایل استفاده می‌کنید — برای iOS و Android به [نصب SecurQbit](/installation) مراجعه کنید.

دو برنامه نصب می‌شود:

| برنامه | چیست |
| --- | --- |
| `securqbitd` | سرویس پس‌زمینه. نشست شما را نگه می‌دارد، تونل را برپا می‌کند و مسیریابی سیستم را تنظیم می‌کند. با دسترسی سیستمی اجرا می‌شود، چون ساختن دستگاه تونل چنین دسترسی‌ای می‌خواهد. |
| `sqctl` | دستوری که تایپ می‌کنید. از سرویس می‌خواهد کاری انجام دهد و روند آن را به شما نشان می‌دهد. هیچ اطلاعات ورودی نگه نمی‌دارد و به دسترسی ویژه‌ای نیاز ندارد. |

شما با `sqctl` سروکار دارید. برای همهٔ دستورها [مرجع خط فرمان](/cli-reference) را ببینید.

## نصب با یک دستور

روی Linux، macOS، FreeBSD و OpenWrt:

```bash
curl -fsSL https://cdn.securqbit.com/securqbitd/install.sh | sudo sh
```

کل نصب همین است. اسکریپت تشخیص می‌دهد این دستگاه به کدام بسته نیاز دارد، آن را دانلود می‌کند، با چکیده‌های SHA-256 منتشرشده مقایسه می‌کند، دو برنامه را سر جایشان می‌گذارد و سرویس را نزد هر چیزی که در این سیستم فرآیندهای بلندمدت را مدیریت می‌کند ثبت می‌کند — systemd، OpenRC، runit، SysV init، procd، rc.d یا launchd. چیز دیگری برای پیکربندی نیست.

پس از پایان:

```bash
sqctl login              # پیوندی باز می‌کند تا در مرورگر تأیید کنید
sqctl connect --fastest
sqctl status
```

> **از پیش به یک حساب نیاز دارید.** کلاینت رایانه از راه تأیید در مرورگر وارد می‌شود و نمی‌تواند حساب بسازد. ابتدا در [برنامهٔ iOS یا Android](/installation) حسابی بسازید — از جمله [حساب مهمان](/anonymous-accounts) که با کد بازیابی خود در accounts.securqbit.com وارد می‌شود و از همان‌جا تأیید می‌کند.

### گزینه‌ها

نصب‌کننده چند گزینه می‌پذیرد. آن‌ها را پس از `sh -s --` بیاورید:

```bash
curl -fsSL https://cdn.securqbit.com/securqbitd/install.sh | sudo sh -s -- --no-start
```

| گزینه | کارکرد |
| --- | --- |
| `--version <v>` | نسخهٔ مشخصی را به جای نسخهٔ جاری نصب می‌کند. |
| `--from <path>` | از آرشیوی که پیش‌تر دانلود کرده‌اید نصب می‌کند، بدون شبکه. |
| `--prefix <dir>` | جایی غیر از `/usr/local` نصب می‌کند (روی OpenWrt‏ `/usr`). |
| `--no-start` | سرویس را ثبت می‌کند اما اجرا نمی‌کند. |
| `--no-router` | روی OpenWrt نصب می‌کند بدون آنکه شبکهٔ محلی را پشت تونل ببرد. |
| `--uninstall` | سرویس و دو برنامه را حذف می‌کند. |

## سکوهای پشتیبانی‌شده

| سیستم | معماری‌ها |
| --- | --- |
| Linux | x86-64، arm64، armv7 |
| Windows | x86-64، arm64 |
| FreeBSD | x86-64، arm64 |
| OpenWrt | x86-64، arm64، armv7 |
| macOS | Apple silicon، Intel |

ساخت ایستا (static) است، پس یک بستهٔ Linux هم glibc و هم musl را پوشش می‌دهد — Debian، Ubuntu، Fedora، Arch، Alpine و Void همان فایل را می‌گیرند.

> **نسخهٔ MIPS وجود ندارد و نخواهد داشت.** آن روترها ۸ تا ۱۶ مگابایت حافظهٔ فلش دارند و SecurQbit حدود ۴۰ مگابایت می‌خواهد؛ بستهٔ ویژهٔ آن‌ها فقط می‌توانست پس از انتظار برای دانلود شکست بخورد. روتر ARM یا x86-64 کار می‌کند.

> **روی macOS برنامه را ترجیح دهید.** محصول Mac همان برنامهٔ بومی SecurQbit در App Store است. کلاینت خط فرمان روی macOS ساخته و اجرا می‌شود تا بتوان آن را همان‌جا توسعه داد؛ چیزی نیست که کاربر Mac باید نصب کند.

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

نصب‌کننده خودش آرشیو را با چکیده‌های منتشرشده در کنارش مقایسه می‌کند و اگر نخوانند ادامه نمی‌دهد. برای بررسی دستی یا نصب بدون اینترنت:

```bash
V=$(curl -fsSL https://cdn.securqbit.com/securqbitd/latest)
BASE=https://cdn.securqbit.com/securqbitd/$V

curl -fsSLO $BASE/securqbit-$V-linux-amd64.tar.gz
curl -fsSLO $BASE/SHA256SUMS

sha256sum --check --ignore-missing SHA256SUMS
```

سپس از همان فایلی که تازه بررسی کردید نصب کنید:

```bash
tar -xzf securqbit-$V-linux-amd64.tar.gz
sudo ./securqbit-$V-linux-amd64/install.sh
```

اجرای `install.sh` از درون یک آرشیو استخراج‌شده *همان* آرشیو را نصب می‌کند و هرگز به شبکه دست نمی‌زند — و نصب روی دستگاهی که هنوز مسیری به اینترنت ندارد دقیقاً همین‌گونه انجام می‌شود.

> چکیده‌ها از همان اتصال HTTPSی می‌آیند که بسته از آن آمده است؛ پس ثابت می‌کنند فایل سالم رسیده، نه اینکه سرور صادق بوده است. آنچه اتصال را قابل اعتماد می‌کند TLS است. از راه `http` رمزنشده نصب نکنید.

## استفاده بدون `sudo`

سرویس با کاربر root اجرا می‌شود. سوکتی که روی آن گوش می‌دهد به گروه `securqbit` تعلق دارد که نصب‌کننده می‌سازد، پس اعضای آن گروه بدون گذرواژه می‌توانند VPN را اداره کنند:

```bash
sudo usermod -aG securqbit "$USER"    # Linux
sudo pw groupmod securqbit -m "$USER" # FreeBSD
```

برای اعمال عضویت تازه، از حساب خارج و دوباره وارد شوید. روی macOS گروه `admin` است که مدیران از پیش در آن هستند. روی ویندوز معادل آن گروه `SecurQbit Users` است، در کنار SYSTEM و Administrators.

تا آن زمان `sqctl` می‌گوید که دسترسی ندارد و دستور بالا را چاپ می‌کند.

## ویندوز

ویندوز از آرشیو نصب می‌شود، نه با آن دستور تک‌خطی.

۱. فایل `securqbit-<version>-windows-amd64.tar.gz` را از [cdn.securqbit.com/securqbitd](https://cdn.securqbit.com/securqbitd/) دانلود و استخراج کنید.
۲. فایل `wintun.dll` — راه‌انداز آداپتور تونل، متناسب با معماری شما — را کنار `securqbitd.exe` بگذارید. همراه SecurQbit توزیع نمی‌شود؛ آن را از [wintun.net](https://www.wintun.net) بگیرید.
۳. در پوشهٔ استخراج‌شده، از یک خط فرمان PowerShell با **دسترسی مدیر**:

```powershell
.\install.ps1
```

این کار دو برنامه را در `%ProgramFiles%\SecurQbit` کپی می‌کند، سرویس را ثبت می‌کند و آن پوشه را به `PATH` سیستم می‌افزاید تا `sqctl` از هر ترمینالی کار کند. بعد یک ترمینال تازه باز کنید تا `PATH` جدید را بخواند.

برای حذف، در همان خط فرمان با دسترسی مدیر `.\uninstall.ps1` را اجرا کنید.

## OpenWrt: بردن یک شبکهٔ کامل پشت VPN

روی روتر، SecurQbit همهٔ چیزهای موجود در شبکه را محافظت می‌کند — گوشی‌ها، لپ‌تاپ‌ها، کنسول‌ها، یک تلویزیون هوشمند — بدون آنکه روی هیچ‌کدام چیزی نصب شود.

```bash
curl -fsSL https://cdn.securqbit.com/securqbitd/install.sh | sh
sqctl login
sqctl connect --fastest
```

نصب دیوارهٔ آتش را هم تنظیم می‌کند: یک ناحیه روی دستگاه تونل با NAT، هدایت ترافیک شبکهٔ محلی به درون آن، و رد کردن IPv6 شبکهٔ محلی به سمت WAN. روی روتر رفتار پیش‌فرض همین است، چون VPNای روی روتر که فقط ترافیک خودِ روتر را محافظت کند دلیل نصب کسی نیست. اگر واقعاً همان را می‌خواهید از `--no-router` استفاده کنید.

**پیش از شروع سه چیز را بررسی کنید.**

- **فلش.** حدود ۹۰ مگابایت فضای آزاد لازم است. بیشتر روترهای خانگی آن را ندارند و نصب‌کننده به‌جای پر کردن overlay امتناع می‌کند — روتری که overlay آن پر شود از راه شبکه قابل تعمیر نیست. راه‌حل [extroot](https://openwrt.org/docs/guide-user/additional-software/extroot_configuration) روی حافظهٔ USB یا کارت SD است.
- **ماژول tun.** OpenWrt آن را در ایمیج پیش‌فرض نمی‌گذارد: `opkg update && opkg install kmod-tun` (یا `apk add kmod-tun`). بدون آن نخستین اتصال شکست می‌خورد، نه نصب.
- **curl.** بعضی ایمیج‌ها نه curl دارند و نه wgetی که HTTPS را درست انجام دهد: `opkg install curl`.

گزارش‌ها را با `logread -f -e securqbitd` بخوانید. عمداً در حافظه می‌مانند — عبور روزانهٔ چند مگابایت از فلش روتر، همان چیزی است که فلش را از بین می‌برد.

> **IPv6 رد می‌شود، نه اینکه دور انداخته شود؛ و این عمدی است.** تونل IPv4 حمل می‌کند، پس رها کردن IPv6 شبکهٔ محلی روی WAN نیمی از ترافیک هر دستگاه را از کنار VPN عبور می‌داد. رد کردن باعث می‌شود کلاینت‌ها بی‌درنگ به IPv4 برگردند به‌جای اینکه در هر درخواست منتظر پایان زمان انتظار بمانند. گزینهٔ `--allow-ipv6` این محافظ را خاموش می‌کند و نشت را می‌پذیرد.

## اتصال هنگام راه‌اندازی

```bash
sqctl set autoconnect on
```

سرویس همراه دستگاه بالا می‌آید و به‌محض برقراری شبکه تونل را برپا می‌کند. همراه با `sqctl set country`، یک روتر یا سرور پس از راه‌اندازی مجدد از پیش محافظت‌شده بازمی‌گردد، بی‌آنکه کسی وارد شود.

## به‌روز ماندن

```bash
sqctl update
```

این دستور نسخهٔ جاری را دانلود می‌کند، آن را راستی‌آزمایی می‌کند، دو برنامه را جایگزین می‌کند و سرویس را دوباره راه‌اندازی می‌کند. SecurQbit روزی یک‌بار هم خودش بررسی می‌کند و وقتی چیز تازه‌ای باشد به شما می‌گوید — در سطری زیر `sqctl status`:

```text
    Update         v1.1.0 available — run: sqctl update
```

فقط اطلاع می‌دهد. هرگز خودش نصب نمی‌کند، چون کامل کردن به‌روزرسانی یعنی راه‌اندازی دوباره، و راه‌اندازی دوباره تونل برقرار را قطع می‌کند. `sqctl set updates off` جست‌وجو را متوقف می‌کند؛ `sqctl update` همچنان کار می‌کند.

## حذف کردن

```bash
curl -fsSL https://cdn.securqbit.com/securqbitd/install.sh | sudo sh -s -- --uninstall
```

این ابتدا تونل را پایین می‌آورد تا مسیریابی و DNS شما به حالت پیشین برگردد، سپس سرویس و هر دو برنامه را حذف می‌کند. روی روتر، پیکربندی دیوارهٔ آتشی را هم که افزوده بود برمی‌دارد. فایل پیکربندی و گزارش‌های شما سر جایشان می‌مانند.

## گام‌های بعدی

- [مرجع خط فرمان](/cli-reference) — هر دستور و کاری که می‌کند.
- [اتصال به سرور](/connecting) — انتخاب اینکه کجا دیده شوید.
- [عیب‌یابی](/troubleshooting) — وقتی چیزی کار نمی‌کند.
