Skip to content

GegeDevs/vpnpanel-docs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

VPN Telegram Panel - Documentation

LIVE PREVIEW DEMO

Overview

Register VPS IP Address for Access [FREE]

Register your VPS IP Address to this bot GegeVPS AutoScript. There is a plan for one day every day. You can use it to test the bot's connection to the server.

Installation

  1. Install Docker Container on your server. Follow the tutorial here

  2. Clone this Repository

    git clone https://github.com/GegeDevs/vpnpanel-docs.git ./vpnpanel
  3. Change to the config directory

    cd ./vpnpanel/config
  4. Edit docker-compose.yaml

    TAG Instruction
    YOUR_TELEGRAM_API_ID replace with your bot token from Bot API Auth
    YOUR_TELEGRAM_API_HASH replace with your bot token from Bot API Auth
  5. Edit config.yaml

    TAG Instruction
    BOT_TOKEN replace with your bot token from botFather
    BOTNOTIF_TOKEN replace with your bot token from botFather
  6. Start Docker Compose

    sudo docker compose up -d
  7. Test /start on your bot

Update Latest Version

  1. Go to Docker Compose directory

    cd ./vpnpanel/config
  2. Enter this Command

    sudo docker compose down --rmi all && \
    sudo docker compose up -d

Features

  • Admin Panel Dashboard for Centralize Configuration
  • Auto Backup Bot Data to Google Drive
  • Pluginable for Supporting many VPN Server Script
  • Broadcast Message to All Client
  • Whitelabel Changer Interface
  • Channels List Interface Editor
  • Check Version Update
  • Notes for each Tunnel Menu
  • Editable Start Notes
  • Hashtag Notes
  • Trial Accounts
  • Supports Multiple tunnel types
  • Tunnel Duration/Quota Based Plan
  • Tunnel Transport Enabler/Disabler
  • Add, Reduce, Check Balance Client
  • Add, Delete, and List Server
  • Add, Delete, Edit Tunnel Plan
  • Add, Remove, and List Reseller
  • Add, Remove, and List Admin
  • Enable/Disable Server
  • Enable/Disable Tunnel Plan
  • Hide/Show Tunnel Type
  • Hide/Show Payment Method
  • Hide/Show Payment Gateway
  • Hide/Show IP Server (Client Side)
  • Interactive Payment Configuration
  • Maintenance Mode Toggler

TODO...

  • RESTful API Access

Payment Gateway Supported

TODO...

Script Supported

TODO...

  • Make a request in the Issues

Tunnel Supported

Duration Based

Tunnel Code Action Locally Action Remotely
🐑 SSH/OpenVPN sshovpn info create, extend,
delete, checklogin,
lock, unlock,
trial
πŸ›°οΈ SoftetherVPN sevpn info create, extend,
delete, checklogin,
lock, unlock,
trial
πŸ‰ WireGuard wireguard info create, extend,
delete, checklogin,
lock, unlock,
trial
🦈 VMess vmess info create, extend,
delete, checklogin,
lock, unlock,
trial
🐬 VLess vless info create, extend,
delete, checklogin,
lock, unlock,
trial
🐎 Trojan trojan info create, extend,
delete, checklogin,
lock, unlock,
trial
πŸ₯·πŸΏ Shadowsocks ssocks info create, extend,
delete, checklogin,
lock, unlock,
trial
πŸ¦„ Trojan-Go trojango info create, extend,
delete, checklogin,
lock, unlock
πŸ›‘οΈ Socks5 socks5 info create, extend,
delete, checklogin,
lock, unlock
πŸ§ͺ NoobzVPN noobz info create, extend,
delete, checklogin,
lock, unlock,
trial
πŸͺ½ Hysteria1 hysteria1 info create, extend,
delete, checklogin,
lock, unlock,
trial
⚑️ Hysteria2 hysteria2 info create, extend,
delete, checklogin,
lock, unlock,
trial
🌑 Noobz VPN noobz info create, extend,
delete, checklogin,
lock, unlock,
trial
🎨 UDP Custom udpcustom info create, extend,
delete, checklogin,
lock, unlock,
trial

Command Format

/etc/gegevps/bin/telegram-<CODE>-<ACTION>.sh <USERNAME> <PASSWORD> <DAYS> <TRANSPORT> <EXPIRED_TIMESTAMP>

example:

