{"id":1964,"date":"2021-04-20T01:32:15","date_gmt":"2021-04-20T01:32:15","guid":{"rendered":"https:\/\/dft.wiki\/?p=1964"},"modified":"2026-06-08T22:53:05","modified_gmt":"2026-06-09T02:53:05","slug":"setting-up-a-content-delivery-network-cdn-with-cloudflare","status":"publish","type":"post","link":"https:\/\/dft.wiki\/?p=1964","title":{"rendered":"Setting Up a Content Delivery Network (CDN) with Cloudflare"},"content":{"rendered":"<p>A <strong>CDN<\/strong> is a group of servers distributed around the world. It improves your website&#8217;s speed by caching content in multiple locations, reducing the load on the origin server and handling traffic peaks.<\/p>\n<p>Many CDNs include a <strong>WAF<\/strong> (Web Application Firewall) and protection against <strong>DDoS<\/strong> (Distributed Denial of Service) attacks. The IP address of the origin server is never exposed.<\/p>\n<p><strong>Cloudflare<\/strong> offers a free plan with <strong>DNS<\/strong> hosting, <strong>CDN<\/strong>, <strong>WAF<\/strong>, and <strong>API<\/strong> access. It also includes <strong>Tunnel<\/strong> (for securely exposing services) and <strong>SSO<\/strong> (Single Sign-On).<\/p>\n<p>A open-source alternative similar to Cloudflare Tunnel and SSO (but without CDN or WAF) is <strong>Pangolin<\/strong> [<a href=\"https:\/\/github.com\/fosrl\/pangolin\">Link<\/a>]. It uses <strong>WireGuard<\/strong> for tunneling and <strong>Traefik<\/strong> for reverse proxy and certificate management.<\/p>\n<p>Back to Cloudflare&#8230;<\/p>\n<hr \/>\n<p><strong>SETTING UP FREE DNS SERVICE<\/strong><\/p>\n<p>Create an account and add your first site (domain):<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1988\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_29_53.png\" alt=\"\" width=\"336\" height=\"127\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_29_53.png 336w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_29_53-300x113.png 300w\" sizes=\"auto, (max-width: 336px) 100vw, 336px\" \/><\/p>\n<p>Select the free option:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1989\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_30_04.png\" alt=\"\" width=\"904\" height=\"142\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_30_04.png 904w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_30_04-300x47.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_30_04-768x121.png 768w\" sizes=\"auto, (max-width: 904px) 100vw, 904px\" \/><\/p>\n<p>Cloudflare will automatically detect your existing DNS records:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1990\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_30_27.png\" alt=\"\" width=\"303\" height=\"30\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_30_27.png 303w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_30_27-300x30.png 300w\" sizes=\"auto, (max-width: 303px) 100vw, 303px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1991\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_30_28.png\" alt=\"\" width=\"911\" height=\"310\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_30_28.png 911w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_30_28-300x102.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_30_28-768x261.png 768w\" sizes=\"auto, (max-width: 911px) 100vw, 911px\" \/><\/p>\n<p><strong>Note:<\/strong> Two records have warnings on the left. These records expose your server&#8217;s IP address and should be removed. <strong>Delete these two lines to hide your web server!<\/strong><\/p>\n<p>Cloudflare will then show you the new nameservers to set at your domain registrar:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1992\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_30_59.png\" alt=\"\" width=\"376\" height=\"140\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_30_59.png 376w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_30_59-300x112.png 300w\" sizes=\"auto, (max-width: 376px) 100vw, 376px\" \/><\/p>\n<p>Point your domain to the Cloudflare nameservers:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2000\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_33_35.png\" alt=\"\" width=\"715\" height=\"94\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_33_35.png 715w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_33_35-300x39.png 300w\" sizes=\"auto, (max-width: 715px) 100vw, 715px\" \/><\/p>\n<p>Answer a few questions about basic features:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1994\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_34_17.png\" alt=\"\" width=\"857\" height=\"215\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_34_17.png 857w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_34_17-300x75.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_34_17-768x193.png 768w\" sizes=\"auto, (max-width: 857px) 100vw, 857px\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1995\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_34_30.png\" alt=\"\" width=\"858\" height=\"229\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_34_30.png 858w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_34_30-300x80.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_34_30-768x205.png 768w\" sizes=\"auto, (max-width: 858px) 100vw, 858px\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1996\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_34_47.png\" alt=\"\" width=\"857\" height=\"252\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_34_47.png 857w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_34_47-300x88.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_34_47-768x226.png 768w\" sizes=\"auto, (max-width: 857px) 100vw, 857px\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1997\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_34_58.png\" alt=\"\" width=\"857\" height=\"192\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_34_58.png 857w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_34_58-300x67.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-17_08_34_58-768x172.png 768w\" sizes=\"auto, (max-width: 857px) 100vw, 857px\" \/><\/p>\n<p>Setup completes after a few hours once the new nameservers propagate across the Internet:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1998\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-18_22_19_02.png\" alt=\"\" width=\"313\" height=\"72\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-18_22_19_02.png 313w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-18_22_19_02-300x69.png 300w\" sizes=\"auto, (max-width: 313px) 100vw, 313px\" \/><\/p>\n<hr \/>\n<p><strong>ENABLING SSL\/TLS WILDCARD<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2041\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot-from-2021-04-25-19-59-15.png\" alt=\"\" width=\"899\" height=\"123\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot-from-2021-04-25-19-59-15.png 899w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot-from-2021-04-25-19-59-15-300x41.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot-from-2021-04-25-19-59-15-768x105.png 768w\" sizes=\"auto, (max-width: 899px) 100vw, 899px\" \/><\/p>\n<p>On the SSL\/TLS tab, select Flexible for now:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2042\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot-from-2021-04-25-20-01-15.png\" alt=\"\" width=\"1029\" height=\"517\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot-from-2021-04-25-20-01-15.png 1029w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot-from-2021-04-25-20-01-15-300x151.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot-from-2021-04-25-20-01-15-1024x514.png 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot-from-2021-04-25-20-01-15-768x386.png 768w\" sizes=\"auto, (max-width: 1029px) 100vw, 1029px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2043\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot-from-2021-04-25-19-59-56.png\" alt=\"\" width=\"1030\" height=\"507\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot-from-2021-04-25-19-59-56.png 1030w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot-from-2021-04-25-19-59-56-300x148.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot-from-2021-04-25-19-59-56-1024x504.png 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot-from-2021-04-25-19-59-56-768x378.png 768w\" sizes=\"auto, (max-width: 1030px) 100vw, 1030px\" \/><\/p>\n<p>A wildcard certificate hides your subdomains (any old certificates will eventually expire):<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2014\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-18_22_36_52.png\" alt=\"\" width=\"1060\" height=\"467\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-18_22_36_52.png 1060w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-18_22_36_52-300x132.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-18_22_36_52-1024x451.png 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-18_22_36_52-768x338.png 768w\" sizes=\"auto, (max-width: 1060px) 100vw, 1060px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2044\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot-from-2021-04-25-20-00-31.png\" alt=\"\" width=\"1029\" height=\"321\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot-from-2021-04-25-20-00-31.png 1029w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot-from-2021-04-25-20-00-31-300x94.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot-from-2021-04-25-20-00-31-1024x319.png 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot-from-2021-04-25-20-00-31-768x240.png 768w\" sizes=\"auto, (max-width: 1029px) 100vw, 1029px\" \/><\/p>\n<p><strong>Copy the private and public keys to a safe location.<\/strong><\/p>\n<p>Change the mode to Full or Full (strict):<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2010\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-18_22_24_50.png\" alt=\"\" width=\"1032\" height=\"499\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-18_22_24_50.png 1032w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-18_22_24_50-300x145.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-18_22_24_50-1024x495.png 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot_2021-04-18_22_24_50-768x371.png 768w\" sizes=\"auto, (max-width: 1032px) 100vw, 1032px\" \/><\/p>\n<p>Your site may go offline until you install the certificates on your origin server.<\/p>\n<hr \/>\n<p><strong>INSTALL ORIGIN CERTIFICATE ON THE SERVER<\/strong><\/p>\n<p>Create the directory <strong>\/etc\/cloudflare\/<\/strong> and save the following files using the keys you copied earlier:<\/p>\n<p><strong>\/etc\/cloudflare\/example.com.pem<\/strong><\/p>\n<pre><strong>-----BEGIN CERTIFICATE-----<\/strong>\r\n...\r\n<strong>-----END CERTIFICATE-----<\/strong><\/pre>\n<p><strong>\/etc\/cloudflare\/example.com.key<\/strong><\/p>\n<pre><strong>-----BEGIN PRIVATE KEY-----<\/strong>\r\n...\r\n<strong>-----END PRIVATE KEY-----<\/strong><\/pre>\n<p><strong>For NGINX<\/strong>, edit \/etc\/nginx\/sites-available\/<strong>default<\/strong> and add:<\/p>\n<pre>server {\r\n<strong>   listen                443;\r\n   ssl                   on;\r\n   ssl_certificate       \/etc\/cloudflare\/example.com.pem;\r\n   ssl_certificate_key   \/etc\/cloudflare\/example.com.key;<\/strong>\r\n\r\n   server_name           example.ca;\r\n   access_log            \/var\/log\/nginx\/nginx.vhost.access.log;\r\n   error_log             \/var\/log\/nginx\/nginx.vhost.error.log;\r\n\r\n   root                  \/var\/www\/html\/;\r\n   index                 index.php index.html;\r\n\r\n   location ~ \\.php$ {\r\n      include            snippets\/fastcgi-php.conf;\r\n      fastcgi_pass       unix:\/var\/run\/php\/php7.4-fpm.sock;\r\n   }\r\n}<\/pre>\n<p><strong>For Apache2<\/strong>, edit \/etc\/apache2\/sites-available\/<strong>000-default.conf<\/strong> and add:<\/p>\n<pre>&lt;VirtualHost *:443&gt;\r\n<strong>   SSLEngine                on\r\n   SSLCertificateFile       \/etc\/cloudflare\/example.com.pem\r\n   SSLCertificateKeyFile    \/etc\/cloudflare\/example.com.key\r\n   <span style=\"color: #ff0000;\">SSLCertificateChainFile  \/etc\/cloudflare\/ca.pem<\/span><\/strong>\r\n\r\n   ServerAdmin              admin@example.com\r\n   DocumentRoot             \/var\/www\/html\r\n   ServerName               example.com\r\n   ServerAlias              www.example.com\r\n   ErrorLog                 ${APACHE_LOG_DIR}\/error.log\r\n   CustomLog                ${APACHE_LOG_DIR}\/access.log combined\r\n&lt;\/VirtualHost&gt;<\/pre>\n<p>After editing the web server config, restart the service.<\/p>\n<p>For Apache2, make sure the SSL module is enabled before restarting:<\/p>\n<pre>sudo a2enmod ssl<\/pre>\n<p>The red line in the Apache configuration is optional and only needed in some setups. The CA file can be found in the Cloudflare help center.<\/p>\n<p>Set permissions to 600 on all certificate files:<\/p>\n<pre>sudo chmod 600 \/etc\/cloudflare\/*<\/pre>\n<p>You can now block port 80 on your server, since Cloudflare will automatically redirect all HTTP traffic to HTTPS.<\/p>\n<hr \/>\n<p>Did you know you can use Cloudflare as Dynamic DNS for a website hosted on a Raspberry Pi?<\/p>\n<p>Yes! Using the API, you can automate updates whenever your IP address changes:<\/p>\n<pre>git clone https:\/\/github.com\/K0p1-Git\/cloudflare-ddns-updater.git\r\ncd cloudflare-ddns-updater\r\ncp cloudflare-template.sh cloudflare.sh\r\nnano cloudflare.sh<\/pre>\n<p>Customize the following variables at the top of the script:<\/p>\n<pre>auth_email=\"<strong>myemail@gmail.com<\/strong>\"\r\nauth_key=\"<strong>c7d36f12f8c9189f053ca39e90e859eaa77b1<\/strong>\"\r\nzone_identifier=\"<strong>542818cd0a64a3b2b96ef8859c6ddac0<\/strong>\"\r\nrecord_name=\"<strong>myhome.mydomain.com<\/strong>\"<\/pre>\n<p>Replace the values in <strong>bold<\/strong> with your own, make the file executable, and run it:<\/p>\n<pre>chmod +x cloudflare.sh\r\n.\/cloudflare.sh<\/pre>\n<p>If your domain or subdomain updates successfully, add the following line to crontab (<code>crontab -e<\/code>):<\/p>\n<pre>* * * * * \/<strong>path<\/strong>\/cloudflare.sh &gt; \/dev\/null 2&gt;&amp;1<\/pre>\n<hr \/>\n<p><strong>BONUS<\/strong><\/p>\n<p>Take a look at AI Labyrinth, a new tool designed to combat web-crawling bots that harvest content for AI training without consent. This free, opt-in solution detects suspicious bot activity and leads them through a maze of AI-generated decoy pages, wasting their time and resources.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-4762\" src=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot-From-2025-04-08-20-49-10-1024x340.png\" alt=\"\" width=\"800\" height=\"266\" srcset=\"https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot-From-2025-04-08-20-49-10-1024x340.png 1024w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot-From-2025-04-08-20-49-10-300x100.png 300w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot-From-2025-04-08-20-49-10-768x255.png 768w, https:\/\/dft.wiki\/wp-content\/uploads\/sites\/15\/2021\/04\/Screenshot-From-2025-04-08-20-49-10.png 1283w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A CDN is a group of servers distributed around the world. It improves your website&#8217;s [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-1964","post","type-post","status-publish","format-standard","hentry","category-web"],"_links":{"self":[{"href":"https:\/\/dft.wiki\/index.php?rest_route=\/wp\/v2\/posts\/1964","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dft.wiki\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dft.wiki\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dft.wiki\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dft.wiki\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1964"}],"version-history":[{"count":15,"href":"https:\/\/dft.wiki\/index.php?rest_route=\/wp\/v2\/posts\/1964\/revisions"}],"predecessor-version":[{"id":5737,"href":"https:\/\/dft.wiki\/index.php?rest_route=\/wp\/v2\/posts\/1964\/revisions\/5737"}],"wp:attachment":[{"href":"https:\/\/dft.wiki\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1964"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dft.wiki\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1964"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dft.wiki\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1964"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}