# XRayR A Xray backend framework that can easily support many panels. 一个基于Xray的后端框架,支持V2ay,Trojan,Shadowsocks协议,极易扩展,支持多面板对接 Find the source code here: [XrayR-project/XrayR](https://github.com/XrayR-project/XrayR) # 详细使用教程 [教程](https://xrayr-project.github.io/XrayR-doc/) # 一键安装 ``` bash <(curl -Ls https://raw.githubusercontent.com/XrayR-project/XrayR-release/master/install.sh) ``` # Docker 安装 ``` docker pull ghcr.io/xrayr-project/xrayr:latest && docker run --restart=always --name xrayr -d -v ${PATH_TO_CONFIG}/config.yml:/etc/XrayR/config.yml --network=host ghcr.io/xrayr-project/xrayr:latest ``` # Docker compose 安装 0. 安装docker-compose: ``` curl -fsSL https://get.docker.com | bash -s docker curl -L "https://github.com/docker/compose/releases/download/1.26.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose ``` 1. `git clone https://github.com/XrayR-project/XrayR-release` 2. `cd XrayR-release` 3. 编辑config。 配置文件基本格式如下,Nodes下可以同时添加多个面板,多个节点配置信息,只需添加相同格式的Nodes item即可。 4. 启动docker:`docker-compose up -d` ``` Log: Level: none # Log level: none, error, warning, info, debug AccessPath: # /etc/XrayR/access.Log ErrorPath: # /etc/XrayR/error.log DnsConfigPath: # /etc/XrayR/dns.json Path to dns config ConnetionConfig: Handshake: 4 # Handshake time limit, Second ConnIdle: 10 # Connection idle time limit, Second UplinkOnly: 2 # Time limit when the connection downstream is closed, Second DownlinkOnly: 4 # Time limit when the connection is closed after the uplink is closed, Second BufferSize: 64 # The internal cache size of each connection, kB Nodes: - PanelType: "SSpanel" # Panel type: SSpanel, V2board, PMpanel ApiConfig: ApiHost: "http://127.0.0.1:667" ApiKey: "123" NodeID: 41 NodeType: V2ray # Node type: V2ray, Shadowsocks, Trojan Timeout: 30 # Timeout for the api request EnableVless: false # Enable Vless for V2ray Type EnableXTLS: false # Enable XTLS for V2ray and Trojan SpeedLimit: 0 # Mbps, Local settings will replace remote settings, 0 means disable DeviceLimit: 0 # Local settings will replace remote settings, 0 means disable RuleListPath: # /etc/XrayR/rulelist Path to local rulelist file ControllerConfig: ListenIP: 0.0.0.0 # IP address you want to listen SendIP: 0.0.0.0 # IP address you want to send pacakage UpdatePeriodic: 60 # Time to update the nodeinfo, how many sec. EnableDNS: false # Use custom DNS config, Please ensure that you set the dns.json well DNSType: AsIs # AsIs, UseIP, UseIPv4, UseIPv6, DNS strategy EnableProxyProtocol: false # Only works for WebSocket and TCP EnableFallback: false # Only support for Trojan and Vless FallBackConfigs: # Support multiple fallbacks - SNI: # TLS SNI(Server Name Indication), Empty for any Path: # HTTP PATH, Empty for any Dest: 80 # Required, Destination of fallback, check https://xtls.github.io/config/fallback/ for details. ProxyProtocolVer: 0 # Send PROXY protocol version, 0 for dsable CertConfig: CertMode: dns # Option about how to get certificate: none, file, http, dns. Choose "none" will forcedly disable the tls config. CertDomain: "node1.test.com" # Domain to cert CertFile: /etc/XrayR/cert/node1.test.com.cert # Provided if the CertMode is file KeyFile: /etc/XrayR/cert/node1.test.com.key Provider: alidns # DNS cert provider, Get the full support list here: https://go-acme.github.io/lego/dns/ Email: test@me.com DNSEnv: # DNS ENV option used by DNS provider ALICLOUD_ACCESS_KEY: aaa ALICLOUD_SECRET_KEY: bbb # - # PanelType: "V2board" # Panel type: SSpanel, V2board # ApiConfig: # ApiHost: "http://127.0.0.1:668" # ApiKey: "123" # NodeID: 4 # NodeType: Shadowsocks # Node type: V2ray, Shadowsocks, Trojan # Timeout: 30 # Timeout for the api request # EnableVless: false # Enable Vless for V2ray Type # EnableXTLS: false # Enable XTLS for V2ray and Trojan # SpeedLimit: 0 # Mbps, Local settings will replace remote settings # DeviceLimit: 0 # Local settings will replace remote settings # ControllerConfig: # ListenIP: 0.0.0.0 # IP address you want to listen # UpdatePeriodic: 10 # Time to update the nodeinfo, how many sec. # EnableDNS: false # Use custom DNS config, Please ensure that you set the dns.json well # CertConfig: # CertMode: dns # Option about how to get certificate: none, file, http, dns # CertDomain: "node1.test.com" # Domain to cert # CertFile: /etc/XrayR/cert/node1.test.com.cert # Provided if the CertMode is file # KeyFile: /etc/XrayR/cert/node1.test.com.pem # Provider: alidns # DNS cert provider, Get the full support list here: https://go-acme.github.io/lego/dns/ # Email: test@me.com # DNSEnv: # DNS ENV option used by DNS provider # ALICLOUD_ACCESS_KEY: aaa # ALICLOUD_SECRET_KEY: bbb ``` ## Docker compose升级 在docker-compose.yml目录下执行: ``` docker-compose pull docker-compose up -d ```