docs: add detailed offline/manual installation guide (#15)

Add comprehensive step-by-step instructions for users who can't
download from GitHub directly (behind DPI/firewall).

Includes:
- 8 clear steps with examples
- Fill-in-the-blank server info template
- Multiple transfer methods (SCP, USB, SFTP)
- Browser configuration for Firefox/Chrome
- Troubleshooting section
- Note to check releases page for latest version

Both English and Farsi versions included.

Requested-by: @Shaheding
This commit is contained in:
SamNet-dev
2026-02-04 16:10:16 -06:00
parent 627e39d40b
commit 93129b3929

378
README.md
View File

@@ -712,6 +712,198 @@ export ALL_PROXY=socks5://127.0.0.1:1080
---
## Offline/Manual Installation (If GitHub is Blocked)
Can't download from GitHub? (e.g., behind DPI/firewall in Iran, China, etc.)
No problem! Paqet is just **one small file** (~8MB). Download it somewhere else and copy it over.
---
### Step 1: Get your server info first
On your **server** (VPS), run:
```bash
sudo paqctl info
```
Write down these 3 things:
```
Server IP: _______________ (e.g., 185.1.2.3)
Port: _______________ (e.g., 8443)
Key: _______________ (e.g., mySecretKey123)
```
---
### Step 2: Download paqet binary
Do this on a machine that CAN access GitHub (your VPS, a friend's computer, VPN, etc.)
**Go to:** https://github.com/hanselime/paqet/releases
> **Note:** Check for the latest version. Examples below use v1.0.0-alpha.13 - use newer if available.
**Click to download the right file for your CLIENT machine:**
| Your Client OS | Download this file |
|----------------|-------------------|
| Windows | `paqet-windows-amd64-v1.0.0-alpha.13.zip` |
| Linux (most computers) | `paqet-linux-amd64-v1.0.0-alpha.13.tar.gz` |
| Linux (Raspberry Pi, ARM) | `paqet-linux-arm64-v1.0.0-alpha.13.tar.gz` |
| macOS (Intel) | `paqet-darwin-amd64-v1.0.0-alpha.13.tar.gz` |
| macOS (M1/M2/M3) | `paqet-darwin-arm64-v1.0.0-alpha.13.tar.gz` |
---
### Step 3: Extract the binary
**On Linux/macOS:**
```bash
tar -xzf paqet-linux-amd64-v1.0.0-alpha.13.tar.gz
mv paqet_linux_amd64 paqet
chmod +x paqet
```
**On Windows:**
- Right-click the ZIP file → "Extract All"
- You'll get `paqet.exe`
---
### Step 4: Transfer to your client machine
Pick ONE method:
**Method A - SCP (if you downloaded on your VPS):**
```bash
# Run this FROM your VPS
scp paqet user@CLIENT_IP:/home/user/paqet
```
**Method B - USB Drive:**
1. Copy `paqet` (or `paqet.exe`) to USB
2. Plug USB into client machine
3. Copy file to a folder (e.g., `C:\paqet\` on Windows or `~/paqet/` on Linux)
**Method C - SFTP/FileZilla:**
1. Connect to your client machine
2. Upload the `paqet` file
---
### Step 5: Create config file
On your **client machine**, create a file called `config.yaml` in the same folder as paqet.
**Copy this and fill in your values:**
```yaml
role: "client"
socks5:
port: 1080
network:
interface: ""
server:
address: "SERVER_IP:PORT"
transport:
mode: "fast"
key: "YOUR_KEY"
```
**Example with real values:**
```yaml
role: "client"
socks5:
port: 1080
network:
interface: ""
server:
address: "185.1.2.3:8443"
transport:
mode: "fast"
key: "mySecretKey123"
```
---
### Step 6: Run paqet
**Linux/macOS:**
```bash
cd ~/paqet # Go to the folder with paqet
sudo ./paqet -config config.yaml
```
**Windows (must run as Administrator):**
1. Open Command Prompt as Administrator
2. Run:
```cmd
cd C:\paqet
paqet.exe -config config.yaml
```
You should see:
```
[INFO] Starting paqet client...
[INFO] Connecting to server...
[INFO] SOCKS5 proxy listening on 127.0.0.1:1080
```
---
### Step 7: Configure your browser
**Firefox:**
1. Settings → Network Settings → Settings...
2. Select "Manual proxy configuration"
3. SOCKS Host: `127.0.0.1` Port: `1080`
4. Select "SOCKS v5"
5. Check "Proxy DNS when using SOCKS v5"
6. Click OK
**Chrome (use system proxy or extension like SwitchyOmega)**
---
### Step 8: Test it!
1. Go to https://whatismyipaddress.com
2. Your IP should show your **VPS IP**, not your real IP
3. Try accessing blocked sites
---
### Troubleshooting
**"Connection refused" or timeout:**
- Check server is running: `sudo paqctl status` on VPS
- Check IP/port/key are correct in config.yaml
- Check firewall allows the port on VPS
**"Permission denied":**
- Linux/macOS: Must run with `sudo`
- Windows: Must run as Administrator
**To stop paqet:**
- Press `Ctrl+C` in the terminal
### Notes
- You don't need `paqctl` script for basic usage - paqet runs standalone
- Server and client versions should match
- For GFK, the process is more complex (needs Python) - use paqet if possible
---
## Server Management
After installing on your VPS, use these commands:
@@ -1375,6 +1567,192 @@ Firefox: Settings → Network Settings → Manual proxy → SOCKS5 `127.0.0.1:10
---
## نصب آفلاین/دستی (اگر GitHub مسدود است)
نمی‌توانید از GitHub دانلود کنید؟ (مثلاً پشت فایروال در ایران، چین و غیره)
مشکلی نیست! Paqet فقط **یک فایل کوچک** (~۸ مگابایت) است. از جای دیگر دانلود کنید و کپی کنید.
---
### مرحله ۱: اول اطلاعات سرور را بگیرید
روی **سرور** (VPS)، این دستور را بزنید:
```bash
sudo paqctl info
```
این ۳ چیز را یادداشت کنید:
```
آی‌پی سرور: _______________ (مثلاً 185.1.2.3)
پورت: _______________ (مثلاً 8443)
کلید: _______________ (مثلاً mySecretKey123)
```
---
### مرحله ۲: دانلود باینری paqet
این کار را روی دستگاهی انجام دهید که به GitHub دسترسی دارد (VPS شما، کامپیوتر دوست، VPN و غیره)
**بروید به:** https://github.com/hanselime/paqet/releases
> **نکته:** آخرین نسخه را چک کنید. مثال‌های زیر از v1.0.0-alpha.13 استفاده می‌کنند - اگر جدیدتر موجود است آن را بگیرید.
**فایل مناسب سیستم کلاینت خود را دانلود کنید:**
| سیستم کلاینت شما | این فایل را دانلود کنید |
|-----------------|----------------------|
| ویندوز | `paqet-windows-amd64-v1.0.0-alpha.13.zip` |
| لینوکس (اکثر کامپیوترها) | `paqet-linux-amd64-v1.0.0-alpha.13.tar.gz` |
| لینوکس (Raspberry Pi, ARM) | `paqet-linux-arm64-v1.0.0-alpha.13.tar.gz` |
| مک (Intel) | `paqet-darwin-amd64-v1.0.0-alpha.13.tar.gz` |
| مک (M1/M2/M3) | `paqet-darwin-arm64-v1.0.0-alpha.13.tar.gz` |
---
### مرحله ۳: استخراج باینری
**در لینوکس/مک:**
```bash
tar -xzf paqet-linux-amd64-v1.0.0-alpha.13.tar.gz
mv paqet_linux_amd64 paqet
chmod +x paqet
```
**در ویندوز:**
- روی فایل ZIP راست‌کلیک کنید ← "Extract All"
- فایل `paqet.exe` را خواهید داشت
---
### مرحله ۴: انتقال به دستگاه کلاینت
یک روش را انتخاب کنید:
**روش A - SCP (اگر روی VPS دانلود کردید):**
```bash
# این را روی VPS خود اجرا کنید
scp paqet user@CLIENT_IP:/home/user/paqet
```
**روش B - فلش USB:**
1. فایل `paqet` (یا `paqet.exe`) را به USB کپی کنید
2. USB را به دستگاه کلاینت وصل کنید
3. فایل را به یک پوشه کپی کنید (مثلاً `C:\paqet\` در ویندوز یا `~/paqet/` در لینوکس)
**روش C - SFTP/FileZilla:**
1. به دستگاه کلاینت متصل شوید
2. فایل `paqet` را آپلود کنید
---
### مرحله ۵: ساخت فایل کانفیگ
روی **دستگاه کلاینت**، یک فایل به نام `config.yaml` در همان پوشه‌ای که paqet است بسازید.
**این را کپی کنید و مقادیر خود را بگذارید:**
```yaml
role: "client"
socks5:
port: 1080
network:
interface: ""
server:
address: "IP_SERVER:PORT"
transport:
mode: "fast"
key: "YOUR_KEY"
```
**مثال با مقادیر واقعی:**
```yaml
role: "client"
socks5:
port: 1080
network:
interface: ""
server:
address: "185.1.2.3:8443"
transport:
mode: "fast"
key: "mySecretKey123"
```
---
### مرحله ۶: اجرای paqet
**لینوکس/مک:**
```bash
cd ~/paqet # به پوشه paqet بروید
sudo ./paqet -config config.yaml
```
**ویندوز (باید به عنوان Administrator اجرا شود):**
1. Command Prompt را به عنوان Administrator باز کنید
2. اجرا کنید:
```cmd
cd C:\paqet
paqet.exe -config config.yaml
```
باید این را ببینید:
```
[INFO] Starting paqet client...
[INFO] Connecting to server...
[INFO] SOCKS5 proxy listening on 127.0.0.1:1080
```
---
### مرحله ۷: پیکربندی مرورگر
**فایرفاکس:**
1. Settings ← Network Settings ← Settings...
2. "Manual proxy configuration" را انتخاب کنید
3. SOCKS Host: `127.0.0.1` Port: `1080`
4. "SOCKS v5" را انتخاب کنید
5. تیک "Proxy DNS when using SOCKS v5" را بزنید
6. OK کنید
**کروم (از system proxy یا افزونه SwitchyOmega استفاده کنید)**
---
### مرحله ۸: تست کنید!
1. بروید به https://whatismyipaddress.com
2. آی‌پی شما باید **آی‌پی VPS** باشد، نه آی‌پی واقعی شما
3. سایت‌های مسدود را امتحان کنید
---
### عیب‌یابی
**"Connection refused" یا تایم‌اوت:**
- چک کنید سرور اجرا باشد: `sudo paqctl status` روی VPS
- چک کنید IP/پورت/کلید در config.yaml درست باشد
- چک کنید فایروال VPS پورت را اجازه دهد
**"Permission denied":**
- لینوکس/مک: باید با `sudo` اجرا شود
- ویندوز: باید به عنوان Administrator اجرا شود
**برای توقف paqet:**
- در ترمینال `Ctrl+C` بزنید
---
## مدیریت سرور
بعد از نصب روی VPS: