change router role
This commit is contained in:
@@ -1,2 +1,3 @@
|
|||||||
|
net.ipv4.conf.lo.rp_filter=0
|
||||||
net.ipv4.conf.all.rp_filter=0
|
net.ipv4.conf.all.rp_filter=0
|
||||||
net.ipv4.conf.wg0.rp_filter=0
|
net.ipv4.conf.wg0.rp_filter=0
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
---
|
---
|
||||||
- name: include network configuration
|
- name: include network configuration
|
||||||
include_tasks: network.yml
|
include_tasks: network.yml
|
||||||
|
|
||||||
- name: include xray-lists configuration
|
|
||||||
include_tasks: xray_lists.yml
|
|
||||||
|
|||||||
@@ -1,102 +0,0 @@
|
|||||||
---
|
|
||||||
- name: install required system packages
|
|
||||||
apt:
|
|
||||||
name:
|
|
||||||
- python3-venv
|
|
||||||
- git
|
|
||||||
state: present
|
|
||||||
update_cache: yes
|
|
||||||
|
|
||||||
- name: ensure base directories exist
|
|
||||||
file:
|
|
||||||
path: "{{ item }}"
|
|
||||||
state: directory
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: '0755'
|
|
||||||
loop:
|
|
||||||
- /opt/xray-lists
|
|
||||||
- /var/lib/xray-lists
|
|
||||||
|
|
||||||
- name: clone xray-lists repository
|
|
||||||
git:
|
|
||||||
repo: 'https://gitea.oyacoi.ru/pyrschtjag/xray-lists'
|
|
||||||
dest: /opt/xray-lists-src
|
|
||||||
version: main
|
|
||||||
force: yes
|
|
||||||
|
|
||||||
- name: check if xray-lists is installed
|
|
||||||
command: /opt/xray-lists/venv/bin/pip show xray-lists
|
|
||||||
register: pip_check
|
|
||||||
changed_when: false
|
|
||||||
failed_when: false
|
|
||||||
|
|
||||||
- name: install xray-lists package into venv
|
|
||||||
command: /opt/xray-lists/venv/bin/pip install -e /opt/xray-lists-src[socks]
|
|
||||||
when: pip_check.rc != 0
|
|
||||||
|
|
||||||
- name: deploy update helper script
|
|
||||||
copy:
|
|
||||||
dest: /var/lib/xray-lists/update.sh
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: '0755'
|
|
||||||
content: |
|
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
set -e
|
|
||||||
out=$(/opt/xray-lists/venv/bin/xray-lists)
|
|
||||||
|
|
||||||
echo "$out"
|
|
||||||
|
|
||||||
dns_changed=0
|
|
||||||
elements_changed=0
|
|
||||||
|
|
||||||
if echo "$out" | grep -A 10 "changed:" | grep -q "nftsets.conf"; then dns_changed=1; fi
|
|
||||||
if echo "$out" | grep -A 10 "changed:" | grep -q "\.elements\.nft"; then elements_changed=1; fi
|
|
||||||
|
|
||||||
if [ "$dns_changed" -eq 1 ] && [ "$elements_changed" -eq 1 ]; then exit 12;
|
|
||||||
elif [ "$dns_changed" -eq 1 ]; then exit 10;
|
|
||||||
elif [ "$elements_changed" -eq 1 ]; then exit 11;
|
|
||||||
fi
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
|
|
||||||
- name: deploy systemd service unit
|
|
||||||
copy:
|
|
||||||
dest: /etc/systemd/system/xray-lists.service
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: '0644'
|
|
||||||
content: |
|
|
||||||
[Unit]
|
|
||||||
Description=Update Xray lists
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=oneshot
|
|
||||||
ExecStart=/bin/sh -c '\
|
|
||||||
/var/lib/xray-lists/update.sh; \
|
|
||||||
rc=$$?; \
|
|
||||||
case "$$rc" in \
|
|
||||||
10) systemctl restart dnsmasq ;; \
|
|
||||||
11) nft -f /etc/nftables.conf ;; \
|
|
||||||
12) nft -f /etc/nftables.conf && systemctl restart dnsmasq ;; \
|
|
||||||
esac'
|
|
||||||
|
|
||||||
- name: deploy systemd timer unit
|
|
||||||
copy:
|
|
||||||
dest: /etc/systemd/system/xray-lists.timer
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: '0644'
|
|
||||||
content: |
|
|
||||||
[Unit]
|
|
||||||
Description=Run xray-lists update daily and on boot
|
|
||||||
|
|
||||||
[Timer]
|
|
||||||
OnBootSec=5min
|
|
||||||
OnUnitActiveSec=12h
|
|
||||||
Persistent=true
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=timers.target
|
|
||||||
Reference in New Issue
Block a user