Compare commits

..
2 Commits
Author SHA1 Message Date
SamNet-dev 28e5cc7a22 chore: remove unused paqet binary (downloaded at install time) 2026-02-23 23:50:35 -06:00
SamNet-dev 955e819677 feat: migrate paqctl to self-hosted Gitea (git.samnet.dev)
All repository URLs updated from GitHub (SamNet-dev/paqctl) to
Gitea (git.samnet.dev/SamNet-dev/paqctl). Third-party references
(hanselime/paqet, Xray, microsocks) remain on GitHub.
2026-02-23 23:46:21 -06:00
4 changed files with 22 additions and 108 deletions
+3 -27
View File
@@ -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
+9 -71
View File
@@ -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
--- ---
+6 -6
View File
@@ -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 ""
} }
+4 -4
View File
@@ -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
} }
} }