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> | ||||
| <html> | ||||
| 
 | ||||
| <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> | ||||
| <!doctype html><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"><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 | ||||
|           > | ||||
|         </strong> | ||||
|       </code> | ||||
|     <div class="font-mono mb-1">Not Found</div> | ||||
|   </div> | ||||
| </body> | ||||
| 
 | ||||
| </html> | ||||
|    |_|  \___/   |_|  </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> | ||||
| <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: 2023-08-03 00:56:12.602155415 +0000</pre></code></div></footer> | ||||
| @ -1,91 +1,22 @@ | ||||
| <!DOCTYPE html> | ||||
| <html> | ||||
| 
 | ||||
| <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> | ||||
| <!doctype html><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"><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> | ||||
|         </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. | ||||
|                 |___/</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) | ||||
| 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) | ||||
| 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 | ||||
| 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 | ||||
| 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 | ||||
| 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> | ||||
|       <!-- ^^^ blog article ^^^ --> | ||||
|     </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> | ||||
| 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> | ||||
| <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: 2023-08-03 00:56:12.602155415 +0000</pre></code></div></footer> | ||||
| @ -1,60 +1,14 @@ | ||||
| <!DOCTYPE html> | ||||
| <html> | ||||
| 
 | ||||
| <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> | ||||
| <!doctype html><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"><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> | ||||
|         </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> | ||||
|   </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> | ||||
|                 |___/</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></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>Build Date: 2023-08-03 00:56:12.602155415 +0000</pre></code></div></footer> | ||||
| @ -1,80 +1,18 @@ | ||||
| <!DOCTYPE html> | ||||
| <html> | ||||
| 
 | ||||
| <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> | ||||
| <!doctype html><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"><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 | ||||
|                 |___/           </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 | ||||
|                 |___/           </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 | ||||
| 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> | ||||
|   </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> | ||||
| 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>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 | ||||
| (<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> | ||||
| <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: 2023-08-03 00:56:12.602155415 +0000</pre></code></div></footer> | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user