At one point in his demo, he uploads a file but terminates the upload more or less halfway. Then he begins downloading the file - which only progresses to the point it had been uploaded, and subsequently stalls indefinitely. And, finally, he finishes uploading the file (which gracefully resumes) and the file download (which is still running) seamlessly completes.
I found that particularly impressive.
nkrisc · 16h ago
It's very impressive, particularly if you remember waking up to a failed download from the night before over dial-up.
paulryanrogers · 14h ago
I recall we had special apps to queue and schedule our downloads, and resume them where servers supported it. They were a dream compared to the boredom of staring at progress bars.
henry700 · 11h ago
Anyone remember DAP, Download Accelerator Plus? The colorful bars were nice. A part of my childhood, downloading shareware Windows games through dial-up.
robotbikes · 4h ago
I remember that...
Datagenerator · 12h ago
The server that has moved countless Petabytes is glFTPd that allows FXP ( clients without bandwidth can initiate to transfer files from server to server ).
kstrauser · 10h ago
That’s a built-in feature of FTP that doesn’t require server support.
2. Tell B to receive a PASV transfer. It replies with the IP address and port it's receiving on.
3. Tell A to send to that address and port.
This is documented in RFC 959, starting with
"In another situation a user might wish to transfer files between two hosts, neither of which is a local host."
globular-toast · 12h ago
The trouble is those special tools also needed downloading. So I could either sacrifice an evening's, ahem, download, or just chance it yet again. I eventually got an FTP client and it was like a superpower. BitTorrent was honestly more impressive to me than AI. Ah, the good old days.
squarefoot · 15h ago
One of those things of the past even old nostalgic greybeards like me do not miss at all.
therein · 1h ago
I remember redownloading Liero over and over again and failing. And then cherishing it once getting a successful download. It would barely fail to fit into a floppy.
aitchnyu · 1h ago
Amateur. Use Flashget or Netants which download the file in 8 simultaneous chunks. I used to cheer the threads on last legs of a whopping 5m download. I hated servers which dont allow resume or even report file size.
MisterTea · 13h ago
Most files were available via FTP which supported resume.
henry700 · 11h ago
Not most. There was (and still is) so much locked behind HTTP on poor servers
supportengineer · 11h ago
FTP can't restart a PPP or SLIP connection.
keysdev · 5h ago
Magic of http 206 ?
yoavm · 13h ago
I really didn't think I need this software but the video is so good that I'm gonna try hard to find a use case.
jonny_eh · 14h ago
Could be useful when launching a Doom shareware release.
paxys · 15h ago
Sounds like...BitTorrent.
reactordev · 14h ago
Or… proper adherence to HTTP RFCs… with some added devx
01HNNWZ0MV43FF · 14h ago
Sound like BitTorrent needs better PR then
floam · 16h ago
“Race the beam”
That’s really cool. I’ve never seen that work before.
anthk · 10h ago
You might like NNCP which was written precisely to support severely constrained or even cut down down networks.
amelius · 8h ago
It would be even more impressive if he rebooted the server in the meantime.
anthk · 1h ago
NNCP supports that.
ratbum · 1h ago
I use this as a music player for my ancient ipad in my kitchen. It’s ugly but nothing else worked; the dev even changed it a bit to help me out
p0w3n3d · 1h ago
I remember the horror I had to go through to upload my ripped dvds to iPad for kids to watch. We had to setup an http server for the vlc to download the files to its data storage
I also like SendMe [0]. I’ve used it to share files between local PC and server sometimes. And also to send large files to friends without cloud links. It’s written in Rust and based on iroh p2p library [1].
This is the wet dream of every power-user. It has tons of features on top of the file server.
And it also seems developed by a 10x (100x?) developer, I mean, just making/editing the video is a work of art and humor.
If the author is lurking here, are you doing all by yourself? Do you use any LLM/agent?
It really is impressive.
tripflag · 10h ago
Hey o/
Yup, this is 97% just me hacking away in vscode -- I use pylance and the debugger but have everything else disabled, easier to focus that way. The only time I use any sort of AI/LLM is for translating new strings into Chinese, since it seems decently capable at that :-)
The remaining 2% is friends coming up with new usecases/features, and sometimes finding bugs.
But now that the project got way more attention than I'd anticipated, pullrequests have started appearing, so it doesn't look like those statistics will stay true for much longer! Really cool having more eyes on it spotting the things I overlooked, really enjoying that.
yougotwill · 2h ago
Been using copyparty for 2 years now. It’s awesome tech and just want to say thank you for your work tripflag!
esseph · 5h ago
I noticed on the demo server you had some ansi art on there.
Were you a part of the efnet ansi/ascii scene?
There's still some of us floating around!
Great project btw, nice work!
AtlasBarfed · 8h ago
This is great stuff.
The only thing I'd like is some way to run it behind a cgnat. I was on starlink and I'm on an 5g device now.
If there was a way to integrate with Google drive mega Dropbox, githubs etc where I could drop a file list request document one of those services, and your server is pinging that (intermediate) storage service, detects the file listing request or file push request, or file upload request doc, and then does it.
I know each of those is an integration headache but man that would be useful.
Ok so GitHub has a built in markdown editor, so the request docs could be markdown templates. Or maybe static html/js files that generate markdown request docs, and file listing responses can be markdown or more static html docs.
zolland · 6h ago
Why don't you relay traffic through another node on say AWS or Hetzner using Wireguard?
opan · 6h ago
Does magic-wormhole work from behind CGNAT?
j-bos · 11h ago
In the vid author says they started this pre useful LLMs (2019) on their phone.
akk0 · 16h ago
Copyparty is an amazing piece of software. I recommend watching the recent YouTube video for an overview[0]. The developer is a personal friend and my household is proud to own one of 20 limited edition copyparty disc releases.
In addition to being an awesome piece of software, their self hosted demo server is the fastest web app I have seen in a long time ... and this is while trending on HN !
Amazing.
Now I am wondering, would it be technically possible to build a similar app but based on the syncthing protocol?
I really like syncthing but it would be cool to have a version where you could just easily share specific files with peers.
sureglymop · 6h ago
Ohh that would be cool! Love syncthing but I wish the relay and discovery servers would be part of the same/main syncthing binary.
I've also seen quite a few semi-technical youtubers make videos about it but not mentioning that it uses public relay and discovery servers usually by default (but maybe that depends on the distro). It's not a bad thing but something one should know before using it.
sajb · 2h ago
Not any longer, it seems. :/
Never mine, it's back now.
dmd · 12h ago
[starts watching video] Ok cool it's a file browser, there's a million of the---s----e
[keeps watching video] what the fuck
xarope · 2h ago
I thought I was going to be rick-rolled, but the video is actually very good, and if the functionality is as described, well then hats off to the creator of copy party. Fantastic work!
visil · 16h ago
Absolutely amazing piece of software, the kind that makes you wish you had a use-case for that. Kudos to devs for taking security seriously, too.
By the way, the youtube video showcases this project really well.
jjkaczor · 16h ago
Heh... I have one... have always wanted to make a little solar-powered "library" on my front-lawn...
(You know, like the neighbourhood "take-a-book, leave-a-book" little libraries, except for... digital content... It would fly an appropriate "skull + crossbones" flag...)
alias_neo · 16h ago
I've wanted to do something like this, but I live within WiFi range of a school and am concerned someone would put something "harmful" on there so have never done so.
I created a PirateBox on a little GliNet router a while back with the intention of sharing public domain content but didn't do so beyond having a quick play around with it myself.
NKosmatos · 16h ago
And like most things nowadays, it would get filled with highly illegal content within hours of you putting it there. The good old (innocent) days are gone and the society we’re living is not mature/educated enough for such ideas.
pkulak · 15h ago
I don't think the idea is to put it on the global internet; just make it broadcast a wifi SSID.
jjkaczor · 15h ago
As others have said - it would be standalone, not connected to the internet.
Have debated making it "read-only", but then I would be culpable for the curation of content...
That and perhaps I just don't want to encourage people loitering around in front of my house for long-transfers...
OTOH - this could be useful for essentially a "dead-drop" independent standalone box for, uh... "civil disobedience" reasons... (or a free alternative to those "prepper-internet-in-a-box" devices they are currently selling...)
echelon_musk · 12h ago
It would still be physically located on your property with potentially illegal content on it. Sounds like a nightmare.
jjkaczor · 10h ago
... well, I live in Canada - my understanding is that the maximum lifetime fine for copyright infringement is about $5,000 when files are shared for personal, non-commercial use...
Which sounds like alot, but if we factor in the extended family and cross-media sharing and the number of separate streaming services we all subscribe to across many many years, then this is a "deal"...
OTOH - I don't want to be the first case/person to help determine what precedent will be set if something actually gets taken to the end-state statutory damages..
sfilmeyer · 7h ago
On the spectrum of illegality, things can get a lot more extreme than a bit of copyright infringement.
aspenmayer · 9h ago
Check this out. This was at one point one of the cheapest and smallest Linux computers around. It’s USB powered and this project turns a WiFi device designed to share photos from an SD card over a standalone SSID into a male USB A powered miniature SBC. (Edit: okay it’s two PCBs technically)
Maybe I'm misunderstanding something, but wouldn't this work great (albeit huge overkill) for the extremely common problem of trying to get files from one device to another (especially when one of those devices is a phone)? I see tools that are supposed to do that posted to HN all the time, with the comments usually pointing out one or another problem with any given utility. This seems like it would be pretty great self hosted, open source, solution to that problem?
3036e4 · 31m ago
Termux and python -m http.server. I use that embarrassingly often, except for cases where I can just use scp or rsync (e.g. between two Android devices that both have Termux installed and I have bothered to copy the public ssh key from one to the other).
mhuffman · 14h ago
I have been having a lot of luck with Blip[0] recently regarding phone <-> laptop file transfer. My biggest issue so far is that it does support iOS, Android, MacOS, Windows ... but not Linux.
Resumable, can queue, send directories, drag & drop, LAN (without account) & WAN (hybrid p2p), all transfers + metadata are e2ee. Linux, Windows, Mac, iOS, Android.
Disclaimer: I’m the creator
brewtide · 11h ago
If you have not tried "localsend" I would highly recommend.
wintermutestwin · 12h ago
?? Airdrop works well.
ZeWaka · 11h ago
Not everyone uses Apple products.
aquova · 13h ago
I have never heard of this before, but watching through their Youtube introduction, this might be one of the best pieces of software I've ever seen. Assuming it works as advertised, this could replace a few things I've been hosting myself.
j-bos · 11h ago
From the introductory video: "There is no telemetry and their never will be. Not even an auto-updater". And yet this is one of the most feature-full projects I've ever seen. Brilliant.
srcreigh · 14h ago
Take a look at the known issues section regarding iPhones. It’s good evidence of apples non competitive behaviour regarding browser support. PWA/websites are not allowed to be good on iPhones.
asimovDev · 1h ago
I've wanted to have local image and video hosting for a long time, this came at the right time. I saw the video on my YouTube front-page yesterday and enjoyed it a lot. Absolutely amazing project, my hat's off to the creator
monkmartinez · 15h ago
This is awesome. The readme is fun as heck and I just want to use the software based on that. I see nothing but complaints about nextcloud and others on r/selfhosted. I can't wait to try this out.
Fuzzwah · 11h ago
Thanks for the tip, I really did enjoy my scroll of the readme. This bit here really tickled me and set expectations so well:
> inverse linux philosophy -- do all the things, and do an okay job
amlib · 38m ago
It even plays freaking chiptunes lol
Seriously considering replacing my navidrome/subsonic service and try my music library trough this. I used to play music straight from the directory tree a long time ago anyway, this might feel right at home.
shrinks99 · 2h ago
From the readme:
> NOTE: full bidirectional sync, like what nextcloud and syncthing does, will never be supported! Only single-direction sync (server-to-client, or client-to-server) is possible with copyparty
Worth noting that if you're considering using Nextcloud this may be a dealbreaker... But if it's not, I would also recommend not using Nextcloud!
You weren't kidding. I was amused by the humor in the first few minutes, but then I got to its showcase of what you can do, and am just even more blown away. They weren't kidding about doing _just about everything_ pretty well.
sureglymop · 6h ago
Really cool! I wish it also had some better support for books so one could replace calibre web.
For example, access over OPDS, which one could then configure as the store backend on Kobo eReaders (yes, that's possible).
angry_octet · 15h ago
No deps is great, but what I'm looking for is no bugs, authentication and encryption. I want features turned off by default, configs tight as a drum.
Fuzzwah · 11h ago
This section of the readme really sets the expectation clearly:
> inverse linux philosophy -- do all the things, and do an okay job
> - quick drop-in service to get a lot of features in a pinch
> - some of the alternatives might be a better fit for you
If you're looking for security and stability, I would personally avoid this.
I took a glance at the code and it's... not great. It's absolutely full of short, meaningless 1-2 letter variable and function names that make it very hard to read and understand if you're not the original author. Wouldn't be surprised if it's full of security holes that will never be found.
snerbles · 12h ago
According to the author it was mostly written on the train with his phone, that could explain the terse naming.
physicles · 11h ago
This is a developer flex if I ever heard one
jshprentz · 11h ago
From the README FAQ section:
> i want to learn python and/or programming and am considering looking at the copyparty source code in that occasion
Half techie guy here with basic question. Could I run this on an old android phone sitting on a shelf with a large minisd card in the slot and call it a day?
ckrailo · 2h ago
Yup, here's a timestamp to the intro video where the author says it was "made for termux, born in termux": https://youtu.be/15_-hgsX2V0?t=889
snovymgodym · 5h ago
Yeah, I'm fairly certain you could run it on an android device using termux.
You'll likely need to root the phone to get the OS not to kill the termux process due to idleness though.
irusensei · 14h ago
I love seeing the term file server being used as opposed to "NAS". Its a server that serves files so its a file server!
Snacklive · 3h ago
Saw the demo video on YouTube today. Almost made me rent a cheap vps with lots of storage just to run it
pachouli-please · 16h ago
I pop this up at an annual lan party amongst friends and its always a hit. Easy to use, easy to run, jam-packed with features
actinium226 · 11h ago
From the "'frequently' asked questions
> i want to learn python and/or programming and am considering looking at the copyparty source code
I'm planning to use copyparty with Apple Shortcuts to sync my clipboards across devices - should make life a lot easier.
Shank · 14h ago
As someone who has tried and failed to upload 2gb files on mobile data, only for the upload to fail at the last minute, this genuinely makes me want to play with it. There aren’t a lot of good drop-in solutions like this.
0xbadcafebee · 12h ago
FTP/SFTP support resuming file uploads
sprinkly-dust · 1h ago
'rsync' used via a terminal emulator like Termux or Android's own Linux VM is also good for resuming partial file transfers.
aredox · 16h ago
I saw "Python" and was going to comment a completely stand-alone* executable would be simpler, and then I scrolled and holy moly, there are a lot of features there! It would be quite some work to redo it in another lang.
I wonder if cosmopolitan libc[0] could be leveraged to create an actually portable executable™ without a rewrite, looks like someone has figured out compiling python 3.11.4 with it[1]
I have a small/insane project of mine, I wrote a compiler for Python (strict and static subset only) to WebAssembly (bc-to-bc approach, 1:1 CPython compat due to walking internals), than I do wasm2c to sandbox it + pledge and compiling with cosmopolitan into a miniature standalone thing (fast as hell). Just because you have zero dependencies and it's a pure Python and properly typed, lemme try next weekend as PoC. No promises, but this message clicked in my heart
noman-land · 12h ago
<subscribe>
justusthane · 14h ago
Besides being useful, this just seems fun as heck after watching the demo video. I'm curious if folks have examples of other similarly fun/whimsical (but still useful!) software. I would submit https://fraidyc.at/ to the list.
persolb · 5h ago
I really like this idea; I’ve made crappy versions myself a few times…. Maybe this one will stick.
(For others, it’s a method to follow people across multiple services without being a normal feed. A person who updates only shows up once.)
bsenftner · 12h ago
Is anyone else have their antivirus alarms go off on visiting this repo's URL?
amlib · 30m ago
The main distribution file for this project consists of a python file that embeds multiple python files inside itself encoded as a binary bitstream in a bespoke archive format attached to the end of the file. Maybe this is triggering your AV heuristics?
echelon_musk · 12h ago
This made me laugh and now I feel bad. Somehow I didn't expect HN users to be using antivirus software.
bsenftner · 9h ago
When your corporate overlords insist on such things, one runs such things. And then some sites throw alarms.
wim · 12h ago
This is awesome! The demo is really fun, nostalgic 90s vibes, it even lets me play chiptunes :). Keeping all dependencies optional and just making it a single file is great too!
banku_brougham · 10h ago
This is amazing, just amazing. I'm sure this fills important use-cases in my personal projects.
Artoooooor · 14h ago
It will be useful for me, thank you for the info.
kreco · 8h ago
Coincidentally, I started to do media server similar to this 3 days ago.
I just want to serve any folder, then be able to download a file and watch videos with a decent video player.
Now I feel like crap seeing how amazing this project is.
chickenzzzzu · 2h ago
Don't let others stop you. Pretend you never saw it
johnisgood · 11h ago
This is much more than just a file server. It looks pretty neat.
Pxtl · 11h ago
I have a decent library of ebooks and music albums I (legally!) purchased from myriad sources. This sounds like the perfect solution to get that properly onto my LAN in an accessible form.
At one point in his demo, he uploads a file but terminates the upload more or less halfway. Then he begins downloading the file - which only progresses to the point it had been uploaded, and subsequently stalls indefinitely. And, finally, he finishes uploading the file (which gracefully resumes) and the file download (which is still running) seamlessly completes.
I found that particularly impressive.
Edit: Source: https://en.wikipedia.org/wiki/File_eXchange_Protocol#Technic...
1. You connect to servers A and B.
2. Tell B to receive a PASV transfer. It replies with the IP address and port it's receiving on.
3. Tell A to send to that address and port.
This is documented in RFC 959, starting with
That’s really cool. I’ve never seen that work before.
This is underselling it by at least three orders of magnitude. This is astonishing tool, you have to watch the demo video: https://www.youtube.com/watch?v=15_-hgsX2V0
[0]: https://github.com/n0-computer/sendme
[1]: https://www.iroh.computer/
If the author is lurking here, are you doing all by yourself? Do you use any LLM/agent?
It really is impressive.
Yup, this is 97% just me hacking away in vscode -- I use pylance and the debugger but have everything else disabled, easier to focus that way. The only time I use any sort of AI/LLM is for translating new strings into Chinese, since it seems decently capable at that :-)
The remaining 2% is friends coming up with new usecases/features, and sometimes finding bugs.
But now that the project got way more attention than I'd anticipated, pullrequests have started appearing, so it doesn't look like those statistics will stay true for much longer! Really cool having more eyes on it spotting the things I overlooked, really enjoying that.
Were you a part of the efnet ansi/ascii scene?
There's still some of us floating around!
Great project btw, nice work!
The only thing I'd like is some way to run it behind a cgnat. I was on starlink and I'm on an 5g device now.
If there was a way to integrate with Google drive mega Dropbox, githubs etc where I could drop a file list request document one of those services, and your server is pinging that (intermediate) storage service, detects the file listing request or file push request, or file upload request doc, and then does it.
I know each of those is an integration headache but man that would be useful.
Ok so GitHub has a built in markdown editor, so the request docs could be markdown templates. Or maybe static html/js files that generate markdown request docs, and file listing responses can be markdown or more static html docs.
[0] https://www.youtube.com/watch?v=15_-hgsX2V0
Amazing.
Now I am wondering, would it be technically possible to build a similar app but based on the syncthing protocol?
I really like syncthing but it would be cool to have a version where you could just easily share specific files with peers.
I've also seen quite a few semi-technical youtubers make videos about it but not mentioning that it uses public relay and discovery servers usually by default (but maybe that depends on the distro). It's not a bad thing but something one should know before using it.
Never mine, it's back now.
[keeps watching video] what the fuck
By the way, the youtube video showcases this project really well.
(You know, like the neighbourhood "take-a-book, leave-a-book" little libraries, except for... digital content... It would fly an appropriate "skull + crossbones" flag...)
I created a PirateBox on a little GliNet router a while back with the intention of sharing public domain content but didn't do so beyond having a quick play around with it myself.
Have debated making it "read-only", but then I would be culpable for the curation of content...
That and perhaps I just don't want to encourage people loitering around in front of my house for long-transfers...
OTOH - this could be useful for essentially a "dead-drop" independent standalone box for, uh... "civil disobedience" reasons... (or a free alternative to those "prepper-internet-in-a-box" devices they are currently selling...)
Which sounds like alot, but if we factor in the extended family and cross-media sharing and the number of separate streaming services we all subscribe to across many many years, then this is a "deal"...
OTOH - I don't want to be the first case/person to help determine what precedent will be set if something actually gets taken to the end-state statutory damages..
https://github.com/Emeryth/openwrt-zsun
https://wiki.hackerspace.pl/projects:zsun-wifi-card-reader
I got them in bulk from China for ~$6 each.
[0]https://blip.net/
Resumable, can queue, send directories, drag & drop, LAN (without account) & WAN (hybrid p2p), all transfers + metadata are e2ee. Linux, Windows, Mac, iOS, Android.
Disclaimer: I’m the creator
> inverse linux philosophy -- do all the things, and do an okay job
Seriously considering replacing my navidrome/subsonic service and try my music library trough this. I used to play music straight from the directory tree a long time ago anyway, this might feel right at home.
> NOTE: full bidirectional sync, like what nextcloud and syncthing does, will never be supported! Only single-direction sync (server-to-client, or client-to-server) is possible with copyparty
Worth noting that if you're considering using Nextcloud this may be a dealbreaker... But if it's not, I would also recommend not using Nextcloud!
For example, access over OPDS, which one could then configure as the store backend on Kobo eReaders (yes, that's possible).
> inverse linux philosophy -- do all the things, and do an okay job > - quick drop-in service to get a lot of features in a pinch > - some of the alternatives might be a better fit for you
This includes a link to this doco in the repo which is an incredible source of info: https://github.com/9001/copyparty/blob/hovudstraum/docs/vers...
I took a glance at the code and it's... not great. It's absolutely full of short, meaningless 1-2 letter variable and function names that make it very hard to read and understand if you're not the original author. Wouldn't be surprised if it's full of security holes that will never be found.
> i want to learn python and/or programming and am considering looking at the copyparty source code in that occasion
> do not
You'll likely need to root the phone to get the OS not to kill the termux process due to idleness though.
> i want to learn python and/or programming and am considering looking at the copyparty source code
> do not
*It already has no deps
Great job there. A nice tool you've made.
Edit: already adressed: https://github.com/9001/copyparty?tab=readme-ov-file#copypar...
[0] https://github.com/jart/cosmopolitan
[1] https://ahgamut.github.io/2021/07/13/ape-python/
(For others, it’s a method to follow people across multiple services without being a normal feed. A person who updates only shows up once.)
Now I feel like crap seeing how amazing this project is.