dn42 stands for Decentralized Network 42. It is an interconnected network that employs the same technology (DNS, BGP, etc) as the internet. This provides a great opportunity to replicate the processes used by real ISPs peering on the internet.…
read more...Caddy Cheatsheat
A comprehensive list of examples of configuring the Caddy webserver. Includes TLS, Proxy, Oauth2, and more!…
read more...Sending Emails with cURL
In this tutorial, we will look at how the cURL utility can be used to send out emails. This is useful for things like automated alerts…
read more...Github Login on Caddy
How to log into your Caddy webserver using your Github account (Oauth2). Requires http.jwt and http.login plugins.…
read more...Protect your infrastructure with SSH Jump Hosts
This post shows you how to use SSH jump hosts to access internal SSH servers. It also shows how to create limited accounts that can only be used for jumphost access…
read more...Migrating the Blog (Ghost+Caddy+Docker)
In this post, I'll discuss how I migrated this Ghost blog to a new server, and its configuration using docker-compose and Cloudflare.…
read more...Dynamic DNS with Route53
This is a python script I made for dynamic dns with Amazon Route53. I also made a Python REST API.…
read more...Lets Encrypt HTTP-01 using Amazon S3
How to obtain Let's Encrypt certificates via an S3 bucket with optional Cloudflare origin-host configuration…
read more...Using S3 for temporary storage
I often use S3 for ad-hoc storage. This post will look at configuring auto-deletion of objects, as well as generating temporary public URLs…
read more...Cloud based Two Factor Authentication with gpg+s3
This is an experimental script I made to store encrypted TFA credentials in the cloud. It uses GPG to protect the the uploaded data. The tokens can be accessed anywhere on anything that has access to the GPG key.…
read more...Setting up Ghost 2.0 with Cloudflare
This tutorial will show you how to set up a blog using Cloudflare and Ghost. Cloudflare will improve performance and security by acting as a caching reverse-proxy.…
read more...Command line Pastebin using curl
In this post, I will demonstrate how to use the Ubuntu Pastebin utility with cURL to make pastes from the command line.…
read more...Customizing Digitalocean Floating IPs
Digitalocean allows, for free, the option to add an additional IP address to your virtual machine ("droplet"). These floating IPs are similiar to Amazon AWS Elastic IPs and are tied to your account and location, rather than any specific instance This means that when an instance is destroyed, you can still preserve the floating address and migrate it to your new instance, providing it's in the same datacenter location. Floating IPs also have load balancing features, where if a site/instance goes down, it can automatically redirect to a backup instance. It is for these reasons it is…
read more...Migrating Nginx to a Docker Container
This is a write-up of how I migrated my Nginx web server from running as a standard service to running inside a Docker container. We will also see how to customize logging and network options, including configuring docker for IPv6 Preparing nginx.conf For me, I find it easier having a single nginx.conf file, appending the single flat file with vhosts generated from a template. For example, for additional vhosts, you could use this template The main things you'll need to comment out any access_log or error_log entries, created on a per-vhost basis. For now, I'm just…
read more...Getting Started with Docker using Cockpit (Fedora 26)
Introduction For ages, I've been wanting to get into Docker, especially how it's now the next big thing. In this tutorial, we will see how Docker works, it's basic commands, what you can do with it and also touch upon Docker security, such as isolation. So what is Docker? Docker is a platform used to deploy applications in a convenient way. It's kinda like virtual machines, but not quite. It's exploded in popularity because it makes system administration a lot more efficient and better. Installing stuff, especially web applications is annoying, compiling stuff, dependencies breaking, extraneous files left everything, then…
read more...