Compare commits
2
Commits
main
..
28e5cc7a22
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
28e5cc7a22 | ||
|
|
955e819677 |
+3
-27
@@ -1,28 +1,4 @@
|
|||||||
# Python
|
|
||||||
__pycache__/
|
__pycache__/
|
||||||
*.py[cod]
|
*.pyc
|
||||||
*$py.class
|
*.pyo
|
||||||
*.so
|
.claude/
|
||||||
.Python
|
|
||||||
venv/
|
|
||||||
ENV/
|
|
||||||
.venv/
|
|
||||||
|
|
||||||
# Client config (contains credentials)
|
|
||||||
gfk/parameters.py
|
|
||||||
|
|
||||||
# IDE
|
|
||||||
.idea/
|
|
||||||
.vscode/
|
|
||||||
*.swp
|
|
||||||
*.swo
|
|
||||||
|
|
||||||
# OS
|
|
||||||
.DS_Store
|
|
||||||
Thumbs.db
|
|
||||||
|
|
||||||
# Logs
|
|
||||||
*.log
|
|
||||||
|
|
||||||
# Release binaries (uploaded to GitHub releases, not committed)
|
|
||||||
*.tar.gz
|
|
||||||
|
|||||||
@@ -16,8 +16,6 @@
|
|||||||
|
|
||||||
[نسخه فارسی](#نسخه-فارسی)
|
[نسخه فارسی](#نسخه-فارسی)
|
||||||
|
|
||||||
> **Note:** Please visit the [GitHub repository](https://github.com/SamNet-dev/paqctl) for the latest updates. If you have an issue, please open an issue there.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## What is this?
|
## What is this?
|
||||||
@@ -133,18 +131,16 @@ This is for when you have a panel on **both** servers (Iran + foreign) and want
|
|||||||
|
|
||||||
**1. Install paqctl on the foreign server (server role):**
|
**1. Install paqctl on the foreign server (server role):**
|
||||||
```bash
|
```bash
|
||||||
curl -fsSL https://dl.samnettech.com/SamNet-dev/paqctl/raw/branch/main/paqctl.sh | sudo bash
|
curl -fsSL https://git.samnet.dev/SamNet-dev/paqctl/raw/branch/main/paqctl.sh | sudo bash
|
||||||
```
|
```
|
||||||
Alternative (mirror): `curl -fsSL https://dl.samnettech.com/SamNet-dev/paqctl/raw/branch/main/paqctl.sh | sudo bash`
|
|
||||||
- Choose **server** role
|
- Choose **server** role
|
||||||
- Set port mapping: `14000:443` (where `443` is your panel's inbound port)
|
- Set port mapping: `14000:443` (where `443` is your panel's inbound port)
|
||||||
- paqctl detects Xray and adds SOCKS5 alongside your panel (e.g. `14001:10443`)
|
- paqctl detects Xray and adds SOCKS5 alongside your panel (e.g. `14001:10443`)
|
||||||
|
|
||||||
**2. Install paqctl on the Iran server (client role):**
|
**2. Install paqctl on the Iran server (client role):**
|
||||||
```bash
|
```bash
|
||||||
curl -fsSL https://dl.samnettech.com/SamNet-dev/paqctl/raw/branch/main/paqctl.sh | sudo bash
|
curl -fsSL https://git.samnet.dev/SamNet-dev/paqctl/raw/branch/main/paqctl.sh | sudo bash
|
||||||
```
|
```
|
||||||
Alternative (mirror): `curl -fsSL https://dl.samnettech.com/SamNet-dev/paqctl/raw/branch/main/paqctl.sh | sudo bash`
|
|
||||||
- Choose **client** role
|
- Choose **client** role
|
||||||
- Use the **exact same** port mappings shown in the server output (e.g. `14000:443,14001:10443`)
|
- Use the **exact same** port mappings shown in the server output (e.g. `14000:443,14001:10443`)
|
||||||
- Use the same auth code from the server setup
|
- Use the same auth code from the server setup
|
||||||
@@ -239,34 +235,7 @@ paqctl will add SOCKS5 on the next available port and append it automatically.
|
|||||||
Run this on your VPS (requires root):
|
Run this on your VPS (requires root):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -fsSL https://dl.samnettech.com/SamNet-dev/paqctl/raw/branch/main/paqctl.sh | sudo bash
|
curl -fsSL https://git.samnet.dev/SamNet-dev/paqctl/raw/branch/main/paqctl.sh | sudo bash
|
||||||
```
|
|
||||||
|
|
||||||
If you're in a restricted region (Iran, etc.), try these methods in order:
|
|
||||||
|
|
||||||
**Method 1: Mirror (recommended)**
|
|
||||||
```bash
|
|
||||||
curl -sL https://dl.samnettech.com/SamNet-dev/paqctl/raw/branch/main/paqctl.sh | sudo bash
|
|
||||||
```
|
|
||||||
|
|
||||||
**Method 2: Manual download on server**
|
|
||||||
|
|
||||||
If method 1 hangs, download first then run:
|
|
||||||
```bash
|
|
||||||
curl -sL https://dl.samnettech.com/SamNet-dev/paqctl/raw/branch/main/paqctl.sh -o paqctl.sh
|
|
||||||
sudo bash paqctl.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
**Method 3: Download from another system and SCP to server**
|
|
||||||
|
|
||||||
If nothing works, download from a system with free internet and send to your server:
|
|
||||||
```bash
|
|
||||||
# On a system with free internet:
|
|
||||||
curl -sL https://dl.samnettech.com/SamNet-dev/paqctl/raw/branch/main/paqctl.sh -o paqctl.sh
|
|
||||||
scp paqctl.sh root@YOUR_SERVER_IP:/root/paqctl.sh
|
|
||||||
|
|
||||||
# Then on the server:
|
|
||||||
sudo bash /root/paqctl.sh
|
|
||||||
```
|
```
|
||||||
|
|
||||||
> The installer automatically downloads the latest paqet release from GitHub.
|
> The installer automatically downloads the latest paqet release from GitHub.
|
||||||
@@ -357,7 +326,7 @@ For more control, use the interactive PowerShell menu.
|
|||||||
|
|
||||||
**Option A: One-liner (downloads and runs automatically)**
|
**Option A: One-liner (downloads and runs automatically)**
|
||||||
```powershell
|
```powershell
|
||||||
irm https://dl.samnettech.com/SamNet-dev/paqctl/raw/branch/main/windows/paqet-client.ps1 | iex
|
irm https://git.samnet.dev/SamNet-dev/paqctl/raw/branch/main/windows/paqet-client.ps1 | iex
|
||||||
```
|
```
|
||||||
|
|
||||||
**Option B: Download first, then run**
|
**Option B: Download first, then run**
|
||||||
@@ -1198,8 +1167,6 @@ AGPL-3.0 License - See [LICENSE](LICENSE) file.
|
|||||||
|
|
||||||
# نسخه فارسی
|
# نسخه فارسی
|
||||||
|
|
||||||
> **توجه:** برای دریافت آخرین بهروزرسانیها به [مخزن گیتهاب](https://github.com/SamNet-dev/paqctl) مراجعه کنید. اگر مشکلی دارید، لطفاً در آنجا یک issue باز کنید.
|
|
||||||
|
|
||||||
## این چیست؟
|
## این چیست؟
|
||||||
|
|
||||||
پاکتکنترل یک ابزار مدیریت پروکسی برای دور زدن فایروال است. این ابزار به شما کمک میکند تا به سروری خارج از شبکههای محدود (مثل پشت فایروال بزرگ) متصل شوید و آزادانه به اینترنت دسترسی داشته باشید.
|
پاکتکنترل یک ابزار مدیریت پروکسی برای دور زدن فایروال است. این ابزار به شما کمک میکند تا به سروری خارج از شبکههای محدود (مثل پشت فایروال بزرگ) متصل شوید و آزادانه به اینترنت دسترسی داشته باشید.
|
||||||
@@ -1285,18 +1252,16 @@ AGPL-3.0 License - See [LICENSE](LICENSE) file.
|
|||||||
|
|
||||||
**۱. نصب paqctl روی سرور خارج (نقش server):**
|
**۱. نصب paqctl روی سرور خارج (نقش server):**
|
||||||
```bash
|
```bash
|
||||||
curl -fsSL https://dl.samnettech.com/SamNet-dev/paqctl/raw/branch/main/paqctl.sh | sudo bash
|
curl -fsSL https://git.samnet.dev/SamNet-dev/paqctl/raw/branch/main/paqctl.sh | sudo bash
|
||||||
```
|
```
|
||||||
جایگزین (میرور): `curl -fsSL https://dl.samnettech.com/SamNet-dev/paqctl/raw/branch/main/paqctl.sh | sudo bash`
|
|
||||||
- نقش **server** را انتخاب کنید
|
- نقش **server** را انتخاب کنید
|
||||||
- مپینگ پورت: `14000:443` (که `443` پورت اینباند پنل شماست)
|
- مپینگ پورت: `14000:443` (که `443` پورت اینباند پنل شماست)
|
||||||
- paqctl تشخیص میدهد Xray در حال اجراست و SOCKS5 را در کنار پنل اضافه میکند (مثلاً `14001:10443`)
|
- paqctl تشخیص میدهد Xray در حال اجراست و SOCKS5 را در کنار پنل اضافه میکند (مثلاً `14001:10443`)
|
||||||
|
|
||||||
**۲. نصب paqctl روی سرور ایران (نقش client):**
|
**۲. نصب paqctl روی سرور ایران (نقش client):**
|
||||||
```bash
|
```bash
|
||||||
curl -fsSL https://dl.samnettech.com/SamNet-dev/paqctl/raw/branch/main/paqctl.sh | sudo bash
|
curl -fsSL https://git.samnet.dev/SamNet-dev/paqctl/raw/branch/main/paqctl.sh | sudo bash
|
||||||
```
|
```
|
||||||
جایگزین (میرور): `curl -fsSL https://dl.samnettech.com/SamNet-dev/paqctl/raw/branch/main/paqctl.sh | sudo bash`
|
|
||||||
- نقش **client** را انتخاب کنید
|
- نقش **client** را انتخاب کنید
|
||||||
- **دقیقاً همان** مپینگهایی که در خروجی سرور نمایش داده شد را استفاده کنید (مثلاً `14000:443,14001:10443`)
|
- **دقیقاً همان** مپینگهایی که در خروجی سرور نمایش داده شد را استفاده کنید (مثلاً `14000:443,14001:10443`)
|
||||||
- همان کد احراز هویت سرور را استفاده کنید
|
- همان کد احراز هویت سرور را استفاده کنید
|
||||||
@@ -1391,34 +1356,7 @@ paqctl به صورت خودکار SOCKS5 را روی پورت آزاد بعدی
|
|||||||
این دستور را روی VPS خود اجرا کنید (نیاز به root دارد):
|
این دستور را روی VPS خود اجرا کنید (نیاز به root دارد):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -fsSL https://dl.samnettech.com/SamNet-dev/paqctl/raw/branch/main/paqctl.sh | sudo bash
|
curl -fsSL https://git.samnet.dev/SamNet-dev/paqctl/raw/branch/main/paqctl.sh | sudo bash
|
||||||
```
|
|
||||||
|
|
||||||
اگر در ایران هستید یا دسترسی مستقیم ندارید، به ترتیب این روشها را امتحان کنید:
|
|
||||||
|
|
||||||
**روش ۱: میرور (پیشنهادی)**
|
|
||||||
```bash
|
|
||||||
curl -sL https://dl.samnettech.com/SamNet-dev/paqctl/raw/branch/main/paqctl.sh | sudo bash
|
|
||||||
```
|
|
||||||
|
|
||||||
**روش ۲: دانلود دستی روی سرور**
|
|
||||||
|
|
||||||
اگر روش ۱ هنگ کرد، اول فایل را دانلود کنید بعد اجرا:
|
|
||||||
```bash
|
|
||||||
curl -sL https://dl.samnettech.com/SamNet-dev/paqctl/raw/branch/main/paqctl.sh -o paqctl.sh
|
|
||||||
sudo bash paqctl.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
**روش ۳: دانلود از سیستم دیگر و ارسال به سرور**
|
|
||||||
|
|
||||||
اگر هیچکدام کار نکرد، فایل را از یک سیستم با اینترنت آزاد دانلود کنید و با SCP به سرور بفرستید:
|
|
||||||
```bash
|
|
||||||
# روی سیستمی که اینترنت آزاد دارد:
|
|
||||||
curl -sL https://dl.samnettech.com/SamNet-dev/paqctl/raw/branch/main/paqctl.sh -o paqctl.sh
|
|
||||||
scp paqctl.sh root@IP_SERVER:/root/paqctl.sh
|
|
||||||
|
|
||||||
# بعد روی سرور:
|
|
||||||
sudo bash /root/paqctl.sh
|
|
||||||
```
|
```
|
||||||
|
|
||||||
سپس منوی تعاملی را باز کنید:
|
سپس منوی تعاملی را باز کنید:
|
||||||
@@ -1507,7 +1445,7 @@ sudo paqctl info
|
|||||||
|
|
||||||
**گزینه A: یک خطی (خودکار دانلود و اجرا میکند)**
|
**گزینه A: یک خطی (خودکار دانلود و اجرا میکند)**
|
||||||
```powershell
|
```powershell
|
||||||
irm https://dl.samnettech.com/SamNet-dev/paqctl/raw/branch/main/windows/paqet-client.ps1 | iex
|
irm https://git.samnet.dev/SamNet-dev/paqctl/raw/branch/main/windows/paqet-client.ps1 | iex
|
||||||
```
|
```
|
||||||
|
|
||||||
**گزینه B: اول دانلود، بعد اجرا**
|
**گزینه B: اول دانلود، بعد اجرا**
|
||||||
@@ -2200,7 +2138,7 @@ sudo paqctl logs # مشاهده لاگها
|
|||||||
|
|
||||||
## مشارکت
|
## مشارکت
|
||||||
|
|
||||||
مشکلات و pull request در گیتهاب:
|
مشکلات و pull request در گیتی:
|
||||||
https://git.samnet.dev/SamNet-dev/paqctl
|
https://git.samnet.dev/SamNet-dev/paqctl
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -12,11 +12,11 @@
|
|||||||
# ║ * Auto-start on boot via systemd/OpenRC/SysVinit ║
|
# ║ * Auto-start on boot via systemd/OpenRC/SysVinit ║
|
||||||
# ║ * Easy management via CLI or interactive menu ║
|
# ║ * Easy management via CLI or interactive menu ║
|
||||||
# ║ ║
|
# ║ ║
|
||||||
# ║ Paqet: https://git.samnet.dev/SamNet-dev/paqctl ║
|
# ║ Paqet: https://git.samnet.dev/SamNet-dev/paqctl ║
|
||||||
# ╚═══════════════════════════════════════════════════════════════════╝
|
# ╚═══════════════════════════════════════════════════════════════════╝
|
||||||
#
|
#
|
||||||
# Usage:
|
# Usage:
|
||||||
# curl -sL https://raw.githubusercontent.com/SamNet-dev/paqctl/main/paqctl.sh | sudo bash
|
# curl -sL https://git.samnet.dev/SamNet-dev/paqctl/raw/branch/main/paqctl.sh | sudo bash
|
||||||
#
|
#
|
||||||
# Or: wget paqctl.sh && sudo bash paqctl.sh
|
# Or: wget paqctl.sh && sudo bash paqctl.sh
|
||||||
#
|
#
|
||||||
@@ -42,7 +42,7 @@ INSTALL_DIR="${INSTALL_DIR:-/opt/paqctl}"
|
|||||||
BACKUP_DIR="$INSTALL_DIR/backups"
|
BACKUP_DIR="$INSTALL_DIR/backups"
|
||||||
GFK_REPO="SamNet-dev/paqctl"
|
GFK_REPO="SamNet-dev/paqctl"
|
||||||
GFK_BRANCH="main"
|
GFK_BRANCH="main"
|
||||||
GFK_RAW_URL="https://dl.samnettech.com/${GFK_REPO}/raw/branch/${GFK_BRANCH}/gfk"
|
GFK_RAW_URL="https://git.samnet.dev/${GFK_REPO}/raw/branch/${GFK_BRANCH}/gfk"
|
||||||
GFK_DIR="$INSTALL_DIR/gfk"
|
GFK_DIR="$INSTALL_DIR/gfk"
|
||||||
MICROSOCKS_REPO="rofl0r/microsocks"
|
MICROSOCKS_REPO="rofl0r/microsocks"
|
||||||
BACKEND="${BACKEND:-paqet}"
|
BACKEND="${BACKEND:-paqet}"
|
||||||
@@ -2239,7 +2239,7 @@ PAQET_REPO="hanselime/paqet"
|
|||||||
PAQET_API_URL="https://api.github.com/repos/${PAQET_REPO}/releases/latest"
|
PAQET_API_URL="https://api.github.com/repos/${PAQET_REPO}/releases/latest"
|
||||||
GFK_REPO="SamNet-dev/paqctl"
|
GFK_REPO="SamNet-dev/paqctl"
|
||||||
GFK_BRANCH="main"
|
GFK_BRANCH="main"
|
||||||
GFK_RAW_URL="https://dl.samnettech.com/${GFK_REPO}/raw/branch/${GFK_BRANCH}/gfk"
|
GFK_RAW_URL="https://git.samnet.dev/${GFK_REPO}/raw/branch/${GFK_BRANCH}/gfk"
|
||||||
GFK_DIR="$INSTALL_DIR/gfk"
|
GFK_DIR="$INSTALL_DIR/gfk"
|
||||||
MICROSOCKS_REPO="rofl0r/microsocks"
|
MICROSOCKS_REPO="rofl0r/microsocks"
|
||||||
|
|
||||||
@@ -4356,7 +4356,7 @@ rollback_paqet() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
update_management_script() {
|
update_management_script() {
|
||||||
local update_url="https://dl.samnettech.com/SamNet-dev/paqctl/raw/branch/main/paqctl.sh"
|
local update_url="https://git.samnet.dev/SamNet-dev/paqctl/raw/branch/main/paqctl.sh"
|
||||||
local tmp_script
|
local tmp_script
|
||||||
tmp_script=$(mktemp "/tmp/paqctl-update-XXXXXXXX.sh")
|
tmp_script=$(mktemp "/tmp/paqctl-update-XXXXXXXX.sh")
|
||||||
|
|
||||||
@@ -6537,7 +6537,7 @@ show_version() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
echo ""
|
echo ""
|
||||||
echo -e " ${DIM}paqctl by SamNet-dev: https://git.samnet.dev/SamNet-dev/paqctl${NC}"
|
echo -e " ${DIM}paqctl by sam: https://git.samnet.dev/SamNet-dev/paqctl${NC}"
|
||||||
echo ""
|
echo ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -496,9 +496,9 @@ function Install-Gfk {
|
|||||||
New-Item -ItemType Directory -Path $GfkDir -Force | Out-Null
|
New-Item -ItemType Directory -Path $GfkDir -Force | Out-Null
|
||||||
}
|
}
|
||||||
|
|
||||||
# Copy bundled GFK scripts or download from GitHub
|
# Copy bundled GFK scripts or download from Gitea
|
||||||
Write-Info "Setting up GFW-knocker scripts..."
|
Write-Info "Setting up GFW-knocker scripts..."
|
||||||
$GfkGitHubBase = "https://raw.githubusercontent.com/SamNet-dev/paqctl/main/gfk/client"
|
$GfkGitHubBase = "https://git.samnet.dev/SamNet-dev/paqctl/raw/branch/main/gfk/client"
|
||||||
foreach ($file in $GfkFiles) {
|
foreach ($file in $GfkFiles) {
|
||||||
$dest = "$GfkDir\$file"
|
$dest = "$GfkDir\$file"
|
||||||
$src = if ($GfkLocalDir) { "$GfkLocalDir\$file" } else { $null }
|
$src = if ($GfkLocalDir) { "$GfkLocalDir\$file" } else { $null }
|
||||||
@@ -508,13 +508,13 @@ function Install-Gfk {
|
|||||||
Copy-Item -Path $src -Destination $dest -Force
|
Copy-Item -Path $src -Destination $dest -Force
|
||||||
Write-Info " Copied $file"
|
Write-Info " Copied $file"
|
||||||
} else {
|
} else {
|
||||||
# Download from GitHub (for one-liner installation)
|
# Download from Gitea (for one-liner installation)
|
||||||
Write-Info " Downloading $file..."
|
Write-Info " Downloading $file..."
|
||||||
try {
|
try {
|
||||||
Invoke-WebRequest -Uri "$GfkGitHubBase/$file" -OutFile $dest -UseBasicParsing
|
Invoke-WebRequest -Uri "$GfkGitHubBase/$file" -OutFile $dest -UseBasicParsing
|
||||||
Write-Info " Downloaded $file"
|
Write-Info " Downloaded $file"
|
||||||
} catch {
|
} catch {
|
||||||
Write-Err "Failed to download $file from GitHub"
|
Write-Err "Failed to download $file from Gitea"
|
||||||
return $false
|
return $false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user