Skip to content

XMPlusDev/XMBox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

XMBox

Sing-box server for NuxtJs version of XMPlus management panel

Config directory

cd /etc/XMBox

Onclick XMBox backennd Install

bash <(curl -Ls https://raw.githubusercontent.com/XMPlusDev/XMBox/script/install.sh)

/etc/XMBox/config.yaml

DnsFile: #/etc/XMBox/dns.json 
RouteFile: #/etc/XMBox/route.json 
Log:
  Level: info                                   # debug | info | warn | error
  Disabled: true                                # true, flase
  Output:                                       #/etc/XMBox/output.log
Ntp:
    Enable: false
    Server: time.cloudflare.com
    ServerPort: 123
Multiplex:                                
    Enabled: true                               # true, flase
    Padding: true                               # true, flase
ReverbConfig:
  - Enable: false
    Host: "api.xyz.com:443" # Reverb REVERB_HOST:REVERB_PORT  in .env for api /home/XMplusPanel/.env 
    AppKey:                 # REVERB_APP_KEY in .env for api /home/XMplusPanel/.env
    AppSecret:              # REVERB_APP_SECRET in .env for api /home/XMplusPanel/.env
    Channel: xmplus         # Do not change
    UseTLS: true            # Set to true if tls enabled for api
Nodes:
  -
    ApiConfig:
      ApiHost: "https://api.xyz.com"            # Panel api address https://api.tld.com
      ApiKey: "123"                             # Panel server api key
      NodeID: 1                                 # Server (Node) id of the server to connect
      Timeout: 30                               # Timeout for backened server to get response from panel api 
    CertConfig:
      Email: author@cert.xyz                    # Required when Cert Mode is not none
      CertFile: /etc/XMBox/node1.crt            # Required when Cert Mode is file
      KeyFile: /etc/XMBox/node1.key             # Required when Cert Mode is file
      Provider: cloudflare                      # Required when Cert Mode is dns
      CertEnv:                                  # Required when Cert Mode is dns
        CLOUDFLARE_EMAIL:                       # Required when Cert Mode is dns
        CLOUDFLARE_API_KEY:                     # Required when Cert Mode is dns
    RedisConfig:
      Enable: false                             # Enable the global ip limit of a user
      Network: tcp                              # Redis protocol, tcp or unix
      Addr: 127.0.0.1:6379                      # Redis server address, or unix socket path
      Username:                                 # Redis username
      Password:                                 # Redis password
      DB: 0                                     # Redis DB
      Timeout: 10                               # Timeout for redis request

XMPlus Panel Server configuration

Network Settings

TCP

{
  "listen_ip": "0.0.0.0",
  "listen_port": "443",
  "tcp_fast_open": true,
  "transportProtocol": {
    "type": "tcp",
    "settings": {
      "header": {
        "type": "none"
      }
    }
  },
  //vless
  "flow": "xtls-rprx-vision",
  // shadowsocks
  "cipher": "aes-128-gcm",
  // hysteria
  "obfs_type": "salamander",
  "obfs_password": "password",
  "bbr_profile": "standard",
  "ignore_client_bandwidth": true,
  //tuic
  "congestion_control": "bbr",
  //naive
  "enable_quic" : false,
  "quic_congestion_control": "bbr",
  //anytls
  "padding_scheme": [],
  //shadowtls
  "strict_mode": false,
  "handshake_server": "www.microsoft.com",
  "handshake_server_port": 443
}

TCP + HTTP

{
  "listen_ip": "0.0.0.0",
  "listen_port": "443",
  "tcp_fast_open": true,
  "transportProtocol": {
    "type": "tcp",
    "settings": {
      "header": {
        "type": "http",
        "path": "/",
        "host": "www.cloudflare.com",
		"method": "GET"
      }
    }
  },
  //vless
  "flow": "xtls-rprx-vision",
  // shadowsocks
  "cipher": "aes-128-gcm",
  // hysteria
  "obfs_type": "salamander",
  "obfs_password": "password",
  "bbr_profile": "standard",
  "ignore_client_bandwidth": true,
  //tuic
  "congestion_control": "bbr",
  //naive
  "enable_quic" : false,
  "quic_congestion_control": "bbr",
  //anytls
  "padding_scheme": [],
  //shadowtls
  "strict_mode": false,
  "handshake_server": "www.microsoft.com",
  "handshake_server_port": 443
}

WS

{
  "listen_ip": "0.0.0.0",
  "listen_port": "443",
  "tcp_fast_open": true,
  "transportProtocol": {
    "type": "ws",
    "settings": {
      "path": "/",
      "max_early_data": 0
    }
  },
  //vless
  "flow": "xtls-rprx-vision",
  // shadowsocks
  "cipher": "aes-128-gcm",
  // hysteria
  "obfs_type": "salamander",
  "obfs_password": "password",
  "bbr_profile": "standard",
  "ignore_client_bandwidth": true,
  //tuic
  "congestion_control": "bbr",
  //naive
  "enable_quic" : false,
  "quic_congestion_control": "bbr",
  //anytls
  "padding_scheme": [],
  //shadowtls
  "strict_mode": false,
  "handshake_server": "www.microsoft.com",
  "handshake_server_port": 443
}

GRPC

{
  "listen_ip": "0.0.0.0",
  "listen_port": "443",
  "tcp_fast_open": true,
  "transportProtocol": {
    "type": "grpc",
    "settings": {
      "service_name": "tld"
    }
  },
  //vless
  "flow": "xtls-rprx-vision",
  // shadowsocks
  "cipher": "aes-128-gcm",
  // hysteria
  "obfs_type": "salamander",
  "obfs_password": "password",
  "bbr_profile": "standard",
  "ignore_client_bandwidth": true,
  //tuic
  "congestion_control": "bbr",
  //naive
  "enable_quic" : false,
  "quic_congestion_control": "bbr",
  //anytls
  "padding_scheme": [],
  //shadowtls
  "strict_mode": false,
  "handshake_server": "www.microsoft.com",
  "handshake_server_port": 443
}

HTTPUPGRADE

{
  "listen_ip": "0.0.0.0",
  "listen_port": "443",
  "tcp_fast_open": true,
  "transportProtocol": {
    "type": "httpupgrade",
    "settings": {
      "host": "tld.dev",
      "path": "/"
    }
  },
  //vless
  "flow": "xtls-rprx-vision",
  // shadowsocks
  "cipher": "aes-128-gcm",
  // hysteria
  "obfs_type": "salamander",
  "obfs_password": "password",
  "bbr_profile": "standard",
  "ignore_client_bandwidth": true,
  //tuic
  "congestion_control": "bbr",
  //naive
  "enable_quic" : false,
  "quic_congestion_control": "bbr",
  //anytls
  "padding_scheme": [],
  //shadowtls
  "strict_mode": false,
  "handshake_server": "www.microsoft.com",
  "handshake_server_port": 443
}

Security Settings

TLS / REALITY

{
  "tlsSettings": {
    "enabled": true,
    "insecure": false,
    "cert_mode": "http",
    "server_name": "tld.dev",
    "alpn": [
      "h2",
      "http/1.1"
    ],
    "ech": {
      "enabled": false,
      "key": [],
      "config": [],
      "query_server_name": ""
    },
    "reality": {
      "enabled": false,
      "short_ids": [],
      "private_key": "",
      "public_key": "",
      "handshake_server": "www.microsoft.com",
      "handshake_server_port": "443"
    }
  }
}

XMBox Commands Reference

Basic Operations

Command Description
XMBox Show menu (more features)
XMBox start Start XMBox
XMBox stop Stop XMBox
XMBox restart Restart XMBox
XMBox status View XMBox status

Service Management

Command Description
XMBox enable Enable XMBox auto-start
XMBox disable Disable XMBox auto-start

Logging & Configuration

Command Description
XMBox log View XMBox logs
XMBox config Show configuration file content

Installation & Updates

Command Description
XMBox install Install XMBox
XMBox uninstall Uninstall XMBox
XMBox update Update XMBox
XMBox update vx.x.x Update XMBox to specific version
XMBox version View XMBox version

Key Generation & Utilities

Command Description
XMBox x25519 Generate key pairs for X25519 key exchange (REALITY)
XMBox ech Generate ECH keys pairs with default or custom server name

About

A sing-box server for XMPlus proxy management panel

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors