# خط فرمان

> پنل را با یک اسکریپت از طریق خط فرمان روی روتر خود نصب کنید.

Source: https://joinnasnet.com/fa/guides/nasnet-panel/install/cli/
Last updated: 2026-10-16

---

## مرور کلی

`install.sh` یک اسکریپت bash است که نس‌نت پنل را از ترمینال روی روتر میکروتیک نصب می‌کند. تقریباً همان کار [نصب‌کنندهٔ گرافیکی](/fa/guides/nasnet-panel/install/graphical-installer/) را انجام می‌دهد. روی لینوکس و macOS مستقیم اجرا می‌شود و روی ویندوز با WSL یا Git Bash.

## قبل از شروع

- کامپیوتر شما با کابل به یکی از پورت‌های LAN روتر وصل است، نه `ether1`.
- آدرس روتر (معمولاً `192.168.88.1`) و نام کاربری و رمز عبور یک کاربر با دسترسی کامل را دارید.
- روتر [پیش‌نیازها](/fa/guides/nasnet-panel/system-requirements/) را دارد.
- روی کامپیوتر `bash`، `curl`، `ssh`، `scp` و یکی از `sha256sum` یا `shasum` نصب است:
  - **لینوکس:** معمولاً همه موجودند. اگر `scp` وجود ندارد، روی Debian و Ubuntu دستور `sudo apt install openssh-client` و روی Fedora دستور `sudo dnf install openssh-clients` را اجرا کنید.
  - **macOS:** همه از پیش موجودند.
  - **ویندوز:** اسکریپت در PowerShell یا Command Prompt اجرا نمی‌شود. یا WSL را نصب کنید (در PowerShell با دسترسی administrator دستور `wsl --install` را اجرا کنید، کامپیوتر را ری‌استارت کنید و **Ubuntu** را باز کنید)، یا [Git for Windows](https://git-scm.com/download/win) را نصب کنید و **Git Bash** را باز کنید.

## گام‌ها

### نصب

1. اسکریپت را دانلود و اجرا کنید:

   ```bash
   curl -fsSLO https://raw.githubusercontent.com/nasnet-community/nasnet-panel/dev/scripts/install.sh
   bash install.sh
   ```

2. **Router IP** را وارد کنید. اسکریپت پورت Winbox (`8291`) و SSH (`22`) را بررسی می‌کند و اگر یکی پاسخ ندهد، پورت دیگری از شما می‌پرسد.
3. **Router user** (پیش‌فرض `admin`) و **Router password** را وارد کنید.
4. اگر `device-mode` باید تغییر کند، اسکریپت می‌پرسد `Proceed? [y/N]`. حرف `y` را بزنید، سپس ظرف ۱۲۰ ثانیه دکمهٔ reset/mode روتر را کوتاه فشار دهید (یا اگر دکمه ندارد، روتر را از برق بکشید و دوباره وصل کنید).
5. اگر حافظهٔ داخلی روتر کمتر از ۳۲ مگابایت فضای خالی داشته باشد، اسکریپت فهرست دیسک‌ها را نمایش می‌دهد. شمارهٔ یکی را وارد کنید.
6. وقتی پیام `Done` نمایش داده شد، اجارهٔ IP کامپیوتر خود را تمدید کنید و `http://192.168.10.1:8080/` را باز کنید.

### اجرا بدون پرسیدن مشخصات روتر

مشخصات را در یک فایل بنویسید و با `--config` به اسکریپت بدهید:

```bash
cat > router.env <<'EOF'
ROUTER_IP=192.168.88.1
ROUTER_USER=admin
ROUTER_PASS=secret
EOF
bash install.sh --config router.env
```

اگر نمی‌خواهید رمز در فایل باشد، `ROUTER_PASS` را ننویسید و از `SSHPASS` استفاده کنید:

```bash
SSHPASS=secret bash install.sh --config router.env
```

اگر `device-mode` هنوز روشن نشده باشد، اسکریپت باز هم تأیید شما را می‌خواهد، پس نخستین نصب را در یک ترمینال باز انجام دهید.

### حذف

```bash
bash install.sh --uninstall --config router.env
```

کانتینر، ruleهای NAT و فایروال نصب‌کننده، bridge و veth کانتینر و فایل‌های آپلودشده پاک می‌شوند. LAN روتر روی `192.168.10.1/24` باقی می‌ماند.

## مرجع

| فلگ | کاربرد | پیش‌فرض |
| --- | ------ | ------- |
| `--dry-run` | کارها را نمایش می‌دهد، اما چیزی را تغییر نمی‌دهد. | خاموش |
| `--uninstall` | پنل و تنظیمات شبکهٔ آن را از روتر پاک می‌کند. | خاموش |
| `--config <file>` | `ROUTER_IP`، `ROUTER_USER` و `ROUTER_PASS` را از فایل می‌خواند. | ندارد |
| `--version <tag>` | نسخه‌ای که نصب می‌شود. `snapshot` نسخهٔ در حال توسعه را نصب می‌کند. | آخرین نسخه |
| `--image-tar <path>` | به‌جای دانلود، از یک فایل tar روی کامپیوتر استفاده می‌کند. | ندارد |
| `--storage <name>` | دیسکی که کانتینر روی آن نصب می‌شود، یا `internal`. | خودکار |
| `--lan-port <port>` | پورت HTTP پنل روی LAN. | `8080` |
| `--https-lan-port <port>` | پورت HTTPS پنل روی LAN. | `8443` |
| `--no-lan-baseline` | LAN فعلی را نگه می‌دارد و آن را به `192.168.10.1/24` منتقل نمی‌کند. | خاموش |
| `--wifi-uplink` | روتر هنگام نصب از یک شبکهٔ WiFi اینترنت می‌گیرد و در پایان کار آن را قطع می‌کند. | خاموش |
| `--wifi-ssid <ssid>` | نام شبکهٔ WiFi، به‌جای انتخاب از فهرست. `--wifi-uplink` را هم روشن می‌کند. | ندارد |
| `--wifi-password <pw>` | رمز WiFi. برای شبکهٔ باز خالی بگذارید. از `WIFI_PASSWORD` هم خوانده می‌شود. | پرسیده می‌شود |
| `--no-rollback` | اگر نصب ناموفق باشد، تغییرها را برنمی‌گرداند. | خاموش |
| `-v`، `--verbose` | جزئیات بیشتری نمایش می‌دهد. | خاموش |
| `-h`، `--help` | راهنمای فلگ‌ها را نمایش می‌دهد. | ندارد |

## رفع مشکلات

**پیام `missing required tool: scp`** (یا `ssh` یا `curl`). ابزار را همان‌طور که در «قبل از شروع» آمده است نصب کنید.

**پیام `bash: install.sh: No such file or directory` روی ویندوز.** در PowerShell یا Command Prompt هستید. WSL یا Git Bash را باز کنید.

**پیام `SSH login failed - check user/password or SSH service policies`.** نام کاربری و رمز عبور را بررسی کنید و مطمئن شوید سرویس SSH روتر روشن است.

**پیام `this computer is connected to the router through ether1`.** اسکریپت باید `ether1` را پورت اینترنت کند. کامپیوتر را به پورت دیگری وصل کنید و اسکریپت را دوباره اجرا کنید.

**پیام `device-mode change not confirmed within 120s`.** دکمه به‌موقع زده نشده است. اسکریپت را دوباره اجرا کنید و این بار زودتر دکمه را بزنید.

## مرتبط

- [نصب](/fa/guides/nasnet-panel/install/)
- [پیش از نصب](/fa/guides/nasnet-panel/install/before-you-install/)
- [نصب‌کنندهٔ گرافیکی](/fa/guides/nasnet-panel/install/graphical-installer/)
- [افزودن روتر](/fa/guides/nasnet-panel/add-router/)
