Paimon

Paimon

👀谢谢关注喵

X線のインストール手順

Nginx のインストール#

sudo apt update && sudo apt install -y nginx 
mkdir -p /home/xray/webpage/ && cd /home/xray/webpage/
apt install unzip && wget -O web.zip --no-check-certificate https://html5up.net/phantom/download && unzip web.zip && rm web.zip

nginx.confの編集#

# 80ポートのデフォルト使用を削除
sed -i '/\/etc\/nginx\/sites-enabled\//d' /etc/nginx/nginx.conf

# 全部コピー start
cat>/etc/nginx/conf.d/xray.conf<<EOF
server {
	listen 80;
	server_name yourdomain;
	root /home/xray/webpage/;
	index index.html;
}
EOF
# end

# ドメイン名を置換
sed -i 's/yourdomain/あなたのドメイン/' /etc/nginx/conf.d/xray.conf

systemctl reload nginx

# http://あなたのドメイン にアクセスして正常に表示されれば成功

証明書の申請#

wget -O -  https://get.acme.sh | sh && cd ~ && . .bashrc
acme.sh --upgrade --auto-upgrade
acme.sh --issue --server letsencrypt --test -d あなたのドメイン -w /home/xray/webpage --keylength ec-256
# このステップが失敗した場合、以下のよくある原因があります
# 1. 80ポートが開いていないか、nginxが正常に起動していない場合、acmeは"http://あなたのドメイン"にアクセスできる必要があります
# 2. 失敗回数が5回を超えると、acmeはそのドメインに対して1日の最大申請回数が5回であるため、5回を超えると翌日まで待つ必要があります
acme.sh --set-default-ca --server letsencrypt
acme.sh --issue -d あなたのドメイン -w /home/xray/webpage --keylength ec-256 --force

Xray のインストール#

スクリプトインストール#

wget https://github.com/XTLS/Xray-install/raw/main/install-release.sh && bash install-release.sh && rm install-release.sh

手動インストール(オプション)#

スクリプトインストールを選択した場合はスキップしてください

# rootディレクトリにxrayフォルダを解凍する
wget https://github.com/XTLS/Xray-core/releases/download/v1.5.10/Xray-linux-64.zip -O xray.zip && unzip xray.zip -d /root/xray/ && rm xray.zip

# systemdデプロイを作成 start
cat>/etc/systemd/system/xray.service<<EOF
[Unit]
Description=Xray Service
Documentation=https://github.com/xtls
After=network.target nss-lookup.target
[Service]
User=root
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
NoNewPrivileges=true
ExecStart=/root/xray/xray run -config /usr/local/etc/xray/config.json
Restart=on-failure
RestartPreventExitStatus=23
LimitNPROC=10000
LimitNOFILE=1000000
[Install]
WantedBy=multi-user.target
EOF
# end

Xray に TLS 証明書を設定する#

mkdir -p /home/xray/xray_cert && acme.sh --install-cert -d あなたのドメイン --ecc --fullchain-file /home/xray/xray_cert/xray.crt --key-file /home/xray/xray_cert/xray.key && chmod +r /home/xray/xray_cert/xray.key

自動更新のためのスクリプト#

# 作成して書き込む
cat>/home/xray/xray_cert/xray-cert-renew.sh<<EOF
#!/bin/bash

/root/.acme.sh/acme.sh --install-cert -d yourdomain --ecc --fullchain-file /home/xray/xray_cert/xray.crt --key-file /home/xray/xray_cert/xray.key
echo "Xray Certificates Renewed"

chmod +r /home/xray/xray_cert/xray.key
echo "Read Permission Granted for Private Key"

sudo systemctl restart xray
echo "Xray Restarted"
EOF

# ドメイン名を置換
sed -i 's/yourdomain/あなたのドメイン/'  /home/xray/xray_cert/xray-cert-renew.sh

定期タスクの作成#

chmod +x /home/xray/xray_cert/xray-cert-renew.sh

( crontab -l | grep -v "0 1 1 * *   bash /home/xray/xray_cert/xray-cert-renew.sh"; echo "0 1 1 * *   bash /home/xray/xray_cert/xray-cert-renew.sh" ) | crontab -

Xray の設定#

xray uuid

# カスタムログ オプション start
# デフォルトログの場所 /var/log/xray
mkdir /home/xray/xray_log && touch /home/xray/xray_log/access.log && touch /home/xray/xray_log/error.log && chmod a+w /home/xray/xray_log/*.log
# end

テンプレートファイルの変更#

設定ファイルのテンプレートライブラリ

wget https://raw.githubusercontent.com/XTLS/Xray-examples/main/Trojan-TCP-XTLS/config_server.json -O /usr/local/etc/xray/config.json

sed -i 's/\/path\/to\/cert/\/home\/xray\/xray_cert\/xray.crt/' /usr/local/etc/xray/config.json

sed -i 's/\/path\/to\/key/\/home\/xray\/xray_cert\/xray.key/' /usr/local/etc/xray/config.json

Xray の起動#

systemctl start xray && systemctl enable xray

最適化#

BBR の有効化#

最初のセクションで実行した一括インストールコマンドを実行し、BBRを有効にします

HTTP から自動的に HTTPS へのリダイレクトを有効にする#


sed -i '/\/home\/xray\/webpage\//d' /etc/nginx/conf.d/xray.conf
sed -i '/index/d' /etc/nginx/conf.d/xray.conf

# 80ポートのルールの最後に追加 ルートとインデックスの2行を同時に削除できます
sed -i '3a \\treturn 301 https://$http_host$request_uri;' /etc/nginx/conf.d/xray.conf

#新しいサーバーを追加
cat>>/etc/nginx/conf.d/xray.conf<<EOF
server {
   listen 127.0.0.1:8080;
   root /home/xray/webpage/;
   index index.html;
   add_header Strict-Transport-Security "max-age=63072000" always;
}
EOF
#end

systemctl restart nginx

#xrayのfallbackポートを8080に変更 "dest": 80 -> "dest": 8080
sed -i '19,24d' /usr/local/etc/xray/config.json

sudo sed -i 's/\"dest\".*/"dest": 8080/g' /usr/local/etc/xray/config.json


systemctl restart xray
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。