share.me is a basic file sharing tool
You can install share.me via go directly
$ go install github.com/pale-whale/share.me@latest
There is only one command at the moment and it's the share command
$ share.me share --help
Start a server to share a single file (or directory)
or start an UI that let you select which files to share
Usage:
share.me share [flags] [file]
Flags:
-h, --help help for share
Global Flags:
--config string config file (default is $HOME/.share.me.yaml)
-p, --port string port used for the server (default 0)
You can invoke share with an argument to share it directly or without to start the sharing server also, invoking share.me without command is a shortcut to the share command
To share a single file invoke share.me with the path to said file
$ share.me example.txt
addr: http://192.168.1.31:33297/
file: example.txt
share.me will start to listen to a random port and serve the file to anyone requesting /
share.me can also be used as a sharing server, invoke it without a file and an ui will be started. From here you can browse your current directory and share any files here You can navigate through your files with the up and down arrows and expand a directory with the right arrow You can share any selected file by hitting space or enter, an id will be generated and any request to that endpoint will be served with the file
$ curl -i http://192.168.1.31:8080/65a78642
HTTP/1.1 200 OK
Content-Disposition: attachment; filename=README.md
Content-Type:
Date: Sun, 04 Jun 2023 02:03:38 GMT
Transfer-Encoding: chunked
# share.me
share.me is a basic file sharing tool
share.me can be configurated, it will look for a config in $HOME/.share.me.yaml
keep in mind that this location WILL change.
This file is a yaml file where you can set your default options.
For example setting a port here
port: 8080
will have for result that share.me will try to bind on port 8080 on startup
$ share.me share.me
Using config file: /home/palewhale/.share.me.yaml
addr: http://192.168.1.31:8080/
file: share.me