Publishing Websites From Home
Tags: vpn, network, dns, publishing
Published: 2019-04-22 06:41:14

---
title: Publishing Websites From Home
published: true
description: How to publish content from a home computer
tags: vpn, network, DNS, publishing
---

## What If I Want to Host My Own Content on the Internet?

Let's say you make something and you want distribute it for free on the internet. Here is the large pile of technical bullshit you have to go through:

* Construct your website
* Buy a domain
* Configure DNS for your domain
* Rent a dedicated server
* Install all the software you need
* Upload you site your dedicated server (it's harder than it sounds)
* Get SSL configured for your domain
* Update your server and SSL on a regular basis

If you have never dealt with those problems before, it will take you a long time to figure them all out.  I know because I've already this problem for myself.  Don't try it if you're not willing to dedicate months of your time.

## The Great Internet Inequality

There's an inequality about the internet I've never been able to get over.  It's an  inequality that has nothing to do with personal identity, but is all about content. Accessing content on the internet is stupidly easy.  I see kids who are too young to walk able to handle an iPhone.  

Independently publishing some content to the internet is impossible.

I want to focus on the `Independent Publishing` part of this. There are plenty of corporations the exist with the only purpose of getting your content published on the internet.  They have flashy websites, and they will make you their personal bitch for using their services.  Whenever you publish your content through someone'e else site, you and your content are subject to all sorts of ever changing rules and legal mumbo jumbo.  And you can guarantee your data is being analyzed and sold as well.

Oh, and if you want to make some money off that content yor worked tirelessly to produce, there is at least a minimum 15% fee (usually %20 or higher) from whatever service you choose to serve your content.

## Publishing From Home

If you have a computer that can access the internet, you should theoretically be able to publish a website anyone else can access from that same computer.  This includes smartphones.

In practice, this is not possible. For several reasons:

* You still need to buy a domain and do DNS configuration
* Port forwarding is complicated and might not even be possible depending on your situation
* ISPs block port 80 & 443 just to make things complex
* Most server software was never designed to be run on a home computer

So now you're stuck with two options if you want to publish stuff from home.  Get a PhD in computer science, or just go through some sleazy corporation that's going to take a 20% cut of whatever money your content makes.

Almost everyone goes through the corporation.  And let's be real, a computer science degree won't even cover this kind of topic. 


## The Reverse Proxy Network (RPN)

The RPN is something I've been working on for the last few years. It's basically an inverted VPN. While the VPN lets you access the internet from a different location, the RPN lets you publish your content from a different location.  And location makes a huge difference.

Netflix has different content catalogs based on location.  And you can get a VPN that makes Netflix think you are in one of those locations with better content.  By using a VPN, Netflix thinks your computer is now in Australia and serves you Australia's catalog.  Turn the VPN off, and Netflix now thinks you are in your own crappy country that's worse than Australia and serves your serves you the accordingly crappy catalog.

On the internet, there's an ideal place to publish content. There's no ISPs or NATs or other three letter acronyms getting in the way of your publishing.  And a RPN lets others see your computer as if it where in that ideal place.

Like a VPN, a RPN also helps with security. A well written RPN sets up SSL, obfuscates your IP, and blocks traffic on all ports except the one you choose. 

## A Working RPN

Before I released anything, I wanted to make a fully functional example of the RPN.  So I made my own music streaming server called mStream.  It's cross platform and works on Windows, OSX, and Linux.

mStream sets up a music server on the computer you run it on.  That way you can stream your music collection from that computer. I personally think Spotify's streaming quality sounds like hot garbage, so I built the mStream server so I can stream my higher quality files straight from my home computer.

mStream Server comes with an optional RPN built right in.  You just nee to run the program and login to the RPN, and you can access your music collection from anywhere on the internet.  The service is currently invite only, because there's been a lot of demand and I don't want to scale the product too fast.

https://mstream.io

![mStream Express](https://thepracticaldev.s3.amazonaws.com/i/r3ygbqnkp02mastjmnay.png)

## More Coming Soon

RPN tech has been really popular with the kind of people who have never touched a terminal in their life.  If there is a technical interest for this kind of thing, I will publish more on this site.