🌐 Languages: English | فارسی
Deploying the full Abdal 4iProto stack (Server + Web Panel + SSH KeyGen) by hand is repetitive and error-prone: you have to clone three GitHub repositories, pick the right binary for your OS/architecture, verify checksums, generate SSH keys, craft JSON configurations, choose free ports, and finally register a system service.
Abdal 4iProto Cli turns that whole workflow into one professional, neon-themed command-line tool that works equally well as an interactive wizard or a fully scripted one-liner – on both Windows and Linux. 🎯
- 🎨 Professional UI – Neon-green ASCII banner, colored boxes, animated progress bars.
- 🧙 Two modes – Run with no arguments for an interactive menu, or pass flags for unattended automation.
- 🛡️ Pre-flight port checks – Reserved/in-use ports are detected before anything is downloaded.
- 📦 Auto-detect OS/Arch – Uses
runtime.GOOS&runtime.GOARCHto pick the right release asset. - 🔐 SHA-256 verification – Every downloaded binary is checked against the GitHub release
digest. - 🔑 SSH key generation – Calls the official KeyGen tool with
ed25519,4096bits, force overwrite by default. - ⚙️ Service installation –
systemdon Linux,scon Windows, with auto-start. - 👥 User management – List & view, add, edit, and remove SSH users with role, bandwidth, session, and quota controls.
- 🛠️ Live config editor – Update server ports, panel credentials, and other settings on the fly.
- 🔄 Auto-restart – Services restart automatically after every config or user change.
- 🧰 Self-install – Register itself as the global
abdal-4iproto-clicommand. - ⏱️ Safe countdown – Press
qduring the 5-second start countdown to abort. - 🆙 Self-Update – Automatically detects new GitHub releases, intelligently downloads the matching binary for your OS/architecture, and performs a secure upgrade with automatic rollback on failure.
- 🆘 Built-in help – Every flag, command, and troubleshooting hint is one
helpaway.
Just run the binary with no arguments:
abdal-4iproto-cliYou'll get a colored menu:
- Install Abdal 4iProto
- Uninstall Abdal 4iProto
- Manage Services
- Add / Remove User
- Edit Server / Panel Configuration
- Install CLI Command
- Diagnostics
- Help
# Full stack install with custom server ports and panel port
abdal-4iproto-cli install \
--server-ports 64235,64236,64237,64238 \
--panel-port 52202 \
--panel-username ebrasha \
--panel-password "your-strong-password"
# Server only
abdal-4iproto-cli install --server-only --key-type ed25519 --key-bits 4096 --key-force
# Panel only
abdal-4iproto-cli install --panel-only --panel-port 52202
# Add a user
abdal-4iproto-cli user add \
--username ali --password "secret" --role user \
--max-sessions 2 --max-speed-kbps 512 --max-total-mb 1024
# Remove a user
abdal-4iproto-cli user remove --username ali
# Service operations
abdal-4iproto-cli service status --component server
abdal-4iproto-cli service restart --component panel
abdal-4iproto-cli service diagnostics
# Update configuration
abdal-4iproto-cli config server --ports 64235,64236,64237,64238
abdal-4iproto-cli config panel --port 52202 --username ebrasha --password "new-pass"
# Self-install as global command
abdal-4iproto-cli self-install
# Self-update – fetch the latest release from GitHub, verify SHA-256, and replace the running binary
abdal-4iproto-cli self-update
# Uninstall – server service only (installation folder is preserved)
abdal-4iproto-cli uninstall --server-only
# Uninstall – panel service only (installation folder is preserved)
abdal-4iproto-cli uninstall --panel-only
# Full uninstall including the installation directory (default)
abdal-4iproto-cli uninstall
# Full uninstall but keep all files on disk
abdal-4iproto-cli uninstall --keep-files
# Help & full reference
abdal-4iproto-cli help| Platform | Path |
|---|---|
| 🐧 Linux | /usr/local/abdal-4iproto-server |
| 🪟 Windows | %LOCALAPPDATA%\abdal-4iproto-server |
| Platform | Server | Panel |
|---|---|---|
| 🐧 Linux | abdal-4iproto-server |
abdal-4iproto-panel |
| 🪟 Windows | Abdal4iProtoServer |
Abdal4iProtoPanel |
⚠️ Installing services and writing to system paths requires Administrator (Windows) or root (Linux) privileges.
If you encounter any issues or have configuration problems, please reach out via email at Prof.Shafiei@Gmail.com. You can also report issues on GitLab or GitHub.
If you find this project helpful and would like to support further development, please consider making a donation:
Handcrafted with Passion by Ebrahim Shafiei (EbraSha)
- E-Mail: Prof.Shafiei@Gmail.com
- Telegram: @ProfShafiei
This project is licensed under the GPLv2 or later License.
