--- # Configure a WEBRUNNER scan node — install deps, create workspace - name: Update apt cache apt: update_cache: true cache_valid_time: 3600 retries: 3 delay: 10 - name: Install scan tools apt: name: - masscan - nmap - python3 - python3-pip state: present retries: 3 delay: 10 - name: Install Tor and proxychains apt: name: - tor - proxychains4 state: present retries: 3 delay: 10 when: use_tor | default(false) | bool - name: Start and enable Tor service systemd: name: tor state: started enabled: true when: use_tor | default(false) | bool - name: Configure proxychains for Tor SOCKS5 copy: content: | strict_chain proxy_dns tcp_read_time_out 15000 tcp_connect_time_out 8000 [ProxyList] socks5 127.0.0.1 9050 dest: /etc/proxychains4.conf mode: '0644' when: use_tor | default(false) | bool - name: Wait for Tor to establish circuit wait_for: port: 9050 host: 127.0.0.1 timeout: 60 delay: 5 when: use_tor | default(false) | bool - name: Create webrunner workspace file: path: /root/webrunner state: directory mode: '0700' - name: Copy node scanner script copy: src: "{{ playbook_dir }}/../modules/webrunner/tasks/node_scanner.py" dest: /root/webrunner/node_scanner.py mode: '0755' - name: Copy targets.yaml for geo-scout mode copy: src: "{{ targets_file }}" dest: /root/webrunner/targets.yaml mode: '0644' when: scan_mode == 'geo-scout' and targets_file != "" ignore_errors: true