XMPlus

command module
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 1, 2025 License: GPL-3.0 Imports: 2 Imported by: 0

README

XMPlus

Config directory
/etc/XMPlus
Onclick XMPlus backennd Install
bash <(curl -Ls https://raw.githubusercontent.com/XMPlusDev/XMPlus/scripts/install.sh)
/etc/XMPlus/config.yml
Log:
  Level: warning # Log level: none, error, warning, info, debug 
  AccessPath: # /etc/XMPlus/access.Log
  ErrorPath: # /etc/XMPlus/error.log
  DNSLog: false # false or true
  MaskAddress: half # half, full, quarter
DnsConfigPath:  #/etc/XMPlus/dns.json
RouteConfigPath: # /etc/XMPlus/route.json
InboundConfigPath: # /etc/XMPlus/inbound.json
OutboundConfigPath: # /etc/XMPlus/outbound.json
ConnectionConfig:
  Handshake: 8 
  ConnIdle: 300 
  UplinkOnly: 0 
  DownlinkOnly: 0 
  BufferSize: 64
Nodes:
  -
    ApiConfig:
      ApiHost: "https://www.xyz.com"
      ApiKey: "123"
      NodeID: 1
      Timeout: 30 
      RuleListPath: # /etc/XMPlus/rulelist Path to local rulelist file
    ControllerConfig:
      EnableDNS: false # Use custom DNS config, Please ensure that you set the dns.json well
      DNSStrategy: AsIs # AsIs, UseIP, UseIPv4, UseIPv6
      CertConfig:
        Email: author@xmplus.dev                    # Required when Cert Mode is not none
        CertFile: /etc/XMPlus/node1.xmplus.dev.crt  # Required when Cert Mode is file
        KeyFile: /etc/XMPlus/node1.xmplus.dev.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
      EnableFallback: false # Only support for Trojan and Vless
      FallBackConfigs:  # Support multiple fallbacks
        - SNI: # TLS SNI(Server Name Indication), Empty for any
          Alpn: # Alpn, Empty for any
          Path: # HTTP PATH, Empty for any
          Dest: 80 # Required, Destination of fallback, check https://xtls.github.io/config/features/fallback.html for details.
          ProxyProtocolVer: 0 # Send PROXY protocol version, 0 for disable
      IPLimit:
        Enable: false # Enable the global ip limit of a user 
        RedisNetwork: tcp # Redis protocol, tcp or unix
        RedisAddr: 127.0.0.1:6379 # Redis server address, or unix socket path
        RedisUsername: default # Redis username
        RedisPassword: YOURPASSWORD # Redis password
        RedisDB: 0 # Redis DB
        Timeout: 5 # Timeout for redis request
        Expiry: 60 # Expiry time (second) 

XMPlus Panel Server configuration

Network Settings
TCP
{
  "transport" : "tcp",
  "acceptProxyProtocol": false,
  "flow": "xtls-rprx-vision",
  "header": {
    "type": "none"
  },
  "socketSettings" : {
    "useSocket" : false,
    "dialerProxy": "",
    "DomainStrategy": "asis",
    "tcpKeepAliveInterval": 0,
    "tcpUserTimeout": 0,
    "tcpMaxSeg": 0,
    "tcpWindowClamp": 0,
    "tcpKeepAliveIdle": 0,
    "TcpMptcp": false
  }
}
TCP + HTTP
{
  "transport" : "tcp",
  "acceptProxyProtocol": false,
  "header": {
    "type": "http",
    "request": {
      "path": "/xmplus",
      "headers": {
        "Host": ["www.baidu.com", "www.taobao.com", "www.cloudflare.com"]
      }
    }
  },
  "socketSettings" : {
    "useSocket" : false,
    "dialerProxy": "",
    "DomainStrategy": "asis",
    "tcpKeepAliveInterval": 0,
    "tcpUserTimeout": 0,
    "tcpMaxSeg": 0,
    "tcpWindowClamp": 0,
    "tcpKeepAliveIdle": 0,
    "TcpMptcp": false
  }
}
WS
{
  "transport": "ws",
  "acceptProxyProtocol": false,
  "path": "/xmplus?ed=2560",
  "host": "hk1.xyz.com",
  "heartbeatperiod": 30,
  "custom_host": "fakedomain.com",
  "socketSettings" : {
    "useSocket" : false,
    "dialerProxy": "",
    "DomainStrategy": "asis",
    "tcpKeepAliveInterval": 0,
    "tcpUserTimeout": 0,
    "tcpMaxSeg": 0,
    "tcpWindowClamp": 0,
    "tcpKeepAliveIdle": 0,
    "TcpMptcp": false
  }
}
GRPC
{
  "transport" : "grpc",
  "acceptProxyProtocol": false,
  "serviceName": "xmplus",
  "authority": "hk1.xyz.com",
  "socketSettings" : {
    "useSocket" : false,
    "dialerProxy": "",
    "DomainStrategy": "asis",
    "tcpKeepAliveInterval": 0,
    "tcpUserTimeout": 0,
    "tcpMaxSeg": 0,
    "tcpWindowClamp": 0,
    "tcpKeepAliveIdle": 0,
    "TcpMptcp": false
  }
}
KCP
{
  "transport" : "kcp",
  "acceptProxyProtocol": false,
  "congestion": false,
  "header": {
    "type": "none"
  },
  "seed": "password",
  "socketSettings" : {
    "useSocket" : false,
    "dialerProxy": "",
    "DomainStrategy": "asis",
    "tcpKeepAliveInterval": 0,
    "tcpUserTimeout": 0,
    "tcpMaxSeg": 0,
    "tcpWindowClamp": 0,
    "tcpKeepAliveIdle": 0,
    "TcpMptcp": false
  }
}
HTTPUPGRADE
{
  "transport" : "httpupgrade",
  "acceptProxyProtocol": false,
  "host": "hk1.xyz.com",
  "path": "/xmplus?ed=2560",
  "custom_host": "fakedomain.com",
  "socketSettings" : {
    "useSocket" : false,
    "dialerProxy": "",
    "DomainStrategy": "asis",
    "tcpKeepAliveInterval": 0,
    "tcpUserTimeout": 0,
    "tcpMaxSeg": 0,
    "tcpWindowClamp": 0,
    "tcpKeepAliveIdle": 0,
    "TcpMptcp": false
  }
}
XHTTP / SPLITHTTP
{
  "transport" : "splithttp",
  "host": "hk1.xyz.com",
  "custom_host": "fakedomain.com",
  "path": "/",
  "noSSEHeader": false,
  "noGRPCHeader": true,
  "mode": "auto",
  "socketSettings" : {
    "useSocket" : false,
    "dialerProxy": "",
    "DomainStrategy": "asis",
    "tcpKeepAliveInterval": 0,
    "tcpUserTimeout": 0,
    "tcpMaxSeg": 0,
    "tcpWindowClamp": 0,
    "tcpKeepAliveIdle": 0,
    "TcpMptcp": false
  }
}
Security Settings
TLS
{
  "serverName": "xmplus.dev",
  "rejectUnknownSni": false,
  "allowInsecure": false,
  "fingerprint": "chrome",
  "sni": "xmplus.dev",
  "curvepreferences": "X25519",
  "alpn": [
    "h2",
    "http/1.1"
  ]
}
REALITY

Generate Private and Public Keys : xmplus x25519

{
  "show" : false,
  "dest": "www.cloudflare.com:443",
  "privatekey" : "yBaw532IIUNuQWDTncozoBaLJmcd1JZzvsHUgVPxMk8",
  "minclientver":"",
  "maxclientver":"",
  "maxtimediff":0,
  "proxyprotocol":0,
  "shortids" : [
    "6ba85179e30d4fc2"
  ],
  "serverNames": [
    "www.cloudflare.com"
  ],
  "fingerprint": "chrome",
  "spiderx": "",
  "publickey": "7xhH4b_VkliBxGulljcyPOH-bYUA2dl-XAdZAsfhk04"
}

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
api
app
Package app contains the third-party app used to replace the default app in xray-core
Package app contains the third-party app used to replace the default app in xray-core
xdispatcher
Package mydispatcher Package dispatcher implement the rate limiter and the online device counter
Package mydispatcher Package dispatcher implement the rate limiter and the online device counter
cmd
To implement a service, one needs to implement the interface below.
To implement a service, one needs to implement the interface below.
controller
Package controller Package generate the InboundConfig used by add inbound
Package controller Package generate the InboundConfig used by add inbound
Package utility contains common utilities that are shared among other packages.
Package utility contains common utilities that are shared among other packages.
limiter
Package limiter is to control the links that go into the dispatcher
Package limiter is to control the links that go into the dispatcher
rule
Package rule is to control the audit rule behaviors
Package rule is to control the audit rule behaviors

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL