So I was browsing on the YouTubes the other day, and found a weird graphic show up right smack dab in the middle of my "Suggestions" page.
This tool is called "copyparty" and although an odd name, holy cow does it have everything including the kitchen sink.
It's a file hosting package that not only offers HTTP/HTTPS access with stupid-simple upload and download mechanisms, but supports ancient browsers (Going back to IE6) up to modern literally released today common browsers, acts as a WebDAV server, mount network shares via the internet using the WebDAV protocol, and has built in FTP/FTPS (Not SFTP) access. User access is controlled by a file with either clear text or one-way encrypted passwords, or by LDAP, or whatever other service you can use for authentication.
I'm completely and totally blown away (That doesn't happen all that often, but I'll admit, 2024 with ChatGPT and what it started with and ended up with so far had me cooing like crazy, and now this)
The best part? It's all in ONE PYTHON script.
Watch the YT video. It's so much better than tinkering with Apache if you just need a file server.
- You can make a public web file server JUST by running the script
- With modules, you can play ANY kind of media. I was playing MK4 via a WebDAV mounted drive (He's got a read only demo server you can toy with)
I'm currently running the tool on one of my Portainer servers as an application (I log into the server, run this script and put it in the background. if I close the window, it goes away), but it's easy to run as a systemd service if you want. The main goal right now for me is that I'm playing around with Semaphore with the code on the Portainer instance to get some Ansible scripts written for Semaphore so I can keep going at building my Home Lab as IAC. Before I was using WinSCP and it was a pain. But now? I mount the drive as a WebDav, and I can run my Windows git commands as if I was running them on the Linux Portainer instance and do my coding within VSC. And all I had to do was run a script and figure out the CLI parameters (Which can go into an ini-like config).
Worth a shot if you want to play!