Giter Club home page Giter Club logo

hostyoself's Introduction

hostyoself
Version

A hosting service from the browser, because why not. Try it at hostyoself.com.

See it in action

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 🍰!

Inception

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
https://hostyoself.com/confidentcat/

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

FAQ

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.

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

Develop

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

License

MIT

hostyoself's People

Contributors

davidepastore avatar dmuth avatar schollz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hostyoself's Issues

Logo proposal for hostyoself

Hello @schollz
Good morning, I am creating my design portfolio and I would like to contribute to the project by providing a logo without commitment.
Let me know if you want me to send you a proposal.

Cheers!

Homebrew install script

Would like to see this available as a Homebrew install script for OS/X.

If you like, I'd be willing to take a crack at that this weekend. :-)

-- Doug

Failed with special file names

When there's a # in filename, it seems that it's not escaped in URL thus parsed as hash, causes not found error.

Should be escaped as %23

main.go:4: running "go-bindata": exec: "go-bindata": executable file not found in %PATH%

Cloned the repo.

Tried running

go generate -v -x

in a cmd window on Win 10 in the hostyoself directory.

Got this response:

...
go: finding github.com/jteeuwen/go-bindata/go-bindata latest
go: downloading github.com/jteeuwen/go-bindata v3.0.7+incompatible
go: extracting github.com/jteeuwen/go-bindata v3.0.7+incompatible
github.com/jteeuwen/go-bindata
github.com/jteeuwen/go-bindata/go-bindata
go-bindata -pkg server -o pkg/server/assets.go templates/ static/
main.go:4: running "go-bindata": exec: "go-bindata": executable file not found in %PATH%

difficulties to install it (gp-path?) linux mint

go build -v
main.go:14:2: cannot find package "github.com/schollz/hostyoself/pkg/client" in any of:
/usr/lib/go-1.10/src/github.com/schollz/hostyoself/pkg/client (from $GOROOT)
/home/marsiho/go/src/github.com/schollz/hostyoself/pkg/client (from $GOPATH)
main.go:15:2: cannot find package "github.com/schollz/hostyoself/pkg/server" in any of:
/usr/lib/go-1.10/src/github.com/schollz/hostyoself/pkg/server (from $GOROOT)
/home/marsiho/go/src/github.com/schollz/hostyoself/pkg/server (from $GOPATH)
main.go:16:2: cannot find package "github.com/schollz/logger" in any of:
/usr/lib/go-1.10/src/github.com/schollz/logger (from $GOROOT)
/home/marsiho/go/src/github.com/schollz/logger (from $GOPATH)
main.go:17:2: cannot find package "github.com/urfave/cli" in any of:
/usr/lib/go-1.10/src/github.com/urfave/cli (from $GOROOT)
/home/marsiho/go/src/github.com/urfave/cli (from $GOPATH)

hostyoself.com unreachable

Hi Zack,

I use the hostyoself cli tool from time to time. I find it very useful.

The site seems unreachable or stalled at the moment.

Thanks

--sgt

p,s a network of hostyoself-capable sites would be great. the cli tool could could choose one site of
the pool at random or whatever... just an idea :)

Documentation bug: what is the `inputKey` field for?

Hi again, Mark.

What is the inputKey field for?

(You can spawn multiple hosts with this key).

Ok, where do I put the input key? What does 'multiple hosts' mean here? Does that mean I can spawn up multiple copies of hostyoself that serve up the same files at the same address and are available via the same sharable URL?

specify domain in cli tool

when using the cli, it would be nice to choose the sub-directory name, so:

hostyoself host bikesting

... to share the current dir as https://hostyoself.com/bikesting/

Update readme

You don't need MySQL, PHP, or Apache for a website. In fact I wouldn't use any one of those, especially not MySQL. Not to mention that 'dynamic DNS' is not needed if your IP only changes once in a millennium.

And port forwarding isn't hard, and isn't even needed if you get a cloud server with its own dedicated IP for like $5/mo from DigitalOcean or somewhere else. And right now Hosting24 is offering their highest tier of shared hosting for $4 a month, which includes SSH access, and sure yeah MySQL and PHP if you insist.

image

:>

Shared access is no root access but VPSes aren't expensive :p

Relay SSL Support

Hello,

When I using the relay option:

$ hostyoself relay
[info]	2019/10/13 11:44:41 listening on :8010
[info]	2019/10/13 11:44:41 127.0.0.1:60028 GET /ws 2.406ms
[info]	2019/10/13 11:44:49 [::1]:60031 GET / 1.123ms

The localhost the connection does not appear to be using SSL (https); I can only connect via (http). Is there some trick getting it to work via SSL?

~ Thank you

Dockerization

I'd like to propose a Dockerized version of hostyoself so that the CLI version can be run via a docker run command.

I'll be happy to contribute a Dockerfile and push the Docker image to Docker Hub. Just say the word! :-)

Folder dropping doesn't work

I dropped a folder and the list of files served was correct but navigating to the charmingly named url returned a 404 response.

Worked perfectly for a single file from the same folder.

How does this work? Does all the traffic go through your server? If so, surely it will cost you a fortune in bandwidth charges if anyone seriously uses the idea.

Anyway, it's a cool demo.

Edit: forgot to mention that I'm running Firefox 67.0.4, 64 bit, on Windows 10.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.