Skip to content

P-Manager is a Xray & SSH Proxy Panel with User Management, Traffic Monitoring, and Multi-Node Support

License

Notifications You must be signed in to change notification settings

miladrahimi/p-manager

Repository files navigation

P-Manager

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.

Documentation

Installation

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-client

2- Install BBR (Optional)

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p

3- Install P-Manager

git clone https://github.com/miladrahimi/p-manager.git
cd p-manager
make setup

Admin Panel

Access the admin panel at the default port 8080.

Default credentials

  • Username: admin
  • Password: password

Tabs

  • Users: Manage users and view their public profiles
  • Nodes: Manage P-Nodes (remote nodes)
  • System: Modify settings and view metrics
  • Exit: Sign out of the admin panel

Configuration

You can customize the web panel port and additional settings by modifying the configuration file found at:

configs/main.json

It requires systemctl restart p-manager to apply changes.

Update

Automatic updates are set up through cron jobs by default. For earlier updates, run the command below:

make update

Uninstall

The command below uninstalls the P-Manager service, update cron job, and application directory.

make uninstall

Status and Logs

The 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-manager

To view the application's standard outputs, execute the command below:

journalctl -f -u p-manager

The application logs will be stored in the following directory:

./storage/logs

Backups and Recovery

The 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.

Requirements

  • Operating systems: Debian or Ubuntu
  • Architecture: amd64
  • RAM: 1 GB or more
  • CPU: 1 Core or more

Links

License

This project is governed by the terms of the LICENSE.

About

P-Manager is a Xray & SSH Proxy Panel with User Management, Traffic Monitoring, and Multi-Node Support

Topics

Resources

License

Stars

Watchers

Forks