Use go to build HTML files
This commit is contained in:
		
							parent
							
								
									396b978d16
								
							
						
					
					
						commit
						2ef2eac84a
					
				
							
								
								
									
										59
									
								
								build.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								build.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,59 @@ | |||||||
|  | package main | ||||||
|  | 
 | ||||||
|  | import ( | ||||||
|  | 	"fmt" | ||||||
|  | 	"os" | ||||||
|  | 	"strings" | ||||||
|  | 	"text/template" | ||||||
|  | 	"time" | ||||||
|  | 
 | ||||||
|  | 	"github.com/tdewolff/minify/v2" | ||||||
|  | 	"github.com/tdewolff/minify/v2/html" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | var ( | ||||||
|  | 	t     = template.Must(template.ParseGlob("html/template/*.html")) | ||||||
|  | 	paths = []string{ | ||||||
|  | 		"index.html", "404.html", | ||||||
|  | 		"blog/index.html", | ||||||
|  | 		"blog/20230719-using-wireguard-to-run-a-reverse-proxy-for-bitcoin-nodes.html", | ||||||
|  | 	} | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | func buildFiles() { | ||||||
|  | 	m := minify.New() | ||||||
|  | 	m.AddFunc("text/html", html.Minify) | ||||||
|  | 	buildDate := time.Now().In(time.UTC).Format("2006-01-02 15:04:05.000000000 -0700") | ||||||
|  | 	for _, path := range paths { | ||||||
|  | 		title := "ekzyis" | ||||||
|  | 		if strings.Contains(path, "/") { | ||||||
|  | 			title = strings.Split(path, "/")[0] + " | ekzyis" | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		content, err := os.ReadFile(fmt.Sprintf("html/pages/%s", path)) | ||||||
|  | 		if err != nil { | ||||||
|  | 			panic(err) | ||||||
|  | 		} | ||||||
|  | 		file, err := os.Create(fmt.Sprintf("public/%s", path)) | ||||||
|  | 		if err != nil { | ||||||
|  | 			panic(err) | ||||||
|  | 		} | ||||||
|  | 		defer file.Close() | ||||||
|  | 
 | ||||||
|  | 		data := map[string]string{ | ||||||
|  | 			"Title":     title, | ||||||
|  | 			"Body":      string(content), | ||||||
|  | 			"BuildDate": buildDate, | ||||||
|  | 		} | ||||||
|  | 		mw := m.Writer("text/html", file) | ||||||
|  | 		defer mw.Close() | ||||||
|  | 		err = t.ExecuteTemplate(mw, "layout.html", data) | ||||||
|  | 		if err != nil { | ||||||
|  | 			panic(err) | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func main() { | ||||||
|  | 	buildFiles() | ||||||
|  | } | ||||||
							
								
								
									
										7
									
								
								go.mod
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								go.mod
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,7 @@ | |||||||
|  | module ekzyis.com | ||||||
|  | 
 | ||||||
|  | go 1.20 | ||||||
|  | 
 | ||||||
|  | require github.com/tdewolff/minify/v2 v2.12.8 | ||||||
|  | 
 | ||||||
|  | require github.com/tdewolff/parse/v2 v2.6.7 // indirect | ||||||
							
								
								
									
										6
									
								
								go.sum
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								go.sum
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,6 @@ | |||||||
|  | github.com/tdewolff/minify/v2 v2.12.8 h1:Q2BqOTmlMjoutkuD/OPCnJUpIqrzT3nRPkw+q+KpXS0= | ||||||
|  | github.com/tdewolff/minify/v2 v2.12.8/go.mod h1:YRgk7CC21LZnbuke2fmYnCTq+zhCgpb0yJACOTUNJ1E= | ||||||
|  | github.com/tdewolff/parse/v2 v2.6.7 h1:WrFllrqmzAcrKHzoYgMupqgUBIfBVOb0yscFzDf8bBg= | ||||||
|  | github.com/tdewolff/parse/v2 v2.6.7/go.mod h1:XHDhaU6IBgsryfdnpzUXBlT6leW/l25yrFBTEb4eIyM= | ||||||
|  | github.com/tdewolff/test v1.0.9 h1:SswqJCmeN4B+9gEAi/5uqT0qpi1y2/2O47V/1hhGZT0= | ||||||
|  | github.com/tdewolff/test v1.0.9/go.mod h1:6DAvZliBAAnD7rhVgwaM7DE5/d9NMOAJ09SqYqeK4QE= | ||||||
							
								
								
									
										11
									
								
								html/pages/404.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								html/pages/404.html
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | |||||||
|  | <code> | ||||||
|  | <strong> | ||||||
|  | <pre> | ||||||
|  | _  _    ___  _  _    | ||||||
|  | | || |  / _ \| || |   | ||||||
|  | | || |_| | | | || |_  | ||||||
|  | |__   _| |_| |__   _| | ||||||
|  |    |_|  \___/   |_|  </pre> | ||||||
|  | </strong> | ||||||
|  | </code> | ||||||
|  | <div class="font-mono mb-1">Not Found</div> | ||||||
| @ -0,0 +1,45 @@ | |||||||
|  | <code> | ||||||
|  | <strong> | ||||||
|  | <pre> | ||||||
|  |  _     _              | ||||||
|  | | |__ | | ___   __ _  | ||||||
|  | | '_ \| |/ _ \ / _` | | ||||||
|  | | |_) | | (_) | (_| | | ||||||
|  | |_.__/|_|\___/ \__, | | ||||||
|  |                 |___/</pre> | ||||||
|  | </strong> | ||||||
|  | </code> | ||||||
|  | <div> | ||||||
|  |   <div class="font-mono mb-1">2023-07-19<br />Using Wireguard to run a reverse proxy for bitcoin nodes</div> | ||||||
|  |   <div class="text-left"> | ||||||
|  |     <p> | ||||||
|  |       If you a run a bitcoin node at home, you may have noticed that inbound connections drop after a while <a | ||||||
|  |         href="https://bitcointalk.org/index.php?topic=5428788">like I did</a>.<br /> | ||||||
|  |       One likely reason could be that you were not assigned a static public IPv4 address from your ISP. | ||||||
|  |       This means that everytime your public IP address changes, your peers can not reach you anymore under your | ||||||
|  |       previous IP address. | ||||||
|  |       For them, it looks like you suddenly went offline. And for some reason, you don't get new inbound connections | ||||||
|  |       after that. | ||||||
|  |     </p> | ||||||
|  |     <p> | ||||||
|  |       You can confirm this by keeping track of your public IP (using <a href="https://ip.me/">ip.me</a> for example) | ||||||
|  |       and check if all your inbound connections drop at the same time your public IP changes. | ||||||
|  |       If that is the case, you can be pretty sure that your ISP changing your public IP is causing this. | ||||||
|  |     </p> | ||||||
|  |     <p> | ||||||
|  |       So let's assume you have confirmed this and still want to run a bitcoin node at home with inbound | ||||||
|  |       connections.<br /> | ||||||
|  |       How do we fix this? As far as I know, you only have three options: | ||||||
|  |     <ul> | ||||||
|  |       <li>Ask your ISP to assign you a static public IPv4 address (may require a business contract which costs more) | ||||||
|  |       </li> | ||||||
|  |       <li>Restart your node everytime you notice that your public IP changed</li> | ||||||
|  |       <li>Use a server with a static public IPv4 address as a reverse proxy</li> | ||||||
|  |     </ul> | ||||||
|  |     As you might have guessed, I am going to show you how to use WireGuard to make a reverse proxy out of a server | ||||||
|  |     of yours so you don't need to pay more | ||||||
|  |     for your internet connection while learning more about networking at the same time. | ||||||
|  |     </p> | ||||||
|  |   </div> | ||||||
|  |   <div class="font-mono mt-1">WIP</div> | ||||||
|  | </div> | ||||||
							
								
								
									
										18
									
								
								html/pages/blog/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								html/pages/blog/index.html
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,18 @@ | |||||||
|  | <code> | ||||||
|  | <strong> | ||||||
|  | <pre> | ||||||
|  |  _     _              | ||||||
|  | | |__ | | ___   __ _  | ||||||
|  | | '_ \| |/ _ \ / _` | | ||||||
|  | | |_) | | (_) | (_| | | ||||||
|  | |_.__/|_|\___/ \__, | | ||||||
|  |                 |___/</pre> | ||||||
|  | </strong> | ||||||
|  | </code> | ||||||
|  | <ul> | ||||||
|  |   <li> | ||||||
|  |     <span class="font-mono mb-1">2023-07-19</span> | | ||||||
|  |     <a href="/blog/20230719-using-wireguard-to-run-a-reverse-proxy-for-bitcoin-nodes.html"> | ||||||
|  |       Using WireGuard to run a reverse proxy for bitcoin nodes</a> | ||||||
|  |   </li> | ||||||
|  | </ul> | ||||||
							
								
								
									
										37
									
								
								html/pages/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								html/pages/index.html
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,37 @@ | |||||||
|  | <code> | ||||||
|  | <strong> | ||||||
|  | <pre> | ||||||
|  |       _               _          | ||||||
|  |   ___| | __ _____   _(_)___      | ||||||
|  |  / _ \ |/ /|_  / | | | / __|     | ||||||
|  | |  __/   <  / /| |_| | \__ \     | ||||||
|  |  \___|_|\_\/___|\__, |_|___/.com | ||||||
|  |                 |___/           </pre> | ||||||
|  | </strong> | ||||||
|  | </code> | ||||||
|  | <div class="font-mono mb-1">Welcome!</div> | ||||||
|  | <div> | ||||||
|  |   <p> | ||||||
|  |     I am just a pleb who likes programming, cybersecurity and bitcoin<br /> | ||||||
|  |     (chronological order). | ||||||
|  |   </p> | ||||||
|  |   <p> | ||||||
|  |     I see this website as my personal playground where I can experiment with setups using minimal HTML and CSS (no | ||||||
|  |     javascript required here!), | ||||||
|  |     host a onion site, integrate protocols like | ||||||
|  |     <a href="https://docs.lightning.engineering/the-lightning-network/l402">L402</a> or | ||||||
|  |     <a href="https://nostr.com/">nostr</a> and whatever else I might come up with. | ||||||
|  |   </p> | ||||||
|  |   <p> | ||||||
|  |     While doing this, I want to share my experiences with others in blog posts for the following reasons: | ||||||
|  |   <ul> | ||||||
|  |     <li>They might be useful as guides if others want to do similar things</li> | ||||||
|  |     <li>Knowing that I can share whatever I learned with others later helps me stay motivated to keep learning more | ||||||
|  |     </li> | ||||||
|  |     <li>I would love to talk more about topics that I am interested in with people | ||||||
|  |       (<a href="https://stacker.news/">stacker.news</a> made me realize this!) | ||||||
|  |     </li> | ||||||
|  |     <li>I want to keep track of all the things I've learned over time</li> | ||||||
|  |   </ul> | ||||||
|  |   </p> | ||||||
|  | </div> | ||||||
							
								
								
									
										15
									
								
								html/template/footer.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								html/template/footer.html
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,15 @@ | |||||||
|  | <footer class="flex justify-center"> | ||||||
|  |   <div> | ||||||
|  |     <hr /> | ||||||
|  |     <nav class="flex flex-row justify-center"> | ||||||
|  |       <a href="/rss">rss</a> | ||||||
|  |       <a href="https://snort.social/p/npub16x07c4qz05yhqe2gy2q2u9ax359d2lc0tsh6wn3y70dmk8nv2j2s96s89d">nostr</a> | ||||||
|  |       <a href="/simplex.jpeg">simplex</a> | ||||||
|  |       <a href="https://github.com/ekzyis">github</a> | ||||||
|  |       <a href="https://stacker.news/ekzyis">sn</a> | ||||||
|  |     </nav> | ||||||
|  |     <code> | ||||||
|  |       <pre>Build Date: {{ .BuildDate }}</pre> | ||||||
|  |     </code> | ||||||
|  |   </div> | ||||||
|  | </footer> | ||||||
							
								
								
									
										11
									
								
								html/template/head.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								html/template/head.html
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | |||||||
|  | <head> | ||||||
|  |   <title>{{ if .Title }} {{- .Title -}} {{ else }} {{- "ekzyis" -}} {{ end }}</title> | ||||||
|  |   <link rel="icon" type="image/x-icon" href="/favicon.ico" /> | ||||||
|  |   <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" /> | ||||||
|  |   <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" /> | ||||||
|  |   <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" /> | ||||||
|  |   <link rel="manifest" href="/site.webmanifest" /> | ||||||
|  |   <link rel="stylesheet" href="/index.css" /> | ||||||
|  |   <meta name="viewport" content="width=device-width, initial-scale=1" /> | ||||||
|  |   <meta name="theme-color" content="#091833" /> | ||||||
|  | </head> | ||||||
							
								
								
									
										16
									
								
								html/template/layout.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								html/template/layout.html
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,16 @@ | |||||||
|  | <!DOCTYPE html> | ||||||
|  | <html> | ||||||
|  | 
 | ||||||
|  | {{ template "head.html" . }} | ||||||
|  | 
 | ||||||
|  | <body> | ||||||
|  |   <header class="flex flex-row text-center justify-center pt-1"> | ||||||
|  |     {{ template "nav.html" }} | ||||||
|  |   </header> | ||||||
|  |   <div class="container flex flex-column text-center"> | ||||||
|  |     {{ .Body }} | ||||||
|  |   </div> | ||||||
|  |   {{ template "footer.html" . }} | ||||||
|  | </body> | ||||||
|  | 
 | ||||||
|  | </html> | ||||||
							
								
								
									
										4
									
								
								html/template/nav.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								html/template/nav.html
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,4 @@ | |||||||
|  | <nav> | ||||||
|  |   <a href="/">home</a> | ||||||
|  |   <a href="/blog">blog</a> | ||||||
|  | </nav> | ||||||
| @ -1,32 +1,12 @@ | |||||||
| <!DOCTYPE html> | <!doctype html><title>ekzyis</title> | ||||||
| <html> | <link rel=icon type=image/x-icon href=/favicon.ico><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest><link rel=stylesheet href=/index.css><meta name=viewport content="width=device-width,initial-scale=1"><meta name=theme-color content="#091833"><header class="flex flex-row text-center justify-center pt-1"><nav><a href=/>home</a> | ||||||
| 
 | <a href=/blog>blog</a></nav></header><div class="container flex flex-column text-center"><code><strong><pre> | ||||||
| <head> |  | ||||||
|   <title>ekzyis</title> |  | ||||||
|   <link rel="icon" type="image/x-icon" href="/favicon.ico" /> |  | ||||||
|   <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" /> |  | ||||||
|   <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" /> |  | ||||||
|   <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" /> |  | ||||||
|   <link rel="manifest" href="/site.webmanifest" /> |  | ||||||
|   <link rel="stylesheet" href="/index.css" /> |  | ||||||
|   <meta name="viewport" content="width=device-width, initial-scale=1" /> |  | ||||||
| </head> |  | ||||||
| 
 |  | ||||||
| <body> |  | ||||||
|   <div class="flex flex-column text-center justify-center h-100vh"> |  | ||||||
|     <code> |  | ||||||
|         <strong> |  | ||||||
|           <pre> |  | ||||||
| _  _    ___  _  _    | _  _    ___  _  _    | ||||||
| | || |  / _ \| || |   | | || |  / _ \| || |   | ||||||
| | || |_| | | | || |_  | | || |_| | | | || |_  | ||||||
| |__   _| |_| |__   _| | |__   _| |_| |__   _| | ||||||
|    |_|  \___/   |_|  </pre |    |_|  \___/   |_|  </pre></strong></code><div class="font-mono mb-1">Not Found</div></div><footer class="flex justify-center"><div><hr><nav class="flex flex-row justify-center"><a href=/rss>rss</a> | ||||||
|           > | <a href=https://snort.social/p/npub16x07c4qz05yhqe2gy2q2u9ax359d2lc0tsh6wn3y70dmk8nv2j2s96s89d>nostr</a> | ||||||
|         </strong> | <a href=/simplex.jpeg>simplex</a> | ||||||
|       </code> | <a href=https://github.com/ekzyis>github</a> | ||||||
|     <div class="font-mono mb-1">Not Found</div> | <a href=https://stacker.news/ekzyis>sn</a></nav><code><pre>Build Date: 2023-08-03 00:56:12.602155415 +0000</pre></code></div></footer> | ||||||
|   </div> |  | ||||||
| </body> |  | ||||||
| 
 |  | ||||||
| </html> |  | ||||||
| @ -1,91 +1,22 @@ | |||||||
| <!DOCTYPE html> | <!doctype html><title>blog | ekzyis</title> | ||||||
| <html> | <link rel=icon type=image/x-icon href=/favicon.ico><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest><link rel=stylesheet href=/index.css><meta name=viewport content="width=device-width,initial-scale=1"><meta name=theme-color content="#091833"><header class="flex flex-row text-center justify-center pt-1"><nav><a href=/>home</a> | ||||||
| 
 | <a href=/blog>blog</a></nav></header><div class="container flex flex-column text-center"><code><strong><pre> | ||||||
| <head> |  | ||||||
|   <title>blog | ekzyis</title> |  | ||||||
|   <link rel="icon" type="image/x-icon" href="/favicon.ico" /> |  | ||||||
|   <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" /> |  | ||||||
|   <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" /> |  | ||||||
|   <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" /> |  | ||||||
|   <link rel="manifest" href="/site.webmanifest" /> |  | ||||||
|   <link rel="stylesheet" href="/index.css" /> |  | ||||||
|   <meta name="viewport" content="width=device-width, initial-scale=1" /> |  | ||||||
|   <meta name="theme-color" content="#091833" /> |  | ||||||
| </head> |  | ||||||
| 
 |  | ||||||
| <body> |  | ||||||
|   <header class="flex flex-row text-center justify-center pt-1"> |  | ||||||
|     <nav> |  | ||||||
|       <a href="/">home</a> |  | ||||||
|       <a href="/blog">blog</a> |  | ||||||
|     </nav> |  | ||||||
|   </header> |  | ||||||
|   <div class="container flex flex-column text-center"> |  | ||||||
|     <code> |  | ||||||
|         <strong> |  | ||||||
|           <pre> |  | ||||||
|  _     _              |  _     _              | ||||||
| | |__ | | ___   __ _  | | |__ | | ___   __ _  | ||||||
| | '_ \| |/ _ \ / _` | | | '_ \| |/ _ \ / _` | | ||||||
| | |_) | | (_) | (_| | | | |_) | | (_) | (_| | | ||||||
| |_.__/|_|\___/ \__, | | |_.__/|_|\___/ \__, | | ||||||
|                 |___/</pre> |                 |___/</pre></strong></code><div><div class="font-mono mb-1">2023-07-19<br>Using Wireguard to run a reverse proxy for bitcoin nodes</div><div class=text-left><p>If you a run a bitcoin node at home, you may have noticed that inbound connections drop after a while <a href="https://bitcointalk.org/index.php?topic=5428788">like I did</a>.<br>One likely reason could be that you were not assigned a static public IPv4 address from your ISP. | ||||||
|         </strong> |  | ||||||
|       </code> |  | ||||||
|     <div> |  | ||||||
|       <div class="font-mono mb-1">2023-07-19<br />Using Wireguard to run a reverse proxy for bitcoin nodes</div> |  | ||||||
|       <!-- vvv blog article vvv --> |  | ||||||
|       <div class="text-left"> |  | ||||||
|         <p> |  | ||||||
|           If you a run a bitcoin node at home, you may have noticed that inbound connections drop after a while <a |  | ||||||
|             href="https://bitcointalk.org/index.php?topic=5428788">like I did</a>.<br /> |  | ||||||
|           One likely reason could be that you were not assigned a static public IPv4 address from your ISP. |  | ||||||
| This means that everytime your public IP address changes, your peers can not reach you anymore under your | This means that everytime your public IP address changes, your peers can not reach you anymore under your | ||||||
| previous IP address. | previous IP address. | ||||||
| For them, it looks like you suddenly went offline. And for some reason, you don't get new inbound connections | For them, it looks like you suddenly went offline. And for some reason, you don't get new inbound connections | ||||||
|           after that. | after that.<p>You can confirm this by keeping track of your public IP (using <a href=https://ip.me/>ip.me</a> for example) | ||||||
|         </p> |  | ||||||
|         <p> |  | ||||||
|           You can confirm this by keeping track of your public IP (using <a href="https://ip.me/">ip.me</a> for example) |  | ||||||
| and check if all your inbound connections drop at the same time your public IP changes. | and check if all your inbound connections drop at the same time your public IP changes. | ||||||
|           If that is the case, you can be pretty sure that your ISP changing your public IP is causing this. | If that is the case, you can be pretty sure that your ISP changing your public IP is causing this.<p>So let's assume you have confirmed this and still want to run a bitcoin node at home with inbound | ||||||
|         </p> | connections.<br>How do we fix this? As far as I know, you only have three options:<ul><li>Ask your ISP to assign you a static public IPv4 address (may require a business contract which costs more)<li>Restart your node everytime you notice that your public IP changed<li>Use a server with a static public IPv4 address as a reverse proxy</ul>As you might have guessed, I am going to show you how to use WireGuard to make a reverse proxy out of a server | ||||||
|         <p> |  | ||||||
|           So let's assume you have confirmed this and still want to run a bitcoin node at home with inbound |  | ||||||
|           connections.<br /> |  | ||||||
|           How do we fix this? As far as I know, you only have three options: |  | ||||||
|         <ul> |  | ||||||
|           <li>Ask your ISP to assign you a static public IPv4 address (may require a business contract which costs more) |  | ||||||
|           </li> |  | ||||||
|           <li>Restart your node everytime you notice that your public IP changed</li> |  | ||||||
|           <li>Use a server with a static public IPv4 address as a reverse proxy</li> |  | ||||||
|         </ul> |  | ||||||
|         As you might have guessed, I am going to show you how to use WireGuard to make a reverse proxy out of a server |  | ||||||
| of yours so you don't need to pay more | of yours so you don't need to pay more | ||||||
|         for your internet connection while learning more about networking at the same time. | for your internet connection while learning more about networking at the same time.</div><div class="font-mono mt-1">WIP</div></div></div><footer class="flex justify-center"><div><hr><nav class="flex flex-row justify-center"><a href=/rss>rss</a> | ||||||
|         </p> | <a href=https://snort.social/p/npub16x07c4qz05yhqe2gy2q2u9ax359d2lc0tsh6wn3y70dmk8nv2j2s96s89d>nostr</a> | ||||||
|       </div> | <a href=/simplex.jpeg>simplex</a> | ||||||
|       <div class="font-mono mt-1">WIP</div> | <a href=https://github.com/ekzyis>github</a> | ||||||
|       <!-- ^^^ blog article ^^^ --> | <a href=https://stacker.news/ekzyis>sn</a></nav><code><pre>Build Date: 2023-08-03 00:56:12.602155415 +0000</pre></code></div></footer> | ||||||
|     </div> |  | ||||||
|   </div> |  | ||||||
|   <footer class="flex justify-center"> |  | ||||||
|     <div> |  | ||||||
|       <hr /> |  | ||||||
|       <nav class="flex flex-row justify-center"> |  | ||||||
|         <a href="/rss">rss</a> |  | ||||||
|         <a href="https://snort.social/p/npub16x07c4qz05yhqe2gy2q2u9ax359d2lc0tsh6wn3y70dmk8nv2j2s96s89d">nostr</a> |  | ||||||
|         <a href="/simplex.jpeg">simplex</a> |  | ||||||
|         <a href="https://github.com/ekzyis">github</a> |  | ||||||
|         <a href="https://stacker.news/ekzyis">sn</a> |  | ||||||
|       </nav> |  | ||||||
|       <code> |  | ||||||
|           <pre> |  | ||||||
| Modify: 2023-07-19 04:21:43.482250187 +0000 |  | ||||||
|  Birth: 2023-07-19 04:01:23.862273784 +0000</pre> |  | ||||||
|         </code> |  | ||||||
|     </div> |  | ||||||
|   </footer> |  | ||||||
| </body> |  | ||||||
| 
 |  | ||||||
| </html> |  | ||||||
| @ -1,60 +1,14 @@ | |||||||
| <!DOCTYPE html> | <!doctype html><title>blog | ekzyis</title> | ||||||
| <html> | <link rel=icon type=image/x-icon href=/favicon.ico><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest><link rel=stylesheet href=/index.css><meta name=viewport content="width=device-width,initial-scale=1"><meta name=theme-color content="#091833"><header class="flex flex-row text-center justify-center pt-1"><nav><a href=/>home</a> | ||||||
| 
 | <a href=/blog>blog</a></nav></header><div class="container flex flex-column text-center"><code><strong><pre> | ||||||
| <head> |  | ||||||
|   <title>blog | ekzyis</title> |  | ||||||
|   <link rel="icon" type="image/x-icon" href="/favicon.ico" /> |  | ||||||
|   <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" /> |  | ||||||
|   <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" /> |  | ||||||
|   <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" /> |  | ||||||
|   <link rel="manifest" href="/site.webmanifest" /> |  | ||||||
|   <link rel="stylesheet" href="/index.css" /> |  | ||||||
|   <meta name="viewport" content="width=device-width, initial-scale=1" /> |  | ||||||
|   <meta name="theme-color" content="#091833" /> |  | ||||||
| </head> |  | ||||||
| 
 |  | ||||||
| <body> |  | ||||||
|   <header class="flex flex-row text-center justify-center pt-1"> |  | ||||||
|     <nav> |  | ||||||
|       <a href="/">home</a> |  | ||||||
|       <a href="/blog">blog</a> |  | ||||||
|     </nav> |  | ||||||
|   </header> |  | ||||||
|   <div class="container flex flex-column text-center"> |  | ||||||
|     <code> |  | ||||||
|         <strong> |  | ||||||
|           <pre> |  | ||||||
|  _     _              |  _     _              | ||||||
| | |__ | | ___   __ _  | | |__ | | ___   __ _  | ||||||
| | '_ \| |/ _ \ / _` | | | '_ \| |/ _ \ / _` | | ||||||
| | |_) | | (_) | (_| | | | |_) | | (_) | (_| | | ||||||
| |_.__/|_|\___/ \__, | | |_.__/|_|\___/ \__, | | ||||||
|                 |___/</pre> |                 |___/</pre></strong></code><ul><li><span class="font-mono mb-1">2023-07-19</span> | | ||||||
|         </strong> | <a href=/blog/20230719-using-wireguard-to-run-a-reverse-proxy-for-bitcoin-nodes.html>Using WireGuard to run a reverse proxy for bitcoin nodes</a></ul></div><footer class="flex justify-center"><div><hr><nav class="flex flex-row justify-center"><a href=/rss>rss</a> | ||||||
|       </code> | <a href=https://snort.social/p/npub16x07c4qz05yhqe2gy2q2u9ax359d2lc0tsh6wn3y70dmk8nv2j2s96s89d>nostr</a> | ||||||
|     <ul> | <a href=/simplex.jpeg>simplex</a> | ||||||
|       <li><span class="font-mono mb-1">2023-07-19</span> | <a | <a href=https://github.com/ekzyis>github</a> | ||||||
|           href="/blog/20230719-using-wireguard-to-run-a-reverse-proxy-for-bitcoin-nodes.html">Using WireGuard to run a | <a href=https://stacker.news/ekzyis>sn</a></nav><code><pre>Build Date: 2023-08-03 00:56:12.602155415 +0000</pre></code></div></footer> | ||||||
|           reverse proxy for bitcoin nodes</a></li> |  | ||||||
|     </ul> |  | ||||||
|   </div> |  | ||||||
|   <footer class="flex justify-center"> |  | ||||||
|     <div> |  | ||||||
|       <hr /> |  | ||||||
|       <nav class="flex flex-row justify-center"> |  | ||||||
|         <a href="/rss">rss</a> |  | ||||||
|         <a href="https://snort.social/p/npub16x07c4qz05yhqe2gy2q2u9ax359d2lc0tsh6wn3y70dmk8nv2j2s96s89d">nostr</a> |  | ||||||
|         <a href="/simplex.jpeg">simplex</a> |  | ||||||
|         <a href="https://github.com/ekzyis">github</a> |  | ||||||
|         <a href="https://stacker.news/ekzyis">sn</a> |  | ||||||
|       </nav> |  | ||||||
|       <code> |  | ||||||
|           <pre> |  | ||||||
| Modify: 2023-07-19 04:08:56.418931696 +0000 |  | ||||||
|  Birth: 2023-07-19 03:38:10.532300743 +0000</pre> |  | ||||||
|         </code> |  | ||||||
|     </div> |  | ||||||
|   </footer> |  | ||||||
| </body> |  | ||||||
| 
 |  | ||||||
| </html> |  | ||||||
| @ -1,80 +1,18 @@ | |||||||
| <!DOCTYPE html> | <!doctype html><title>ekzyis</title> | ||||||
| <html> | <link rel=icon type=image/x-icon href=/favicon.ico><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest><link rel=stylesheet href=/index.css><meta name=viewport content="width=device-width,initial-scale=1"><meta name=theme-color content="#091833"><header class="flex flex-row text-center justify-center pt-1"><nav><a href=/>home</a> | ||||||
| 
 | <a href=/blog>blog</a></nav></header><div class="container flex flex-column text-center"><code><strong><pre> | ||||||
| <head> |  | ||||||
|   <title>ekzyis</title> |  | ||||||
|   <link rel="icon" type="image/x-icon" href="/favicon.ico" /> |  | ||||||
|   <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" /> |  | ||||||
|   <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" /> |  | ||||||
|   <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" /> |  | ||||||
|   <link rel="manifest" href="/site.webmanifest" /> |  | ||||||
|   <link rel="stylesheet" href="/index.css" /> |  | ||||||
|   <meta name="viewport" content="width=device-width, initial-scale=1" /> |  | ||||||
|   <meta name="theme-color" content="#091833" /> |  | ||||||
| </head> |  | ||||||
| 
 |  | ||||||
| <body> |  | ||||||
|   <header class="flex flex-row text-center justify-center pt-1"> |  | ||||||
|     <nav> |  | ||||||
|       <a href="/">home</a> |  | ||||||
|       <a href="/blog">blog</a> |  | ||||||
|     </nav> |  | ||||||
|   </header> |  | ||||||
|   <div class="container flex flex-column text-center"> |  | ||||||
|     <code> |  | ||||||
|         <strong> |  | ||||||
|           <pre> |  | ||||||
|       _               _          |       _               _          | ||||||
|   ___| | __ _____   _(_)___      |   ___| | __ _____   _(_)___      | ||||||
|  / _ \ |/ /|_  / | | | / __|     |  / _ \ |/ /|_  / | | | / __|     | ||||||
| |  __/   <  / /| |_| | \__ \     | |  __/   <  / /| |_| | \__ \     | ||||||
|  \___|_|\_\/___|\__, |_|___/.com |  \___|_|\_\/___|\__, |_|___/.com | ||||||
|                 |___/           </pre> |                 |___/           </pre></strong></code><div class="font-mono mb-1">Welcome!</div><div><p>I am just a pleb who likes programming, cybersecurity and bitcoin<br>(chronological order).<p>I see this website as my personal playground where I can experiment with setups using minimal HTML and CSS (no | ||||||
|         </strong> |  | ||||||
|       </code> |  | ||||||
|     <div class="font-mono mb-1">Welcome!</div> |  | ||||||
|     <div> |  | ||||||
|       <p> |  | ||||||
|         I am just a pleb who likes programming, cybersecurity and bitcoin<br /> |  | ||||||
|         (chronological order). |  | ||||||
|       </p> |  | ||||||
|       <p> |  | ||||||
|         I see this website as my personal playground where I can experiment with setups using minimal HTML and CSS (no |  | ||||||
| javascript required here!), | javascript required here!), | ||||||
|         host a onion site, integrate protocols like <a | host a onion site, integrate protocols like | ||||||
|           href="https://docs.lightning.engineering/the-lightning-network/l402">L402</a> or <a | <a href=https://docs.lightning.engineering/the-lightning-network/l402>L402</a> or | ||||||
|           href="https://nostr.com/">nostr</a> and whatever else I might come up with. | <a href=https://nostr.com/>nostr</a> and whatever else I might come up with.<p>While doing this, I want to share my experiences with others in blog posts for the following reasons:<ul><li>They might be useful as guides if others want to do similar things<li>Knowing that I can share whatever I learned with others later helps me stay motivated to keep learning more<li>I would love to talk more about topics that I am interested in with people | ||||||
|       </p> | (<a href=https://stacker.news/>stacker.news</a> made me realize this!)<li>I want to keep track of all the things I've learned over time</ul></div></div><footer class="flex justify-center"><div><hr><nav class="flex flex-row justify-center"><a href=/rss>rss</a> | ||||||
|       <p> | <a href=https://snort.social/p/npub16x07c4qz05yhqe2gy2q2u9ax359d2lc0tsh6wn3y70dmk8nv2j2s96s89d>nostr</a> | ||||||
|         While doing this, I want to share my experiences with others in blog posts for the following reasons: | <a href=/simplex.jpeg>simplex</a> | ||||||
|       <ul> | <a href=https://github.com/ekzyis>github</a> | ||||||
|         <li>They might be useful as guides if others want to do similar things</li> | <a href=https://stacker.news/ekzyis>sn</a></nav><code><pre>Build Date: 2023-08-03 00:56:12.602155415 +0000</pre></code></div></footer> | ||||||
|         <li>Knowing that I can share whatever I learned with others later helps me stay motivated to keep learning more |  | ||||||
|         </li> |  | ||||||
|         <li>I would love to talk more about topics that I am interested in with people (<a |  | ||||||
|             href="https://stacker.news/">stacker.news</a> made me realize this!)</li> |  | ||||||
|         <li>I want to keep track of all the things I've learned over time</li> |  | ||||||
|       </ul> |  | ||||||
|       </p> |  | ||||||
|     </div> |  | ||||||
|   </div> |  | ||||||
|   <footer class="flex justify-center"> |  | ||||||
|     <div> |  | ||||||
|       <hr /> |  | ||||||
|       <nav class="flex flex-row justify-center"> |  | ||||||
|         <a href="/rss">rss</a> |  | ||||||
|         <a href="https://snort.social/p/npub16x07c4qz05yhqe2gy2q2u9ax359d2lc0tsh6wn3y70dmk8nv2j2s96s89d">nostr</a> |  | ||||||
|         <a href="/simplex.jpeg">simplex</a> |  | ||||||
|         <a href="https://github.com/ekzyis">github</a> |  | ||||||
|         <a href="https://stacker.news/ekzyis">sn</a> |  | ||||||
|       </nav> |  | ||||||
|       <code> |  | ||||||
|           <pre> |  | ||||||
| Modify: 2023-07-19 03:46:09.018958096 +0000 |  | ||||||
|  Birth: 2023-05-04 19:58:41.576550631 +0000</pre> |  | ||||||
|         </code> |  | ||||||
|     </div> |  | ||||||
|   </footer> |  | ||||||
| </body> |  | ||||||
| 
 |  | ||||||
| </html> |  | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user