ngrok-file-server

module
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 14, 2023 License: MIT

README ยถ

ngrok-file-server

Test, Build and Save

codecov

Go Reference

ngrok-file-server is a tiny secured file server :bowtie:

You can quickly share any content running a simple docker image !!!

It's fast ๐Ÿš€, secured ๐Ÿ”’ and pretty lite ๐Ÿ

๐Ÿ‘‰ Requirements

What do you really need ?

ngrok token

https tunneling (port-forwarding) is provided by ngrok go implementation. So, you need a ngrok token ๐Ÿ”‘

... if don't have a ngrok account, don't worry, it's free ๐Ÿ˜ฌ

docker

If you're familiar with golang, you can build your own server but we recommand to use our docker image ๐Ÿณ

You can download docker desktop and use default settings.

โ–ถ Run

Ok, so now, you may have a ngrok token and run docker on your machine.

1โƒฃ Let's start the server.

Run the following docker command in order to share the content of your local path.

docker run -it --rm -e NGROK_AUTHTOKEN="YOUR_TOKEN" -v $(pwd):/shared ghcr.io/trendev/ngrok-file-server

this example is based on Linux/MacOS usage. If you run ngrok-file-server on Windows, you may change local path command $(pwd) by something like %cd% or direcly set the path...

do not forget to replace "YOUR_TOKEN" by your ngrok token...

It will pull our docker image and then, build and start a new container ๐Ÿ‘

You may see an output like this :

ngrok ingress url: https://2927-90-22-212-26.eu.ngrok.io

Copy the URL ๐Ÿ“

... or start the server with a static domain !

At first, you may claim a static domain (cf ngrok static domain)

docker run -it --rm -e NGROK_AUTHTOKEN="YOUR_TOKEN" -v $(pwd):/shared ghcr.io/trendev/ngrok-file-server --static_domain={your_static_domain}.ngrok-free.app

This URL is easier to remember, isn't it ?

2โƒฃ Visit the file server from anywhere

Paste the previous URL in your favorite web browser.

if you use a free ngrok account, please, just accept the disclaimer ๐Ÿ˜ฝ

And here we are โœ…

You can browse your content and share the URL with anyone and access to your file server from anywhere ๐Ÿ˜Ž

๐Ÿ‘ฎ OAuth2 Protection

You can also control access using an oauth2 provider (like Google, Facebook, Github, Linkedin, etc) and setting an authorized oauth2_domain (for eg, only trendev.fr users).

you can find the supported list here

Enable oauth2 authentication

docker run -it --rm -e NGROK_AUTHTOKEN=$NGROK_AUTHTOKEN -v $(pwd):/shared ghcr.io/trendev/ngrok-file-server --provider=google

Enable oauth2 authentication + oauth2_domain control

docker run -it --rm -e NGROK_AUTHTOKEN=$NGROK_AUTHTOKEN -v $(pwd):/shared ghcr.io/trendev/ngrok-file-server --provider=google --oauth2_domain=trendev.fr

โœ‹ Something else ?

If you need more, you can open an issue and describe your requirement... and BTW, you can also star the repo ๐Ÿ˜‰

Directories ยถ

Path Synopsis
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL