An personal fileserver for quickly sharing files with (and receiving files from) other computers on your network. More specifically, it is a small web server that exposes the files in the current directory and/or allows uploads to the same directory.
- Me: Sarah, can you send me that 100MB zip of those log files?
- Sarah: Sure, I'll attach it to an email
- Me: Um, our email system doesn't allow attachments over 10MB
- Sarah: OK, do you have a flash drive?
- Me: No, that's such a pain.
- (I start mypfs)
- Me: Here, open your browser to
http://<my-internal-ip-address>:8080
, enter this username when requested, and upload the file - (30 seconds later)
- Sarah: That was easy.
- mypfs provides an HTTP web interface to upload/download files to/from the current directory
- access to the web interface requires a username that is randomly generated during server startup (a password is not needed)
- runs on the command-line
- during startup you can specify upload, download, or accept the default of both
- server will run for 10 minutes (default), then exit -- (this is a security feature which gives enough time to exchange files and yet protect you if you forget to shut it off)
mypfs --timeout=5 --port=8888
(both upload and download)mypfs -t5 -p8888 download
(just download)mypfs upload
(just upload)mypfs --insecure
(wide open to anyone)
- download executable for your platform ( windows, osx, linux )
- place executable somewhere in your path
- navigate to the directory with files you want to share
- run
mypfs
- share URL and generated username with person you need to exchange files with.
- mypfs will work over the internet only if your computer has a public IP address or you have port-forwarding setup on your router.
- run mypfs in a small directory, never the root or home directory
- avoid use on a public network (like a coffeeshop) until more security features are added
- avoid extending the timeout unless you totally trust your network
- shut it down after you have exchanged files
- 0.9.4 listens on IPV4 addresses (no IPV6... couldn't get both); startup displays URL to share
- 0.9.3 secret username is now optional with the --insecure (-k) flag
- 0.9.2 a secret username is generated -- required to access the site
- 0.9.1 log to standard out when someone downloads or uploads a file
- 0.9.0 first release
- add parameter with directory to be served i.e.
mypfs upload /tmp/share
- on the web pages, show time remaining until server shuts down
- instead of exiting after timeout, show a "timeout" page
- support https (easy with GoLang, just not sure it will be used)
- limit uploads to a configurable amount