XRayR
複数のパネルを簡単にサポートできるXrayバックエンドフレームワーク。
Xrayベースのバックエンドフレームワークで、V2ray、Trojan、Shadowsocksプロトコルをサポートし、拡張性が高く、複数パネルとの連携に対応しています。
ソースコードはこちら: Mtoly/XrayR
詳細な使い方チュートリアル
ワンクリックインストール
bash <(curl -Ls https://raw.githubusercontent.com/Mtoly/XrayRPS/master/install.sh)
Docker インストール
docker pull ghcr.io/Mtoly/xrayr:latest && docker run --restart=always --name xrayr -d -v ${PATH_TO_CONFIG}/config.yml:/etc/XrayR/config.yml --network=host ghcr.io/Mtoly/xrayr:latest
Docker compose インストール
- 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
git clone https://github.com/Mtoly/XrayRPScd XrayRPS- config を編集します。
設定ファイルの基本フォーマットは以下の通りです。Nodes以下に複数のパネルや複数ノードの設定情報を同時に追加できます。同じ形式のNodes項目を追加すればよいだけです。
Log:
Level: none # ログレベル: none, error, warning, info, debug
AccessPath: # /etc/XrayR/access.Log
ErrorPath: # /etc/XrayR/error.log
DnsConfigPath: # /etc/XrayR/dns.json DNS設定ファイルへのパス
ConnetionConfig:
Handshake: 4 # ハンドシェイク時間制限(秒)
ConnIdle: 10 # 接続アイドル時間制限(秒)
UplinkOnly: 2 # ダウンストリーム切断後の時間制限(秒)
DownlinkOnly: 4 # アップリンク切断後の時間制限(秒)
BufferSize: 64 # 各接続の内部キャッシュサイズ(kB)
Nodes:
-
PanelType: "SSpanel" # パネルタイプ: SSpanel, V2board, PMpanel
ApiConfig:
ApiHost: "http://127.0.0.1:667"
ApiKey: "123"
NodeID: 41
NodeType: V2ray # ノードタイプ: V2ray, Shadowsocks, Trojan
Timeout: 30 # APIリクエストのタイムアウト
EnableVless: false # V2rayタイプでVlessを有効にする
EnableXTLS: false # V2rayとTrojanでXTLSを有効にする
SpeedLimit: 0 # Mbps、ローカル設定がリモート設定を上書きします。0は無効
DeviceLimit: 0 # ローカル設定がリモート設定を上書きします。0は無効
RuleListPath: # /etc/XrayR/rulelist ローカルルールリストファイルへのパス
ControllerConfig:
ListenIP: 0.0.0.0 # リッスンするIPアドレス
SendIP: 0.0.0.0 # パケット送信元IPアドレス
UpdatePeriodic: 60 # ノード情報を更新する間隔(秒)
EnableDNS: false # カスタムDNS設定を使用する(dns.json が適切に設定されていることを確認してください)
DNSType: AsIs # AsIs, UseIP, UseIPv4, UseIPv6、DNS戦略
EnableProxyProtocol: false # WebSocket と TCP でのみ動作
EnableFallback: false # Trojan と Vless のみサポート
FallBackConfigs: # 複数のフォールバックをサポート
-
SNI: # TLS SNI(サーバー名表示)、空の場合は任意
Path: # HTTP PATH、空の場合は任意
Dest: 80 # 必須、フォールバック先。詳細は https://xtls.github.io/config/fallback/ を参照
ProxyProtocolVer: 0 # PROXYプロトコルバージョン、0は無効
CertConfig:
CertMode: dns # 証明書の取得方法: none, file, http, dns。"none" を選択するとTLS設定が強制的に無効になります。
CertDomain: "node1.test.com" # 証明書のドメイン
CertFile: /etc/XrayR/cert/node1.test.com.cert # CertMode が file の場合に指定
KeyFile: /etc/XrayR/cert/node1.test.com.key
Provider: alidns # DNS証明書プロバイダー。全サポートリストはこちら: https://go-acme.github.io/lego/dns/
Email: test@me.com
DNSEnv: # DNSプロバイダーが使用するDNS ENVオプション
ALICLOUD_ACCESS_KEY: aaa
ALICLOUD_SECRET_KEY: bbb
# -
# PanelType: "V2board" # パネルタイプ: SSpanel, V2board
# ApiConfig:
# ApiHost: "http://127.0.0.1:668"
# ApiKey: "123"
# NodeID: 4
# NodeType: Shadowsocks # ノードタイプ: V2ray, Shadowsocks, Trojan
# Timeout: 30 # APIリクエストのタイムアウト
# EnableVless: false # V2rayタイプでVlessを有効にする
# EnableXTLS: false # V2rayとTrojanでXTLSを有効にする
# SpeedLimit: 0 # Mbps、ローカル設定がリモート設定を上書きします
# DeviceLimit: 0 # ローカル設定がリモート設定を上書きします
# ControllerConfig:
# ListenIP: 0.0.0.0 # リッスンするIPアドレス
# UpdatePeriodic: 10 # ノード情報を更新する間隔(秒)
# EnableDNS: false # カスタムDNS設定を使用する
# CertConfig:
# CertMode: dns # 証明書の取得方法: none, file, http, dns
# CertDomain: "node1.test.com" # 証明書のドメイン
# CertFile: /etc/XrayR/cert/node1.test.com.cert # CertMode が file の場合に指定
# KeyFile: /etc/XrayR/cert/node1.test.com.pem
# Provider: alidns # DNS証明書プロバイダー。全サポートリストはこちら: https://go-acme.github.io/lego/dns/
# Email: test@me.com
# DNSEnv: # DNSプロバイダーが使用するDNS ENVオプション
# ALICLOUD_ACCESS_KEY: aaa
# ALICLOUD_SECRET_KEY: bbb
- Docker を起動:
docker-compose up -d
Docker compose アップグレード
docker-compose.yml ディレクトリで以下を実行:
docker-compose pull
docker-compose up -d