From 381e4ea47d28be63766eaeafdc81f6648b935dd7 Mon Sep 17 00:00:00 2001 From: Haitao Pan Date: Sun, 13 Apr 2025 15:58:37 +0800 Subject: [PATCH] feat(common): add optional Privoxy SOCKS5-to-HTTP setup via include_tasks --- .../roles/vhosts/common/defaults/main.yml | 5 ++++ .../roles/vhosts/common/tasks/main.yml | 3 +++ .../vhosts/common/tasks/setup-privoxy.yml | 24 +++++++++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 ansible/playbooks/roles/vhosts/common/tasks/setup-privoxy.yml diff --git a/ansible/playbooks/roles/vhosts/common/defaults/main.yml b/ansible/playbooks/roles/vhosts/common/defaults/main.yml index 368939d5..3a5203be 100644 --- a/ansible/playbooks/roles/vhosts/common/defaults/main.yml +++ b/ansible/playbooks/roles/vhosts/common/defaults/main.yml @@ -17,6 +17,11 @@ journald_log_rotation: # 启用 journald 日志管理 system_max_use: 1G # 默认系统日志最大使用空间 runtime_max_use: 500M # 默认运行时日志最大使用空间 +privoxy: # 系统代理配置 + enable: false # + socks5_host: 127.0.0.1 + socks5_port: 1080 + #config_temp: # k8s-node: # dns_servers: diff --git a/ansible/playbooks/roles/vhosts/common/tasks/main.yml b/ansible/playbooks/roles/vhosts/common/tasks/main.yml index fd12e977..fbf7a913 100644 --- a/ansible/playbooks/roles/vhosts/common/tasks/main.yml +++ b/ansible/playbooks/roles/vhosts/common/tasks/main.yml @@ -17,6 +17,9 @@ script: files/install-packages.sh when: (ansible_facts['distribution'] == "Ubuntu") or (ansible_facts['distribution'] == "Debian") +- name: Include Privoxy sub task for SOCKS5 to HTTP proxy (optional) + include_tasks: setup-privoxy.yml + when: privoxy.enable | default(false) #- name: Include GPU Configuration # include_tasks: include_gpu.yaml diff --git a/ansible/playbooks/roles/vhosts/common/tasks/setup-privoxy.yml b/ansible/playbooks/roles/vhosts/common/tasks/setup-privoxy.yml new file mode 100644 index 00000000..2783de23 --- /dev/null +++ b/ansible/playbooks/roles/vhosts/common/tasks/setup-privoxy.yml @@ -0,0 +1,24 @@ +--- +- name: Install privoxy (Debian) + apt: + name: privoxy + state: present + when: ansible_os_family == 'Debian' + +- name: Install privoxy (RedHat) + yum: + name: privoxy + state: present + when: ansible_os_family == 'RedHat' + +- name: Ensure SOCKS5 forwarding is configured in privoxy + lineinfile: + path: /etc/privoxy/config + line: "forward-socks5t / {{ proxy.socks5_host }}:{{ proxcy.socks5_port }} ." + state: present + +- name: Restart and enable privoxy + systemd: + name: privoxy + state: restarted + enabled: yes