diff --git a/install/cloudflared-install.sh b/install/cloudflared-install.sh index 2eb98f2a..0b0d9f7f 100644 --- a/install/cloudflared-install.sh +++ b/install/cloudflared-install.sh @@ -28,6 +28,41 @@ $STD apt-get update $STD apt-get install -y cloudflared msg_ok "Installed Cloudflared" +read -r -p "Would you like to configure cloudflared as a DNS-over-HTTPS (DoH) proxy? " prompt +if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then + msg_info "Creating Service" + cat </usr/local/etc/cloudflared/config.yml +proxy-dns: true +proxy-dns-address: 0.0.0.0 +proxy-dns-port: 53 +proxy-dns-max-upstream-conns: 5 +proxy-dns-upstream: + - https://1.1.1.1/dns-query + - https://1.0.0.1/dns-query + #- https://8.8.8.8/dns-query + #- https://8.8.4.4/dns-query + #- https://9.9.9.9/dns-query + #- https://149.112.112.112/dns-query +EOF + cat </etc/systemd/system/cloudflared.service +[Unit] +Description=cloudflared DNS-over-HTTPS (DoH) proxy +After=syslog.target network-online.target + +[Service] +Type=simple +ExecStart=/usr/local/bin/cloudflared --config /usr/local/etc/cloudflared/config.yml +Restart=on-failure +RestartSec=10 +KillMode=process + +[Install] +WantedBy=multi-user.target +EOF + systemctl enable -q --now cloudflared.service + msg_ok "Created Service" +fi + motd_ssh customize diff --git a/json/cloudflared.json b/json/cloudflared.json index 63cb1fa0..e334d654 100644 --- a/json/cloudflared.json +++ b/json/cloudflared.json @@ -9,7 +9,7 @@ "updateable": false, "privileged": false, "interface_port": null, - "documentation": null, + "documentation": "https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/", "website": "https://www.cloudflare.com/", "logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/cloudflare.svg", "description": "Cloudflared is a command-line tool that allows you to securely access resources on the Cloudflare network, such as websites and APIs, from your local computer. It works by creating a secure tunnel between your computer and the Cloudflare network, allowing you to access resources as if they were on your local network.", @@ -30,5 +30,10 @@ "username": null, "password": null }, - "notes": [] -} \ No newline at end of file + "notes": [ + { + "text": "With an option to configure cloudflared as a DNS-over-HTTPS (DoH) proxy" + "type": "info" + } + ] +}