{"id":30717,"date":"2024-09-04T07:00:00","date_gmt":"2024-09-04T05:00:00","guid":{"rendered":"https:\/\/raspberrytips.com\/?p=30717"},"modified":"2026-05-15T23:59:30","modified_gmt":"2026-05-15T21:59:30","slug":"install-cloudflared-raspberry-pi","status":"publish","type":"post","link":"https:\/\/raspberrytips.com\/install-cloudflared-raspberry-pi\/","title":{"rendered":"Protect Your Privacy: Install Cloudflared on Raspberry Pi"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">DNS is the technology your internet connection uses to look up websites and connect to servers. But did you know that DNS leaves your online activity wide open for all to see? In this post, I&#8217;ll show you how you can protect your online privacy with a Raspberry Pi.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Cloudflared is a Linux program that can be installed on Raspberry Pi to secure DNS and protect privacy. Cloudflared works by encrypting DNS requests for the whole network.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This guide will walk you through the steps to install Cloudflared. As a bonus, I&#8217;ll also cover integrating it with the Pi-Hole ad blocker for lightning-fast and secure browsing. Read on to learn how to turn the Raspberry Pi into your personal privacy champion!<\/p>\n\n\n<style>.kb-table-of-content-nav.kb-table-of-content-id19563_c031ec-35 .kb-table-of-content-wrap{padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-right:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);padding-left:var(--global-kb-spacing-sm, 1.5rem);background-color:var(--global-palette7, #EDF2F7);box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}.kb-table-of-content-nav.kb-table-of-content-id19563_c031ec-35 .kb-table-of-contents-title-wrap{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.kb-table-of-content-nav.kb-table-of-content-id19563_c031ec-35 .kb-table-of-contents-title{font-weight:regular;font-style:normal;}.kb-table-of-content-nav.kb-table-of-content-id19563_c031ec-35 .kb-table-of-content-wrap .kb-table-of-content-list{font-size:var(--global-kb-font-size-sm, 0.9rem);font-weight:regular;font-style:normal;margin-top:var(--global-kb-spacing-sm, 1.5rem);margin-right:0px;margin-bottom:0px;margin-left:0px;}.kb-table-of-content-nav.kb-table-of-content-id19563_c031ec-35 .kb-toggle-icon-style-basiccircle .kb-table-of-contents-icon-trigger:after, .kb-table-of-content-nav.kb-table-of-content-id19563_c031ec-35 .kb-toggle-icon-style-basiccircle .kb-table-of-contents-icon-trigger:before, .kb-table-of-content-nav.kb-table-of-content-id19563_c031ec-35 .kb-toggle-icon-style-arrowcircle .kb-table-of-contents-icon-trigger:after, .kb-table-of-content-nav.kb-table-of-content-id19563_c031ec-35 .kb-toggle-icon-style-arrowcircle .kb-table-of-contents-icon-trigger:before, .kb-table-of-content-nav.kb-table-of-content-id19563_c031ec-35 .kb-toggle-icon-style-xclosecircle .kb-table-of-contents-icon-trigger:after, .kb-table-of-content-nav.kb-table-of-content-id19563_c031ec-35 .kb-toggle-icon-style-xclosecircle .kb-table-of-contents-icon-trigger:before{background-color:var(--global-palette7, #EDF2F7);}<\/style>\n\n<p class='ml_begpost' id='ml_begpost_commands'>If you&#8217;re new to Raspberry Pi or Linux, I\u2019ve got something that can help you right away! <br \/><a rel='noopener' href='https:\/\/raspberrytips.com\/downloads\/?source=begpost&#038;lm=4' target='_blank'>Download my free Linux commands cheat sheet<\/a> \u2013 it\u2019s a quick reference guide with all the essential commands you\u2019ll need to get things done on your Raspberry Pi. <a rel='noopener' href='https:\/\/raspberrytips.com\/downloads\/?source=begpost&#038;lm=4' target='_blank'><b>Click here to get it for free!<\/b><\/a><\/p>\n\n\n<h2 class=\"wp-block-heading\">The Problem: Why Is DNS Insecure?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>The Domain Name System (DNS) is used to find addresses on the internet. The problem is that DNS is inherently insecure.<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What Is DNS? <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">When you look up a website like raspberrytips.com, your internet connection <a href=\"https:\/\/raspberrytips.com\/raspberry-pi-dns-server\/\" data-type=\"post\" data-id=\"1807\">asks a DNS resolver to convert the textual name to a numerical IP address<\/a>. It&#8217;s how your PC finds a server on the internet to load the site you want.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"200\" src=\"https:\/\/raspberrytips.com\/wp-content\/uploads\/2023\/04\/dns-request-example.jpg\" alt=\"diagram showing DNS resolution process\" class=\"wp-image-16845\" style=\"width:auto;height:150px\" srcset=\"https:\/\/raspberrytips.com\/wp-content\/uploads\/2023\/04\/dns-request-example.jpg 800w, https:\/\/raspberrytips.com\/wp-content\/uploads\/2023\/04\/dns-request-example-300x75.jpg 300w, https:\/\/raspberrytips.com\/wp-content\/uploads\/2023\/04\/dns-request-example-768x192.jpg 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">Why Should You Care About DNS Security?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">DNS came about in the 1980s when public internet access was in its earliest stages\u2014fast forward decades later, and that same design is still used for everything you do online.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A new problem becomes obvious: <strong>DNS is outdated when it comes to <a href=\"https:\/\/raspberrytips.com\/security-tips-raspberry-pi\/\">security and privacy<\/a>.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>DNS requests are sent in plaintext. In other words, they&#8217;re readable by anyone.<\/li>\n\n\n\n<li>DNS doesn&#8217;t require authentication. It doesn&#8217;t check who sent what or whether the response came from a legitimate source.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"748\" height=\"212\" src=\"https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/DNS_insecure.jpg\" alt=\"diagram showing dns insecure by sending data via plaintext\" class=\"wp-image-30962\" srcset=\"https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/DNS_insecure.jpg 748w, https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/DNS_insecure-300x85.jpg 300w\" sizes=\"auto, (max-width: 748px) 100vw, 748px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">These weaknesses mean your ISP or third-party trackers can spy on your internet activity. It also means malicious actors can hijack your DNS requests to carry out their attacks.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Solution: DNS Encryption<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If DNS is insecure, what can you do about it? The answer is DNS encryption. <strong>DNS encryption encodes requests so that they can only be read by the parties intended.<\/strong> It&#8217;s like putting a lock on  your DNS traffic.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"748\" height=\"208\" src=\"https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/DNS_Encryption-1.jpg\" alt=\"diagram showing PC with DNS encryption\" class=\"wp-image-30959\" srcset=\"https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/DNS_Encryption-1.jpg 748w, https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/DNS_Encryption-1-300x83.jpg 300w\" sizes=\"auto, (max-width: 748px) 100vw, 748px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">There are currently a few methods for DNS encryption, such as DNS-over-HTTPS and DNS-over-TLS. In this guide, we&#8217;ll be enabling DNS-over-HTTPS (DoH).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">DNS Encryption Using Raspberry Pi<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Now that you understand how DNS encryption works, how do you get it? One great way to access this technology for free is to have your Raspberry Pi run a program called <strong>Cloudflared<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The Cloudflared project is officially maintained by Cloudflare, one of the largest CDN (Content Delivery Network) providers. The Cloudflared program creates tunnels for secure networking.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It can do lots of fancy things, but for our purposes, <strong>we will install Cloudflared on Raspberry Pi to secure your DNS and keep your internet traffic private<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once installed, your Pi will act as an intermediary between your devices and the internet. Instead of having to configure every device on your network one by one, <strong>your Pi will enable DNS encryption for all of them\u2014protecting your PC and your mobile devices.<\/strong><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"735\" height=\"311\" src=\"https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/DNS_DoH_Pi-e1722905930109.jpg\" alt=\"diagram showing Pi acting as dns encryption device\" class=\"wp-image-30954\" srcset=\"https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/DNS_DoH_Pi-e1722905930109.jpg 735w, https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/DNS_DoH_Pi-e1722905930109-300x127.jpg 300w\" sizes=\"auto, (max-width: 735px) 100vw, 735px\" \/><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">What Do I Need to Run Cloudflared?<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Raspberry Pi<\/strong>: A model with a 64-bit processor, like the <a href=\"https:\/\/raspberrytips.com\/amz\/pi5\">Pi 5<\/a>, <a href=\"https:\/\/raspberrytips.com\/amz\/pi4\" data-type=\"link\" data-id=\"https:\/\/raspberrytips.com\/amz\/pi4\">Pi 4<\/a>, or Pi 3 will work. <br>Support for 32-bit models is not working at this time.<\/li>\n\n\n\n<li><strong>24\/7 run time<\/strong>: Your Pi has to run 24\/7 to process internet requests.<br>Make sure you use a stable setup (<a href=\"https:\/\/raspberrytips.com\/pironman-5-review\/\" data-type=\"post\" data-id=\"27644\">like the Pironman 5<\/a>). You can add a backup battery if needed (<a href=\"https:\/\/raspberrytips.com\/sunfounder-pi-power-review\/\" data-type=\"post\" data-id=\"18383\">like the one I tested here<\/a>).<\/li>\n\n\n\n<li><strong>Ethernet connection<\/strong>: DNS resolution should be fast and stable, so your Pi should be <a href=\"https:\/\/raspberrytips.com\/connect-ethernet-raspberry-pi\/\">connected to your router by Ethernet<\/a>.<\/li>\n\n\n\n<li><strong>Router access<\/strong>: You&#8217;ll have to get into your router&#8217;s admin panel to change DNS settings.<\/li>\n\n\n\n<li><strong>Cloudflared<\/strong>: Instructions to install this program will be provided below.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-theme-palette-7-background-color has-background wp-block-paragraph\"><strong>Note<\/strong>: This guide may be better suited to intermediate or advanced users. You&#8217;ll need some knowledge of networking, router settings, and the Linux command line.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Are There Any Downsides? <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Will setting up DNS encryption make my internet slower? No. <br>Using Cloudflared is faster than a VPN and doesn&#8217;t slow down my connection. <br>It&#8217;s <strong>faster than the default situation of using my ISP&#8217;s DNS<\/strong>. That&#8217;s because Cloudflare&#8217;s DNS is the fastest public resolver in the world.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, this benefit does come with a trade-off. Your Pi must be on 24\/7 to manage your DNS requests. If your Pi goes down, your Internet connection will stop working. But don&#8217;t worry, I&#8217;ll show you how to mitigate this problem.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That said, I&#8217;ve been running Cloudflared since I first got my Raspberry Pi 4. My internet was only knocked out once\u2014my fault for not updating the program for years. I&#8217;ll show you how to enable auto-updates to avoid this issue.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to Install Cloudflared on Raspberry Pi<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Now that you understand how DNS works, you&#8217;re ready to get DNS encryption. In this section, you&#8217;ll install Cloudflared from the official Cloudflare GitHub. Then, you&#8217;ll configure it to enable DNS encryption and run on startup.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Install Cloudflared<\/h3>\n\n\n\n<p class=\"has-theme-palette-7-background-color has-background wp-block-paragraph\"><strong>Note<\/strong>: The instructions below are for Raspberry Pis with 64-bit processors, such as the Pi 5, Pi 4, Pi 3, Pi 2 (v1.2), and Pi Zero 2. Sorry, Cloudflared doesn&#8217;t work properly on <a href=\"https:\/\/raspberrytips.com\/raspberry-pi-cpu\/\" data-type=\"link\" data-id=\"https:\/\/raspberrytips.com\/raspberry-pi-cpu\/\">32-bit models<\/a> as of this writing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To install Cloudflared, open a terminal, and enter these commands:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Download using <a href=\"https:\/\/raspberrytips.com\/download-files-linux-terminal\/\" data-type=\"post\" data-id=\"27068\">wget<\/a>:<\/strong><br><code>wget https:\/\/github.com\/cloudflare\/cloudflared\/releases\/latest\/download\/cloudflared-linux-arm64<\/code><\/li>\n\n\n\n<li><strong>Move the files to install them on your system:<\/strong><br><code>sudo mv -f .\/cloudflared-linux-arm64 \/usr\/local\/bin\/cloudflared<\/code><\/li>\n\n\n\n<li><strong>Make the program executable<\/strong>:<br><code>sudo chmod +x \/usr\/local\/bin\/cloudflared<\/code><\/li>\n\n\n\n<li><strong>Check if it&#8217;s installed<\/strong>: <br><code>cloudflared -v<\/code><\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"885\" height=\"93\" src=\"https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudflared_check_install.jpg\" alt=\"command line showing cloudflared executable permissions and path is accessible\" class=\"wp-image-30988\" srcset=\"https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudflared_check_install.jpg 885w, https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudflared_check_install-300x32.jpg 300w, https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudflared_check_install-768x81.jpg 768w\" sizes=\"auto, (max-width: 885px) 100vw, 885px\" \/><\/figure>\n<\/div>\n\n\r\n\t\t<!-- wp:paragraph -->\r\n\t<p  id=\"inpost_lm_linux_commands\"><b>Tip: <\/b> Command lines can be a pain to memorize. I put the essential Linux commands on a printable cheat sheet so you don't have to keep googling them.\u00a0You can <a rel=\"noreferrer noopener\" href=\"https:\/\/raspberrytips.com\/downloads\/?source=rb_linux&lm=4\" target=\"_blank\">grab the PDF here<\/a> if you want to save some time.<\/p>\r\n\t<!-- \/wp:paragraph -->\r\n\t\t\n\n\n<h3 class=\"wp-block-heading\">Configure Cloudflared<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Next, you&#8217;ll create a config file for Cloudflared. This file is where you&#8217;ll specify using DNS servers with encryption. Here&#8217;s how:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Create the config file with <a href=\"https:\/\/raspberrytips.com\/nano-commands-shortcuts\/\" data-type=\"post\" data-id=\"2524\">Nano<\/a>:<\/strong><br><code>sudo nano \/etc\/default\/cloudflared<\/code><\/li>\n\n\n\n<li><strong>Paste the following line in to use Cloudflare&#8217;s DoH encryption:<\/strong><br><code>CLOUDFLARED_OPTS=--address 0.0.0.0 --port 53 --upstream https:\/\/1.1.1.1\/dns-query --upstream https:\/\/1.0.0.1\/dns-query<\/code><\/li>\n\n\n\n<li><strong><a href=\"https:\/\/raspberrytips.com\/new-user-on-raspberry-pi\/\" data-type=\"post\" data-id=\"3322\">Create a new user<\/a> to run the service:<\/strong> <br><code>sudo useradd -s \/usr\/sbin\/nologin -r -M cloudflared<\/code><\/li>\n\n\n\n<li><strong>Give your service account ownership of the program and config file: <\/strong><br><code>sudo chown cloudflared:cloudflared \/etc\/default\/cloudflared<br>sudo chown cloudflared:cloudflared \/usr\/local\/bin\/cloudflared<\/code><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"121\" src=\"https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudflared_config_settings-1-1024x121.jpg\" alt=\"command line showing summary of cloudflared configuration files\" class=\"wp-image-31039\" srcset=\"https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudflared_config_settings-1-1024x121.jpg 1024w, https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudflared_config_settings-1-300x36.jpg 300w, https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudflared_config_settings-1-768x91.jpg 768w, https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudflared_config_settings-1.jpg 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Run Cloudflared on Startup<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Then, you&#8217;ll want to make sure Cloudflared <a href=\"https:\/\/raspberrytips.com\/autostart-a-program-on-boot\/\" data-type=\"link\" data-id=\"https:\/\/raspberrytips.com\/autostart-a-program-on-boot\/\">runs on startup<\/a>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Create a startup script:<\/strong><br><code>sudo nano \/etc\/systemd\/system\/cloudflared.service<\/code><\/li>\n\n\n\n<li><strong>Paste the following lines: <\/strong><br><code>[Unit]<br>Description=cloudflared DNS over HTTPS proxy<br>After=syslog.target network-online.target<\/code><br><br><code>[Service]<\/code><br><code>AmbientCapabilities=CAP_NET_BIND_SERVICE<br>CapabilityBoundingSet=CAP_NET_BIND_SERVICE<\/code><br><code>Type=simple<br>User=cloudflared<br>EnvironmentFile=\/etc\/default\/cloudflared<br>ExecStart=\/usr\/local\/bin\/cloudflared proxy-dns $CLOUDFLARED_OPTS<br>Restart=on-failure<br>RestartSec=10<br>KillMode=process<\/code><br><code><br>[Install]<br>WantedBy=multi-user.target<\/code><\/li>\n\n\n\n<li><strong>Save &amp; exit<\/strong> (CTRL+x, y, Enter).<\/li>\n\n\n\n<li><strong>Enable the Cloudflared service to run at startup:<\/strong><br><code>sudo systemctl enable cloudflared<br>sudo systemctl start cloudflared<br>sudo systemctl status cloudflared<\/code><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"167\" src=\"https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudfared_service_status-1-1024x167.jpg\" alt=\"cloudflared system service status showing enabled and active on port 53\" class=\"wp-image-31042\" srcset=\"https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudfared_service_status-1-1024x167.jpg 1024w, https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudfared_service_status-1-300x49.jpg 300w, https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudfared_service_status-1-768x125.jpg 768w, https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudfared_service_status-1.jpg 1268w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Test Cloudflared Service<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Finally, let&#8217;s test that Cloudflared resolves DNS requests as intended:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Install the <em>dnsutils<\/em> package to get the <em>dig<\/em> utility: <br><\/strong><code>sudo apt install dnsutils<\/code><\/li>\n\n\n\n<li><strong>Run a test with the <em>dig<\/em> command:<\/strong><br><code>dig @127.0.0.1 -p 53 raspberrytips.com<\/code><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Running this command asks your Pi to resolve a website for you using Cloudflared. If you get a &#8220;connection refused&#8221; error, then something&#8217;s wrong: go back and check on your installation and configuration above.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A successful test should return a full response like this:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"446\" src=\"https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudflared_dig_test-1-1024x446.jpg\" alt=\"cloudflared dig test with successful response\" class=\"wp-image-31044\" srcset=\"https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudflared_dig_test-1-1024x446.jpg 1024w, https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudflared_dig_test-1-300x131.jpg 300w, https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudflared_dig_test-1-768x334.jpg 768w, https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudflared_dig_test-1.jpg 1172w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Congrats! You&#8217;ve successfully installed Cloudflared with DNS encryption. But wait, you&#8217;re not done yet! <strong>You have to tell your router to use your Pi for DNS.<\/strong> I&#8217;ll show you how in the next section.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Post-Installation: Send All DNS Requests to Your Pi<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Now that you&#8217;ve got Cloudflared working, it&#8217;s time to protect all devices on your network with DNS encryption. In this section, you&#8217;ll go to your router&#8217;s admin panel. From there, you&#8217;ll tell it to send all DNS requests to your Pi.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Change the DNS Server on Your Router<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">To complete the steps below, you&#8217;ll need access to your router&#8217;s admin panel. A common way is to <strong>open a web browser and enter your router&#8217;s local network address (e.g., 192.168.1.1)<\/strong>\u2014the exact IP will depend on your router&#8217;s setup. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"816\" height=\"118\" src=\"https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/router_ip_using_pi.jpg\" alt=\"route command to find router ip address\" class=\"wp-image-31138\" srcset=\"https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/router_ip_using_pi.jpg 816w, https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/router_ip_using_pi-300x43.jpg 300w, https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/router_ip_using_pi-768x111.jpg 768w\" sizes=\"auto, (max-width: 816px) 100vw, 816px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">If you haven&#8217;t already done so, <strong>assign your Raspberry Pi a local <a href=\"https:\/\/raspberrytips.com\/set-static-ip-address-raspberry-pi\/\" data-type=\"post\" data-id=\"13501\">static IP address<\/a><\/strong>. You&#8217;ll probably have to reboot your Pi for the new address to take effect. I&#8217;ve assigned my Pi a static IP of &#8220;192.168.1.69&#8221; for our example below.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In your router&#8217;s admin interface, <strong>find the &#8220;DNS Server&#8221; or &#8220;Name Server&#8221; section<\/strong>. Most likely, this section is currently blank. Blank means that you&#8217;re using your ISP&#8217;s DNS by default. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>In the name server section, add <a href=\"https:\/\/raspberrytips.com\/find-current-ip-raspberry-pi\/\" data-type=\"link\" data-id=\"https:\/\/raspberrytips.com\/find-current-ip-raspberry-pi\/\">your Pi&#8217;s local IP address<\/a>. Save.<\/strong><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"694\" height=\"143\" src=\"https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudflared_router_dns_server.jpg\" alt=\"router name server section showing Pi IP added\" class=\"wp-image-31048\" style=\"width:694px;height:auto\" srcset=\"https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudflared_router_dns_server.jpg 694w, https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudflared_router_dns_server-300x62.jpg 300w\" sizes=\"auto, (max-width: 694px) 100vw, 694px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Now your router will use your Pi as the DNS server for your internet connection. When a device on your network requests something like a webpage, your router will send this DNS request to your Pi. The Pi will then use Cloudflared to encrypt the request.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let&#8217;s test if your internet is still working with this new change. <strong>On your PC or another device on your network, open a website.<\/strong> Does it load? If yes, you&#8217;ve set it up correctly! <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If websites won&#8217;t load, then you&#8217;ve probably configured something incorrectly. If you need your internet to work again while you troubleshoot, go review your router&#8217;s DNS settings, clear the settings and save to return it to default.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Check if DNS Encryption is Working<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">But how do you know if encryption is active? <strong>To check if DNS encryption is working, open this <a href=\"https:\/\/1.1.1.1\/help\">Cloudflare help page<\/a>.<\/strong> If DNS encryption is working, the line &#8220;Using DNS over HTTPS&#8221; should say &#8220;Yes.&#8221;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1037\" height=\"321\" src=\"https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/doh_verify_yes.jpg\" alt=\"DNS encryption showing DoH active\" class=\"wp-image-31034\" srcset=\"https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/doh_verify_yes.jpg 1037w, https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/doh_verify_yes-300x93.jpg 300w, https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/doh_verify_yes-1024x317.jpg 1024w, https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/doh_verify_yes-768x238.jpg 768w\" sizes=\"auto, (max-width: 1037px) 100vw, 1037px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">That&#8217;s all there is to it! I salute you for <a href=\"https:\/\/raspberrytips.com\/top-privacy-projects-raspberry-pi\/\">safeguarding your right to privacy<\/a>. Others might think you&#8217;re paranoid, but all signs point to DNS security becoming a standard.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Optional Steps<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This section is optional but covers bonus ways to configure Cloudflared.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Set a Backup DNS<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In the rare event that your Pi + Cloudflared setup goes down, your internet access will stop working. During these situations, add an extra DNS server as a backup in your router to keep your internet running smoothly.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"643\" height=\"189\" src=\"https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudflared_router_dns_server_backup.jpg\" alt=\"\" class=\"wp-image-31036\" srcset=\"https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudflared_router_dns_server_backup.jpg 643w, https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudflared_router_dns_server_backup-300x88.jpg 300w\" sizes=\"auto, (max-width: 643px) 100vw, 643px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">In the example above, I added the Quad9 public DNS server (9.9.9.9) as a backup. You&#8217;ll want to remove this line once you&#8217;re confident that your Pi + Cloudflared setup is working again (because the backup server doesn&#8217;t encrypt DNS).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Automate Cloudflared Updates<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">My internet access went down once because I forgot to update Cloudflared for a couple of years. So now, I update Cloudflared automatically with the script below. It simply downloads the newest files and then copies them over.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here&#8217;s how to automate updates for Cloudflared:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Create a script that will run as a cron job once a month:<\/strong><br><code>sudo nano \/etc\/cron.monthly\/cloudflared-updater<\/code><\/li>\n\n\n\n<li><strong>Paste these lines: <\/strong><br><code>#!\/bin\/bash<\/code><br><code>wget https:\/\/github.com\/cloudflare\/cloudflared\/releases\/latest\/download\/cloudflared-linux-arm64<br>sudo systemctl stop cloudflared<br>sudo mv -f .\/cloudflared-linux-arm \/usr\/local\/bin\/cloudflared<br>sudo chmod +x \/usr\/local\/bin\/cloudflared<br>sudo systemctl start cloudflared<br>cloudflared -v<\/code><br><code>sudo systemctl status cloudflared<\/code><\/li>\n\n\n\n<li><strong>Save &amp; exit<\/strong>.<\/li>\n\n\n\n<li><strong>Make the script executable: <\/strong><br><code>sudo chmod +x \/etc\/cron.monthly\/cloudflared-updater<\/code><\/li>\n\n\n\n<li><strong>Transfer ownership to the root user for proper permissions:<br><\/strong><code>sudo chown root:root \/etc\/cron.monthly\/cloudflared-updater<\/code><\/li>\n\n\n\n<li><strong>Do a test run from your home directory:<\/strong><br><code>cd ~<br>sudo \/etc\/cron.monthly\/cloudflared-updater<\/code><\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"995\" height=\"250\" src=\"https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudflared_updater_script.jpg\" alt=\"cloudflared update script as a monthly cron job\" class=\"wp-image-31082\" srcset=\"https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudflared_updater_script.jpg 995w, https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudflared_updater_script-300x75.jpg 300w, https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudflared_updater_script-768x193.jpg 768w\" sizes=\"auto, (max-width: 995px) 100vw, 995px\" \/><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\">Use Pi-Hole With Cloudflared<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This section is for those already <a href=\"https:\/\/raspberrytips.com\/install-pi-hole-ad-blocker\/\" data-type=\"post\" data-id=\"1949\">running Pi-Hole on Raspberry Pi<\/a>. Perhaps like me, you want the speed of Pi-Hole ad-block and DNS caching but also want to use DNS encryption. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here&#8217;s how to get Pi-Hole and cloudflared to work together:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Install Pi-Hole by following <a href=\"https:\/\/raspberrytips.com\/install-pi-hole-ad-blocker\/\" data-type=\"post\" data-id=\"1949\">our guide<\/a>.<\/strong><\/li>\n\n\n\n<li><strong>Modify your cloudflared configuration to use port 5053 instead:<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>Open the cloudflared configuration:<\/strong><br><code>sudo nano \/etc\/default\/cloudflared<\/code><\/li>\n\n\n\n<li><strong>Change this line to specify the port: <\/strong><br><code>CLOUDFLARED_OPTS=--port 5053 --upstream https:\/\/1.1.1.1\/dns-query --upstream https:\/\/1.0.0.1\/dns-query<\/code><\/li>\n\n\n\n<li><strong>Reboot your Pi:<\/strong><br><code>sudo reboot<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Open the Pi-Hole admin panel in a web browser (e.g., 192.168.1.69\/admin)<\/strong>.<\/li>\n\n\n\n<li>Go to <strong>Settings &gt; DNS<\/strong>.<\/li>\n\n\n\n<li><strong>Uncheck all public Upstream DNS Servers in the left column.<\/strong> See the screenshot below.<\/li>\n\n\n\n<li><strong>Checkmark Custom 1 (IPv4) in the right column, and in the blank space, enter: <br><\/strong><code>127.0.0.1#5053<\/code><br>This setting tells Pi-Hole to send DNS requests to your cloudflared service on port 5053.<\/li>\n\n\n\n<li><strong>Make sure you scroll down and hit Save.<\/strong><\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"424\" src=\"https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudflared_pihole-1024x424.jpg\" alt=\"pi-hole admin panel with cloudflared setup\" class=\"wp-image-31065\" srcset=\"https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudflared_pihole-1024x424.jpg 1024w, https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudflared_pihole-300x124.jpg 300w, https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudflared_pihole-768x318.jpg 768w, https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/cloudflared_pihole.jpg 1473w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">You&#8217;re all done. Now your Pi will block ads, cache DNS requests, and provide DNS encryption at the same time. What an amazing device!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Related<\/strong>: <a href=\"https:\/\/raspberrytips.com\/security-stack-docker-raspberry-pi\" data-type=\"link\" data-id=\"https:\/\/raspberrytips.com\/security-stack-docker-raspberry-pi\">Build the Ultimate Security Stack with Docker on Raspberry Pi<\/a><\/p>\n\n\n<section id=\"end-block-pi\">\r\n<div class=\"rt-community-card \">\r\n\t<div class=\"rt-community-card__inner\">\r\n\r\n\t\t<div class=\"rt-community-card__main\">\r\n\t\t\t<h3 class=\"rt-community-card__headline\">\r\n\t\t\t\tNot getting the same result?\t\t\t<\/h3>\r\n\r\n\t\t\t<p class=\"rt-community-card__description\">\r\n\t\t\t\tEven when you follow every step, small differences in OS version, hardware or config can change the outcome. Instead of wasting time guessing, get help from people who have already fixed the same kind of issue.\t\t\t<\/p>\r\n\r\n\t\t\t<div class=\"rt-community-card__actions\">\r\n\t\t\t\t<a class=\"rt-community-card__button\" href=\"https:\/\/raspberrytips.com\/school\/community\/?coupon=EBCTY\">\r\n\t\t\t\t\t<span>Ask your question now<\/span>\r\n\t\t\t\t\t<span class=\"rt-community-card__button-arrow\">\u2192<\/span>\r\n\t\t\t\t<\/a>\r\n\r\n\t\t\t\t\t\t\t\t\t<div class=\"rt-community-card__small\">\r\n\t\t\t\t\t\t<span class=\"rt-community-card__small-lock\">\ud83d\udd12<\/span>\r\n\t\t\t\t\t\tNo risk. Cancel anytime.\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\r\n\t\t\t\t\t<div class=\"rt-community-card__side\">\r\n\t\t\t\t<ul class=\"rt-community-card__benefits\">\r\n\t\t\t\t\t\t\t\t\t\t\t<li>Get help on your exact issue<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t<li>Access step-by-step videos for tricky setups<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t<li>Browse the website without ads<\/li>\r\n\t\t\t\t\t\t\t\t\t<\/ul>\r\n\t\t\t<\/div>\r\n\t\t\r\n\t<\/div>\r\n<\/div>\r\n<\/section>\r\n\r\n<style>\r\n.rt-community-card {\r\n\t--rt-bg: #f7f7f9;\r\n\t--rt-border: #e4e4e8;\r\n\t--rt-text: #15171b;\r\n\t--rt-muted: #5b6270;\r\n\t--rt-accent: #C61E4A;\r\n\t--rt-accent-hover: #aa183f;\r\n\t--rt-shadow: 0 12px 30px rgba(0, 0, 0, 0.06);\r\n\r\n\tmargin: 36px 0;\r\n\tcolor: var(--rt-text);\r\n\tfont-family: inherit;\r\n}\r\n\r\n.rt-community-card__inner {\r\n\tdisplay: grid;\r\n\tgrid-template-columns: minmax(0, 1.55fr) minmax(260px, 0.95fr);\r\n\tgap: 34px;\r\n\talign-items: start;\r\n\tbackground: var(--rt-bg);\r\n\tborder: 1px solid var(--rt-border);\r\n\tborder-radius: 22px;\r\n\tpadding: 34px 36px;\r\n\tbox-shadow: var(--rt-shadow);\r\n}\r\n\r\n.rt-community-card__main {\r\n\tmin-width: 0;\r\n}\r\n\r\n.rt-community-card__side {\r\n\tborder-left: 1px solid #e1e1e6;\r\n\tpadding-left: 28px;\r\n}\r\n\r\n.rt-community-card__benefits {\r\n\tmargin: 6px 0 0;\r\n\tpadding: 0;\r\n\tlist-style: none;\r\n\tdisplay: grid;\r\n\tgap: 18px;\r\n}\r\n\r\n.rt-community-card__benefits li {\r\n\tposition: relative;\r\n\tpadding-left: 18px;\r\n\tfont-size: 18px;\r\n\tline-height: 1.55;\r\n\tcolor: var(--rt-text);\r\n}\r\n\r\n.rt-community-card__benefits li::before {\r\n\tcontent: \"\";\r\n\tposition: absolute;\r\n\tleft: 0;\r\n\ttop: 0.72em;\r\n\twidth: 7px;\r\n\theight: 7px;\r\n\tborder-radius: 999px;\r\n\tbackground: var(--rt-accent);\r\n\ttransform: translateY(-50%);\r\n}\r\n\r\n.rt-community-card__actions {\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\talign-items: flex-start;\r\n\tgap: 10px;\r\n\tmargin-top: 30px;\r\n}\r\n\r\n.rt-community-card__button {\r\n\tdisplay: inline-flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tgap: 10px;\r\n\tmin-height: 60px;\r\n\tpadding: 0 28px;\r\n\tborder-radius: 14px;\r\n\tbackground: var(--rt-accent);\r\n\tcolor: #fff !important;\r\n\ttext-decoration: none !important;\r\n\tfont-size: 21px;\r\n\tfont-weight: 700;\r\n\tline-height: 1;\r\n\tbox-shadow: 0 12px 22px rgba(198, 30, 74, 0.22);\r\n\ttransition: background .2s ease, transform .2s ease, box-shadow .2s ease;\r\n}\r\n\r\n.rt-community-card__button:hover {\r\n\tbackground: var(--rt-accent-hover);\r\n\tcolor: #fff !important;\r\n\ttransform: translateY(-1px);\r\n\tbox-shadow: 0 14px 26px rgba(198, 30, 74, 0.28);\r\n}\r\n\r\n.rt-community-card__button-arrow {\r\n\tfont-size: 20px;\r\n\tline-height: 1;\r\n}\r\n\r\n.rt-community-card__small {\r\n\tfont-size: 15px;\r\n\tline-height: 1.5;\r\n\tcolor: #6a717d;\r\n\tpadding-left: 2px;\r\n}\r\n\r\n.rt-community-card__small-lock {\r\n\tmargin-right: 6px;\r\n\tfont-size: 14px;\r\n\tvertical-align: baseline;\r\n}\r\n\r\n\/* Tablet *\/\r\n@media (max-width: 900px) {\r\n\t.rt-community-card {\r\n\t\tmargin: 28px 0;\r\n\t}\r\n\r\n\t.rt-community-card__inner {\r\n\t\tgrid-template-columns: 1fr;\r\n\t\tgap: 24px;\r\n\t\tpadding: 28px 24px;\r\n\t}\r\n\r\n\t.rt-community-card__side {\r\n\t\tborder-left: 0;\r\n\t\tborder-top: 1px solid #e1e1e6;\r\n\t\tpadding-left: 0;\r\n\t\tpadding-top: 22px;\r\n\t}\r\n\r\n\t.rt-community-card__benefits {\r\n\t\tgrid-template-columns: 1fr;\r\n\t\tgap: 12px;\r\n\t}\r\n}\r\n\r\n\/* Mobile *\/\r\n@media (max-width: 640px) {\r\n\t.rt-community-card__inner {\r\n\t\tpadding: 22px 18px;\r\n\t\tborder-radius: 18px;\r\n\t\tgap: 20px;\r\n\t}\r\n\t\r\n\t.rt-community-card__side {\r\n\t\tpadding-top: 18px;\r\n\t}\r\n\r\n\t.rt-community-card__benefits li {\r\n\t\tfont-size: 16px;\r\n\t}\r\n\r\n\t.rt-community-card__actions {\r\n\t\tmargin-top: 24px;\r\n\t\talign-items: stretch;\r\n\t}\r\n\r\n\t.rt-community-card__button {\r\n\t\twidth: 100%;\r\n\t\tmin-height: 56px;\r\n\t\tfont-size: 18px;\r\n\t\tpadding: 0 20px;\r\n\t}\r\n\r\n\t.rt-community-card__small {\r\n\t\ttext-align: center;\r\n\t\tpadding-left: 0;\r\n\t}\r\n}\r\n<\/style>\r\n\t\r\n","protected":false},"excerpt":{"rendered":"<p>DNS is the technology your internet connection uses to look up websites and connect to servers. But did you know that DNS leaves your online activity wide open for all to see? In this post, I&#8217;ll show you how you can protect your online privacy with a Raspberry Pi. Cloudflared is a Linux program that&#8230;<\/p>\n","protected":false},"author":363,"featured_media":31107,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[2],"tags":[],"class_list":["post-30717","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-how-to-tutorials"],"taxonomy_info":{"category":[{"value":2,"label":"How-To Tutorials"}]},"featured_image_src_large":["https:\/\/raspberrytips.com\/wp-content\/uploads\/2024\/08\/banner_cloudflared-1024x683.jpg",1024,683,true],"author_info":{"display_name":"Thomas Dyan","author_link":"https:\/\/raspberrytips.com\/author\/thomas\/"},"comment_info":0,"category_info":[{"term_id":2,"name":"How-To Tutorials","slug":"how-to-tutorials","term_group":0,"term_taxonomy_id":2,"taxonomy":"category","description":"","parent":0,"count":228,"filter":"raw","cat_ID":2,"category_count":228,"category_description":"","cat_name":"How-To Tutorials","category_nicename":"how-to-tutorials","category_parent":0}],"tag_info":false,"_links":{"self":[{"href":"https:\/\/raspberrytips.com\/wp-json\/wp\/v2\/posts\/30717","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/raspberrytips.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/raspberrytips.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/raspberrytips.com\/wp-json\/wp\/v2\/users\/363"}],"replies":[{"embeddable":true,"href":"https:\/\/raspberrytips.com\/wp-json\/wp\/v2\/comments?post=30717"}],"version-history":[{"count":227,"href":"https:\/\/raspberrytips.com\/wp-json\/wp\/v2\/posts\/30717\/revisions"}],"predecessor-version":[{"id":51766,"href":"https:\/\/raspberrytips.com\/wp-json\/wp\/v2\/posts\/30717\/revisions\/51766"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/raspberrytips.com\/wp-json\/wp\/v2\/media\/31107"}],"wp:attachment":[{"href":"https:\/\/raspberrytips.com\/wp-json\/wp\/v2\/media?parent=30717"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/raspberrytips.com\/wp-json\/wp\/v2\/categories?post=30717"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/raspberrytips.com\/wp-json\/wp\/v2\/tags?post=30717"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}