P-Manager is a web-based proxy management panel built around Xray, designed with a minimal interface for maximum control. It provides a unified platform to manage users, monitor traffic usage, add and configure nodes, and run as a proxy server or relay. It supports both Xray and SSH-based connection solutions.
1- Install the requirements
apt-get -y update && apt-get -y upgrade
apt-get -y install make wget curl jq vim git openssl cron openssh-client2- Install BBR (Optional)
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p3- Install P-Manager
git clone https://github.com/miladrahimi/p-manager.git
cd p-manager
make setupAccess the admin panel at the default port 8080.
- Username:
admin - Password:
password
Users: Manage users and view their public profilesNodes: Manage P-Nodes (remote nodes)System: Modify settings and view metricsExit: Sign out of the admin panel
You can customize the web panel port and additional settings by modifying the configuration file found at:
configs/main.jsonIt requires systemctl restart p-manager to apply changes.
Automatic updates are set up through cron jobs by default. For earlier updates, run the command below:
make updateThe command below uninstalls the P-Manager service, update cron job, and application directory.
make uninstallThe application service is named after its directory, with p-manager as the default in systemd.
It allows running multiple instances on a single server by placing the application in different directories.
A naming strategy for multiple instances could be using p-manager-1 and p-manager-2, etc.
To check the status of the application, execute the following command:
systemctl status p-managerTo view the application's standard outputs, execute the command below:
journalctl -f -u p-managerThe application logs will be stored in the following directory:
./storage/logsThe application performs hourly database backups and saves them to the path below.
./storage/database/backup-%weekday-%hour.json
It creates a total of 168 backup files (7 days x 24 hours), covering a full week. Backups older than one week are unavailable due to the file path structure.
To restore the most recent backup, execute the following command:
make recover
You can manually stop the application service,
replace the backup file with ./storage/database/data.json,
and start the service again.
- Operating systems: Debian or Ubuntu
- Architecture:
amd64 - RAM: 1 GB or more
- CPU: 1 Core or more
This project is governed by the terms of the LICENSE.