A website that is a server

A hosting service from the browser, because why not.

TLDR: You can open this website and host anything from the website: hostyoself.com.

What’s the point of this? You can host a website! You can share a file! Anything you want, directly from your browser!

How do I start web hosting? You will need to setup port forwarding, a dynamic DNS, name registration, MySQL, PHP, Apache and take a online course in Javascript.

Just kidding! You don’t need any of that crap. Just goto hostyoself.com drag and drop a folder, or select a file. That’s literally it. Now you can host a website from your laptop or your phone or your smartwatch or your toaster.

How is this possible? When the server you point at gets a request for a webpage, the server turns back and asks you for that content and will use what you provide for the original request.

Seriously, how is this possible? The relay uses websockets in your browser to process GET commands.

Won’t my website disappear when I close my browser? Yep! There is a command-line tool that doesn’t require a browser so it can run in the background if you need that. But yes, if your computer turns off then your site is down. Welcome to the joys of hosting a site on the internet.

Won’t I have to reload my browser if I change a file? Yep! Welcome to the joys of Javascript.

What’s the largest file I can host using this? ¯\_(ツ)_/¯

Should I use this to host a website? Dear god yes.

Does this use AI or blockchain? Sure, why not.

Does it scale? Horizontally, or vertically? Probably neither!

What inspired this? beaker browser, ngrok, localhost.run, inlets.dev, Parks and Recreation.

Here’s an example where I use hostyoself.com to host itself. I use wget to download hostyoself.com and then host hostyoself.com from hostyoself.com: hostyoself.com/hostyoself/. Happy 9th Anniversary Inception :cake:!

Hosting hostyourself from hostyourself

Host from the browser

Open hostyoself.com and drag and drop a folder, or select a file. Your browser will host the files!

Host from the command line

You can host files directly from the terminal!

$ hostyoself host

Now if you have a file in your folder README.md you can access it with the public URL https://hostyoself.com/confidentcat/README.md, directly from your computer!

If you’re on a Mac, you can install with Homebrew:

brew tap schollz/homebrew https://github.com/schollz/homebrew-tap.git
brew install hostyoself

Or you can host your current directory using Docker:

$ docker run -v `pwd`:/data schollz/hostyoself

Run your own relay

Want to run your own relay? Its easy.

$ hostyoself relay --url https://yoururl


$ git clone https://github.com/schollz/hostyoself
$ cd hostyoself
$ go generate -v -x
$ go build -v

 / #websites #portfolio 

Made by Zack, filed in Blog. 2019.