From 0f79d5ca9b830d4bfffa5523ee4ad84f96400721 Mon Sep 17 00:00:00 2001 From: Zedhugh Chen Date: Sun, 23 Aug 2026 01:05:08 +0800 Subject: [PATCH] =?UTF-8?q?ansible:=20=E6=B7=BB=E5=8A=A0=20xray=20?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E9=83=A8=E7=BD=B2=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ansible/playbooks/xray-server.yaml | 45 +++++++++++++++ .../templates/xray-config.json.j2 | 10 ++-- ansible/vars/vault.yaml | 57 +++++++++++-------- 3 files changed, 83 insertions(+), 29 deletions(-) create mode 100644 ansible/playbooks/xray-server.yaml rename docker/xray-config.json => ansible/templates/xray-config.json.j2 (75%) diff --git a/ansible/playbooks/xray-server.yaml b/ansible/playbooks/xray-server.yaml new file mode 100644 index 0000000..f1a1282 --- /dev/null +++ b/ansible/playbooks/xray-server.yaml @@ -0,0 +1,45 @@ +--- +- name: 配置 xray 服务 + hosts: vps_debian + become: true + gather_facts: false + vars: + xray_config_file: /usr/local/etc/xray/config.json + xray_bin: /usr/local/bin/xray + vars_files: + - ../vars/vault.yaml + + tasks: + - name: 确保有 curl 软件包 + apt: + name: + - curl + state: present + update_cache: true + + - name: 安装 xray + shell: | + bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install + notify: restart xray + + - name: 生成 xray 配置 + template: + src: ../templates/xray-config.json.j2 + dest: "{{ xray_config_file }}" + owner: root + group: root + mode: '0644' + notify: restart xray + + - name: 启动 xray 服务并添加开机启动 + systemd: + name: xray + enabled: true + state: started + daemon_reload: true + + handlers: + - name: restart xray + systemd: + name: xray + state: restarted diff --git a/docker/xray-config.json b/ansible/templates/xray-config.json.j2 similarity index 75% rename from docker/xray-config.json rename to ansible/templates/xray-config.json.j2 index 421dfac..b39c768 100644 --- a/docker/xray-config.json +++ b/ansible/templates/xray-config.json.j2 @@ -7,12 +7,12 @@ "inbounds": [ { "listen": "0.0.0.0", - "port": 443, + "port": {{ vault_xray_port }}, "protocol": "vless", "settings": { "clients": [ { - "id": "817a867d-7bcf-48d1-b30e-5c6794852e13", + "id": "{{ vault_xray_uuid }}", "flow": "xtls-rprx-vision" } ], @@ -24,9 +24,9 @@ "security": "reality", "realitySettings": { "dest": "dl.google.com:443", - "serverNames": ["www.cloudflare.com"], - "privateKey": "uJQs7FOMjafiU-7kxOUpfJut8ocj5kpr_p-zH7RTt1g", - "shortIds": ["1e21014957dfc7a9"] + "serverNames": ["dl.google.com"], + "privateKey": "{{ vault_xray_private_key }}", + "shortIds": ["{{ vault_xray_short_id }}"] } }, "sniffing": { diff --git a/ansible/vars/vault.yaml b/ansible/vars/vault.yaml index 266cf94..e81828a 100644 --- a/ansible/vars/vault.yaml +++ b/ansible/vars/vault.yaml @@ -1,25 +1,34 @@ $ANSIBLE_VAULT;1.1;AES256 -61636265383264303933623962346361346339663364393133333235613736373561353863303237 -3565323065346438656438623061396164323136666531340a313238643033383537363439626136 -65646239663263336431353266316238623035666635623265643863353936363035343135326431 -6565373532396335330a316432393238353666646235353430343237653034326430653131313561 -32383865313634623131396661326365303833383734396632616664383363383935353935636137 -64666662663437633135316634333438313263643862386566353762313161623836373232336262 -65346131653362343164353739376266386336653331316433353431373334646665646130326437 -65356237383238323665633866333235383135653039633330336339393163356233333431323064 -33633130633936643265353332356664326562386565623765313064363431366365646162313464 -61306333663335616333316362393636383036313364363537393861353935376536343761386335 -32663364356336363139323138656238313366663062663235353838363864313732373830336565 -31643132633266346235323436353736373865633166646138333830653762366432353531393732 -65643061313261613633333236653864396634633931366432666161363730306563316266653464 -62366331613064633364373464613237383434343765653436323665363434383632363039303864 -65333934306531316435383635346130303637663636353039636361353132346231373062656631 -35616530643534396138356238626134666365316630666137616134393561366138386631636239 -39636538633164383863333431366463313566393131633463623665653264663865386663616632 -36636265313338396635303764633235376463643938663233393635613333623238636264323934 -36623561653764376134353534303166363833326136313161313531386239643263326663386432 -38353965663063393131666464353235316438333365303061303135383863376136653134396330 -63343230386332323232396136343030663563646366623137383334306161366232323964633562 -39626636366630363262643533323836333664376634313564613833343533656431353035316262 -33666137653762383937366237626130333437346165336466326539366566323834366161373265 -38323432653932666561 +31623833356637343262363863626534323535626238346439333262633332633136633261306466 +6236333066363461326664306262633937323864306462370a333631643039653664643662366234 +30643231336631313930663637396537663162623938363263336333343262376561323765356630 +6332383136383336640a336536316566393461666463616265363830383331363838613839636338 +63666365333233646533303166316333393535313466393832643966306331666434333065333238 +37633735313832366131653833363762393265656439663135376265366466333838623761646535 +64633236663738653233633566633734306138393462383532306436373537343332343565356466 +62386664373631336138396134613833636232663936363963656638353133386430376631383438 +35313866343438636564373566373239656233376432363362613466356334346339616562316530 +62306361646362353631336134326136346663623061643231666433353265653736323162616166 +32313132643832306563623861393735623439376432346136623732353737356338616432316161 +64316436653531356362316366383039616465313233393663663566316532626138363936363736 +31386237653634343236326639376531653465636233636662303037643930633661623338356537 +34636639383662646234313037363230373333333731323666383232626330663561396330356361 +36346537376431333235393938636664306532373863353862663166613862363165643433626361 +37616337356538373733313130633334353436643437366534326636616539316166336137346461 +63633130623436316463623461353762313533636262653262393930666434386664326464636562 +35636233656365616332383565623230353062663236316437333830626463333366633230393432 +33386533346436623132313036646536366339646333643732633133626631396463653533363763 +37623439303931363933336432386430336662353138663231316436356535373831653232633562 +33626463303134323032643535373038303530376632393162356630613134396261633661393335 +30646133366166313533666565326335656231663864666333366136616264356535303033313832 +35323432613063356161383365653964613339346136333363363763316463396364383264343634 +65623039343064356430386662323135303134306539313138316633396635333331636137356665 +38623531613138316162353733663631396562313033393066303266396533613762643936663936 +65663762646264616439666138636364343264323961343739336330663237666661303639363835 +63636562636336613665366533333563323239633338663738363931383333356264313166393132 +30643636303333616161346166323933623432613633643965313366643565343931633338303237 +35636365333262386135623866343839313836616664663764323938636630393062383462343437 +32636664663635643934396166373462303638343437623961373362366230633466363936326162 +38303130346439323863643836666565326530363362306432623036303562636532333966386463 +31353063363839633736366133353535643064363461653030346432393461623666616666643231 +63333831653963356632316333396130653934653134623339323438653638643031