Free Secure Self-Hosting Using Cloudflare Tunnels



Free Secure Self-Hosting Using Cloudflare Tunnels

Free Secure Self-Hosting Using Cloudflare Tunnels

A tutorial that covers how to use Cloudflare Tunnel to provide a secure connection to your local resources without publicly exposing anĀ IP.

You can also find this tutorial as a written article on my blog at
https://programmingpercy.tech/blog/free-secure-self-hosting-using-cloudflare-tunnels/

*** Links ***
Cloudflare Apps – https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/
Cloudflare Tunnels – https://www.cloudflare.com/products/tunnel/
Cloudflare Add Website / Domain – https://developers.cloudflare.com/fundamentals/get-started/setup/add-site/
Cloudflare Registrar – https://www.cloudflare.com/products/registrar/
Cloudflare Dashboard – https://dash.cloudflare.com/
Cloudflare Zero Trust Dashboard – https://one.dash.cloudflare.com/
Cloudflare Build Cloudflared From Source – https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-guide/local/#set-up-a-tunnel-locally-cli-setup
Cloudflare Default Directory – https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-useful-terms/#default-cloudflared-directory
Cloudflare Ingress – https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-guide/local/local-management/ingress/
Cloudflare Run As Service – https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-guide/local/as-a-service/
Installing Go – https://go.dev/doc/install
Find Network Devices – https://itsfoss.com/how-to-find-what-devices-are-connected-to-network-in-ubuntu/

*** Affiliate links ***
NameCheap – https://shareasale.com/r.cfm?b=1781996&u=3461269&m=46483&urllink=&afftrack=
Raspberry PI – https://amzn.to/3vrv5Se

*** Code Blocks ***
“`go
package main

import (
“fmt”
“net/http”
“log”
)
// endpoint that returns a welcome
func endpoint(w http.ResponseWriter, r *http.Request){
fmt.Fprintf(w, “Welcome to your API hosted Locally”)
}

func main(){
log.Println(“hosting on 8080”)
http.HandleFunc(“/”, endpoint)
log.Fatal(http.ListenAndServe(“:8080”, nil))
}
“`
00:00 Introduction
02:40 A Word Of Warning
03:02 How Does Tunnels Work
04:17 Adding DNS Settings And Website
11:56 Adding you first Tunnel
21:03 Creating A Simple Go Web App
24:00 Configure Tunnels With CLI
31:27 Ingress Rules
34:00 Conclusion