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 40 additions and 78 deletions
+3 -27
View File
@@ -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/
+22 -36
View File
@@ -7,10 +7,10 @@
|_| |_|
```
[![Version](https://img.shields.io/badge/version-1.0.0-blue.svg)](https://github.com/SamNet-dev/paqctl/releases)
[![Version](https://img.shields.io/badge/version-1.0.0-blue.svg)](https://git.samnet.dev/SamNet-dev/paqctl/releases)
[![License](https://img.shields.io/badge/license-AGPL--3.0-green.svg)](LICENSE)
[![Server](https://img.shields.io/badge/server-Linux-lightgrey.svg)](https://github.com/SamNet-dev/paqctl)
[![Client](https://img.shields.io/badge/client-Windows%20%7C%20macOS%20%7C%20Linux-green.svg)](https://github.com/SamNet-dev/paqctl)
[![Server](https://img.shields.io/badge/server-Linux-lightgrey.svg)](https://git.samnet.dev/SamNet-dev/paqctl)
[![Client](https://img.shields.io/badge/client-Windows%20%7C%20macOS%20%7C%20Linux-green.svg)](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
---
+11 -11
View File
@@ -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,"
+4 -4
View File
@@ -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
}
}