# VMess Create Account
/etc/gegevps/bin/telegram-vmess-create.sh gegeuser gegepass 30 ws 1756107420

# Username: gegeuser
# Password: gegepass
# Days: 30
# Transport: ws
# Expired Timestamp: 1756107420 (Mon Aug 25 02:37:00 PM WIB 2025)

Quota Based

Tunnel Code Action Locally Action Remotely
🐑 SSH/OpenVPN sshovpnqb info create, extend,
delete, checklogin,
lock, unlock,
trial
🦈 VMess Quota-Based vmessqb info create, extend,
delete, checklogin,
lock, unlock,
trial
🐬 VLess Quota-Based vlessqb info create, extend,
delete, checklogin,
lock, unlock,
trial
🐎 Trojan Quota-Based trojanqb info create, extend,
delete, checklogin,
lock, unlock,
trial
πŸ§ͺ NoobzVPN Quota-Based noobzqb info create, extend,
delete, checklogin,
lock, unlock
⚑️ Hysteria 2 Quota-Based hysteria2qb info create, extend,
delete, checklogin,
lock, unlock,
trial

Command Format

/etc/gegevps/bin/telegram-<CODE>-<ACTION>.sh <USERNAME> <PASSWORD> <DAYS> <QUOTA> <CYCLE [daily|weekly|montly]> <TRANSPORT> <EXPIRED_TIMESTAMP>

example:

# VMess Create Account
/etc/gegevps/bin/telegram-vmess-create.sh gegeuser gegepass 30 25 daily ws 1756107420

# Username: gegeuser
# Password: gegepass
# Days: 30
# Quota: 25 GB
# Cycle: daily
# Transport: ws
# Expired Timestamp: 1756107420 (Mon Aug 25 02:37:00 PM WIB 2025)
Action Details
**create Used to create tunnel accounts
**extend Used to extend the active period of a tunnel account
*info Check account details based on bot database
**delete Delete user account on server
**checklogin Check user login on server
**lock Lock tunnel account
**unlock Unlock tunnel account
**trial Used to create tunnel trial accounts

*Locally : No connection to server required
**Remotely : Requires connection to server

Transport

Transport Details
tcp 🎯 TCP
ws 🌐 WebSocket
grpc 🧬 gRPC
xhttp πŸ’¨ XHTTP
httpupgrade πŸ†™ HTTPUpgrade

Debugging

OrderKuota Payment Gateway

The original API Endpoint URL from OrderKuota only allows connections from Indonesian IP addresses. However, this bot has been configured with an Indonesian IP Reverse Proxy, so it can still be used even if the bot is running on a server with an international IP. Still, if you intend to use OrderKuota Payment Gateway as the main payment method, it is recommended to host the bot server with an Indonesian IP. The Reverse Proxy embedded in the bot application is hosted on the developer's personal (home) server, so there is no guaranteed SLA uptime due to various factors such as power outages and others. Thank you.

Restore Backup File

root@serverbot:~/vpnpanel/config# docker compose up -d && docker compose logs -f
Attaching to api-1, bot-1, nginx-1
nginx-1  | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
nginx-1  | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
nginx-1  | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
api-1    | telegram-bot-api --http-port 8081 --dir=/var/lib/telegram-bot-api --temp-dir=/tmp/telegram-bot-api --username=telegram-bot-api --groupname=telegram-bot-api --api-id=191xxx --api-hash=1586c21e3d9d8exxxxx 
nginx-1  | 10-listen-on-ipv6-by-default.sh: info: can not modify /etc/nginx/conf.d/default.conf (read-only file system?)
nginx-1  | /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh
nginx-1  | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
nginx-1  | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
nginx-1  | /docker-entrypoint.sh: Configuration complete; ready for start up
api-1    | [ 0][t 9][1752819429.874213457][Status.h:256][!ClientManager]        Unexpected Status [PosixError : Permission denied : 13 : File "/var/lib/telegram-bot-api/tqueue.binlog" can't be opened/created for reading and writing] in file /root/tdlib/telegram-bot-api/ClientManager.cpp at line 326
api-1    | [pid 1] [time 1752819429] ------- Log dump -------
..........

This is caused by a file permission issue. You can resolve it with the following command:

chmod -R 777 ./data # Grant more permissive access to data files
docker compose down && docker compose up -d

About

VPN Telegram Panel Docs

Topics

Resources

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •  

Languages