Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
28e5cc7a22 | ||
|
|
955e819677 |
+3
-27
@@ -1,28 +1,4 @@
|
||||
# Python
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*$py.class
|
||||
*.so
|
||||
.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
|
||||
*.pyc
|
||||
*.pyo
|
||||
.claude/
|
||||
|
||||
@@ -7,10 +7,10 @@
|
||||
|_| |_|
|
||||
```
|
||||
|
||||
[](https://github.com/SamNet-dev/paqctl/releases)
|
||||
[](https://git.samnet.dev/SamNet-dev/paqctl/releases)
|
||||
[](LICENSE)
|
||||
[](https://github.com/SamNet-dev/paqctl)
|
||||
[](https://github.com/SamNet-dev/paqctl)
|
||||
[](https://git.samnet.dev/SamNet-dev/paqctl)
|
||||
[](https://git.samnet.dev/SamNet-dev/paqctl)
|
||||
|
||||
**Bypass firewall restrictions and access the free internet**
|
||||
|
||||
@@ -131,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):**
|
||||
```bash
|
||||
curl -fsSL https://raw.githubusercontent.com/SamNet-dev/paqctl/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://samnet-mirror.98samh.workers.dev/SamNet-dev/paqctl/raw/branch/main/paqctl.sh | sudo bash`
|
||||
- Choose **server** role
|
||||
- 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`)
|
||||
|
||||
**2. Install paqctl on the Iran server (client role):**
|
||||
```bash
|
||||
curl -fsSL https://raw.githubusercontent.com/SamNet-dev/paqctl/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://samnet-mirror.98samh.workers.dev/SamNet-dev/paqctl/raw/branch/main/paqctl.sh | sudo bash`
|
||||
- Choose **client** role
|
||||
- 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
|
||||
@@ -237,12 +235,7 @@ paqctl will add SOCKS5 on the next available port and append it automatically.
|
||||
Run this on your VPS (requires root):
|
||||
|
||||
```bash
|
||||
curl -fsSL https://raw.githubusercontent.com/SamNet-dev/paqctl/main/paqctl.sh | sudo bash
|
||||
```
|
||||
|
||||
Alternative (mirror, for restricted regions):
|
||||
```bash
|
||||
curl -fsSL https://samnet-mirror.98samh.workers.dev/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
|
||||
```
|
||||
|
||||
> The installer automatically downloads the latest paqet release from GitHub.
|
||||
@@ -284,7 +277,7 @@ The simplest way to get started - just download, double-click, and connect!
|
||||
|
||||
### Step 1: Download
|
||||
|
||||
1. Go to: https://github.com/SamNet-dev/paqctl
|
||||
1. Go to: https://git.samnet.dev/SamNet-dev/paqctl
|
||||
2. Click the green **"Code"** button → **"Download ZIP"**
|
||||
3. Extract the ZIP file anywhere (e.g., Desktop)
|
||||
4. Open the `windows` folder inside
|
||||
@@ -333,12 +326,12 @@ For more control, use the interactive PowerShell menu.
|
||||
|
||||
**Option A: One-liner (downloads and runs automatically)**
|
||||
```powershell
|
||||
irm https://raw.githubusercontent.com/SamNet-dev/paqctl/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**
|
||||
```powershell
|
||||
git clone https://github.com/SamNet-dev/paqctl.git
|
||||
git clone https://git.samnet.dev/SamNet-dev/paqctl.git
|
||||
cd paqctl\windows
|
||||
.\paqet-client.ps1
|
||||
```
|
||||
@@ -653,7 +646,7 @@ brew install python@3.11
|
||||
#### Step 2: Clone the Repository
|
||||
|
||||
```bash
|
||||
git clone https://github.com/SamNet-dev/paqctl.git
|
||||
git clone https://git.samnet.dev/SamNet-dev/paqctl.git
|
||||
cd paqctl/gfk/client
|
||||
```
|
||||
|
||||
@@ -821,7 +814,7 @@ sudo apt install python3 python3-pip # Debian/Ubuntu
|
||||
pip3 install scapy aioquic
|
||||
|
||||
# Clone and configure
|
||||
git clone https://github.com/SamNet-dev/paqctl.git
|
||||
git clone https://git.samnet.dev/SamNet-dev/paqctl.git
|
||||
cd paqctl/gfk/client
|
||||
|
||||
# Create parameters.py (same as macOS section above)
|
||||
@@ -1149,7 +1142,7 @@ This tool is for legitimate privacy and access needs. Laws vary by country. Use
|
||||
## Contributing
|
||||
|
||||
Issues and pull requests are welcome at:
|
||||
https://github.com/SamNet-dev/paqctl
|
||||
https://git.samnet.dev/SamNet-dev/paqctl
|
||||
|
||||
---
|
||||
|
||||
@@ -1259,18 +1252,16 @@ AGPL-3.0 License - See [LICENSE](LICENSE) file.
|
||||
|
||||
**۱. نصب paqctl روی سرور خارج (نقش server):**
|
||||
```bash
|
||||
curl -fsSL https://raw.githubusercontent.com/SamNet-dev/paqctl/main/paqctl.sh | sudo bash
|
||||
curl -fsSL https://git.samnet.dev/SamNet-dev/paqctl/raw/branch/main/paqctl.sh | sudo bash
|
||||
```
|
||||
جایگزین (میرور): `curl -fsSL https://samnet-mirror.98samh.workers.dev/SamNet-dev/paqctl/raw/branch/main/paqctl.sh | sudo bash`
|
||||
- نقش **server** را انتخاب کنید
|
||||
- مپینگ پورت: `14000:443` (که `443` پورت اینباند پنل شماست)
|
||||
- paqctl تشخیص میدهد Xray در حال اجراست و SOCKS5 را در کنار پنل اضافه میکند (مثلاً `14001:10443`)
|
||||
|
||||
**۲. نصب paqctl روی سرور ایران (نقش client):**
|
||||
```bash
|
||||
curl -fsSL https://raw.githubusercontent.com/SamNet-dev/paqctl/main/paqctl.sh | sudo bash
|
||||
curl -fsSL https://git.samnet.dev/SamNet-dev/paqctl/raw/branch/main/paqctl.sh | sudo bash
|
||||
```
|
||||
جایگزین (میرور): `curl -fsSL https://samnet-mirror.98samh.workers.dev/SamNet-dev/paqctl/raw/branch/main/paqctl.sh | sudo bash`
|
||||
- نقش **client** را انتخاب کنید
|
||||
- **دقیقاً همان** مپینگهایی که در خروجی سرور نمایش داده شد را استفاده کنید (مثلاً `14000:443,14001:10443`)
|
||||
- همان کد احراز هویت سرور را استفاده کنید
|
||||
@@ -1365,12 +1356,7 @@ paqctl به صورت خودکار SOCKS5 را روی پورت آزاد بعدی
|
||||
این دستور را روی VPS خود اجرا کنید (نیاز به root دارد):
|
||||
|
||||
```bash
|
||||
curl -fsSL https://raw.githubusercontent.com/SamNet-dev/paqctl/main/paqctl.sh | sudo bash
|
||||
```
|
||||
|
||||
جایگزین (میرور، برای مناطق محدود):
|
||||
```bash
|
||||
curl -fsSL https://samnet-mirror.98samh.workers.dev/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
|
||||
```
|
||||
|
||||
سپس منوی تعاملی را باز کنید:
|
||||
@@ -1410,7 +1396,7 @@ sudo paqctl info
|
||||
|
||||
### مرحله ۱: دانلود
|
||||
|
||||
1. بروید به: https://github.com/SamNet-dev/paqctl
|
||||
1. بروید به: https://git.samnet.dev/SamNet-dev/paqctl
|
||||
2. روی دکمه سبز **"Code"** کلیک کنید → **"Download ZIP"**
|
||||
3. فایل ZIP را در هر جایی استخراج کنید (مثلاً دسکتاپ)
|
||||
4. وارد پوشه `windows` شوید
|
||||
@@ -1459,12 +1445,12 @@ sudo paqctl info
|
||||
|
||||
**گزینه A: یک خطی (خودکار دانلود و اجرا میکند)**
|
||||
```powershell
|
||||
irm https://raw.githubusercontent.com/SamNet-dev/paqctl/main/windows/paqet-client.ps1 | iex
|
||||
irm https://git.samnet.dev/SamNet-dev/paqctl/raw/branch/main/windows/paqet-client.ps1 | iex
|
||||
```
|
||||
|
||||
**گزینه B: اول دانلود، بعد اجرا**
|
||||
```powershell
|
||||
git clone https://github.com/SamNet-dev/paqctl.git
|
||||
git clone https://git.samnet.dev/SamNet-dev/paqctl.git
|
||||
cd paqctl\windows
|
||||
.\paqet-client.ps1
|
||||
```
|
||||
@@ -1754,7 +1740,7 @@ brew install python@3.11
|
||||
#### مرحله ۲: کلون مخزن
|
||||
|
||||
```bash
|
||||
git clone https://github.com/SamNet-dev/paqctl.git
|
||||
git clone https://git.samnet.dev/SamNet-dev/paqctl.git
|
||||
cd paqctl/gfk/client
|
||||
```
|
||||
|
||||
@@ -1846,7 +1832,7 @@ sudo apt install python3 python3-pip # Debian/Ubuntu
|
||||
pip3 install scapy aioquic
|
||||
|
||||
# کلون و پیکربندی
|
||||
git clone https://github.com/SamNet-dev/paqctl.git
|
||||
git clone https://git.samnet.dev/SamNet-dev/paqctl.git
|
||||
cd paqctl/gfk/client
|
||||
|
||||
# ایجاد parameters.py (مشابه بخش macOS)
|
||||
@@ -2152,8 +2138,8 @@ sudo paqctl logs # مشاهده لاگها
|
||||
|
||||
## مشارکت
|
||||
|
||||
مشکلات و pull request در گیتهاب:
|
||||
https://github.com/SamNet-dev/paqctl
|
||||
مشکلات و pull request در گیتی:
|
||||
https://git.samnet.dev/SamNet-dev/paqctl
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -12,11 +12,11 @@
|
||||
# ║ * Auto-start on boot via systemd/OpenRC/SysVinit ║
|
||||
# ║ * Easy management via CLI or interactive menu ║
|
||||
# ║ ║
|
||||
# ║ Paqet: https://github.com/SamNet-dev/paqctl ║
|
||||
# ║ Paqet: https://git.samnet.dev/SamNet-dev/paqctl ║
|
||||
# ╚═══════════════════════════════════════════════════════════════════╝
|
||||
#
|
||||
# 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
|
||||
#
|
||||
@@ -42,7 +42,7 @@ INSTALL_DIR="${INSTALL_DIR:-/opt/paqctl}"
|
||||
BACKUP_DIR="$INSTALL_DIR/backups"
|
||||
GFK_REPO="SamNet-dev/paqctl"
|
||||
GFK_BRANCH="main"
|
||||
GFK_RAW_URL="https://raw.githubusercontent.com/${GFK_REPO}/${GFK_BRANCH}/gfk"
|
||||
GFK_RAW_URL="https://git.samnet.dev/${GFK_REPO}/raw/branch/${GFK_BRANCH}/gfk"
|
||||
GFK_DIR="$INSTALL_DIR/gfk"
|
||||
MICROSOCKS_REPO="rofl0r/microsocks"
|
||||
BACKEND="${BACKEND:-paqet}"
|
||||
@@ -2223,7 +2223,7 @@ create_management_script() {
|
||||
#!/bin/bash
|
||||
#
|
||||
# paqctl - Paqet Manager
|
||||
# https://github.com/SamNet-dev/paqctl
|
||||
# https://git.samnet.dev/SamNet-dev/paqctl
|
||||
#
|
||||
|
||||
VERSION="1.0.0"
|
||||
@@ -2239,7 +2239,7 @@ PAQET_REPO="hanselime/paqet"
|
||||
PAQET_API_URL="https://api.github.com/repos/${PAQET_REPO}/releases/latest"
|
||||
GFK_REPO="SamNet-dev/paqctl"
|
||||
GFK_BRANCH="main"
|
||||
GFK_RAW_URL="https://raw.githubusercontent.com/${GFK_REPO}/${GFK_BRANCH}/gfk"
|
||||
GFK_RAW_URL="https://git.samnet.dev/${GFK_REPO}/raw/branch/${GFK_BRANCH}/gfk"
|
||||
GFK_DIR="$INSTALL_DIR/gfk"
|
||||
MICROSOCKS_REPO="rofl0r/microsocks"
|
||||
|
||||
@@ -4356,7 +4356,7 @@ rollback_paqet() {
|
||||
}
|
||||
|
||||
update_management_script() {
|
||||
local update_url="https://raw.githubusercontent.com/SamNet-dev/paqctl/main/paqctl.sh"
|
||||
local update_url="https://git.samnet.dev/SamNet-dev/paqctl/raw/branch/main/paqctl.sh"
|
||||
local tmp_script
|
||||
tmp_script=$(mktemp "/tmp/paqctl-update-XXXXXXXX.sh")
|
||||
|
||||
@@ -6515,7 +6515,7 @@ show_help() {
|
||||
echo " version Show version info"
|
||||
echo " help Show this help"
|
||||
echo ""
|
||||
echo -e "${BOLD}Paqet:${NC} https://github.com/SamNet-dev/paqctl"
|
||||
echo -e "${BOLD}Paqet:${NC} https://git.samnet.dev/SamNet-dev/paqctl"
|
||||
echo ""
|
||||
}
|
||||
|
||||
@@ -6537,7 +6537,7 @@ show_version() {
|
||||
fi
|
||||
fi
|
||||
echo ""
|
||||
echo -e " ${DIM}paqctl by SamNet-dev: https://github.com/SamNet-dev/paqctl${NC}"
|
||||
echo -e " ${DIM}paqctl by sam: https://git.samnet.dev/SamNet-dev/paqctl${NC}"
|
||||
echo ""
|
||||
}
|
||||
|
||||
@@ -6712,7 +6712,7 @@ show_info_menu() {
|
||||
echo " destination on the open internet."
|
||||
echo ""
|
||||
echo -e " ${DIM}Technical stack: Go, gopacket, libpcap, KCP, smux, AES${NC}"
|
||||
echo -e " ${DIM}Project: https://github.com/SamNet-dev/paqctl${NC}"
|
||||
echo -e " ${DIM}Project: https://git.samnet.dev/SamNet-dev/paqctl${NC}"
|
||||
echo ""
|
||||
read -n 1 -s -r -p " Press any key..." < /dev/tty || true
|
||||
redraw=true
|
||||
@@ -6865,7 +6865,7 @@ show_info_menu() {
|
||||
echo -e " ${CYAN}── Paqet ──${NC}"
|
||||
echo ""
|
||||
echo -e " ${BOLD}Creator:${NC} hanselime"
|
||||
echo -e " ${BOLD}Repository:${NC} https://github.com/SamNet-dev/paqctl"
|
||||
echo -e " ${BOLD}Repository:${NC} https://git.samnet.dev/SamNet-dev/paqctl"
|
||||
echo -e " ${BOLD}License:${NC} AGPL-3.0 - Copyright (C) 2026 SamNet Technologies, LLC"
|
||||
echo -e " ${BOLD}Language:${NC} Go"
|
||||
echo -e " ${BOLD}Contact:${NC} Signal @hanselime.11"
|
||||
@@ -6886,7 +6886,7 @@ show_info_menu() {
|
||||
echo -e " ${CYAN}── paqctl Management Tool ──${NC}"
|
||||
echo ""
|
||||
echo -e " ${BOLD}Built by:${NC} SamNet-dev"
|
||||
echo -e " ${BOLD}Repository:${NC} https://github.com/SamNet-dev/paqctl"
|
||||
echo -e " ${BOLD}Repository:${NC} https://git.samnet.dev/SamNet-dev/paqctl"
|
||||
echo -e " ${BOLD}License:${NC} AGPL-3.0 - Copyright (C) 2026 SamNet Technologies, LLC"
|
||||
echo ""
|
||||
echo " paqctl provides one-click installation, configuration,"
|
||||
|
||||
@@ -496,9 +496,9 @@ function Install-Gfk {
|
||||
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..."
|
||||
$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) {
|
||||
$dest = "$GfkDir\$file"
|
||||
$src = if ($GfkLocalDir) { "$GfkLocalDir\$file" } else { $null }
|
||||
@@ -508,13 +508,13 @@ function Install-Gfk {
|
||||
Copy-Item -Path $src -Destination $dest -Force
|
||||
Write-Info " Copied $file"
|
||||
} else {
|
||||
# Download from GitHub (for one-liner installation)
|
||||
# Download from Gitea (for one-liner installation)
|
||||
Write-Info " Downloading $file..."
|
||||
try {
|
||||
Invoke-WebRequest -Uri "$GfkGitHubBase/$file" -OutFile $dest -UseBasicParsing
|
||||
Write-Info " Downloaded $file"
|
||||
} catch {
|
||||
Write-Err "Failed to download $file from GitHub"
|
||||
Write-Err "Failed to download $file from Gitea"
|
||||
return $false
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user