13 ms·
Copyparty – Turn almost any device into a file server
- aredox 1y agoI 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. *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#copypartyexe https://github.com/9001/copyparty?tab=readme-ov-file#copypar...
- 9029 1y agoI 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] [0] https://github.com/jart/cosmopolitan https://github.com/jart/cosmopolitan [1] https://ahgamut.github.io/2021/07/13/ape-python/ https://ahgamut.github.io/2021/07/13/ape-python/
- leobuskin 1y agoI 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 1y ago<subscribe>
- sull 1y agoon it
- collinmanderson 1y ago> It already has no deps Yes when I heard it was python I immediately checked the dependencies expecting a ginormous list and found basically nothing. Incredibly impressive, just a few "stolen" libs here: https://github.com/9001/copyparty/tree/hovudstraum/copyparty/stolen https://github.com/9001/copyparty/tree/hovudstraum/copyparty... Worth scrolling through util.py to see lots of hand-implemented code: MultipartParser, read_header(), read_socket_chunked(), html_escape(), atomic_move(), killtree ("still racy but i tried"), termsize(), etc https://github.com/9001/copyparty/blob/hovudstraum/copyparty/util.py https://github.com/9001/copyparty/blob/hovudstraum/copyparty... 6k loc for http server/client handling transferring files, rss feed, etc. See `def run(self)` for main request parsing. https://github.com/9001/copyparty/blob/hovudstraum/copyparty/httpcli.py https://github.com/9001/copyparty/blob/hovudstraum/copyparty...
- skibz 1y agoThe author of this tool uploaded a YouTube video demonstrating it a few days ago: https://www.youtube.com/watch?v=15_-hgsX2V0 https://www.youtube.com/watch?v=15_-hgsX2V0 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 1y agoIt's very impressive, particularly if you remember waking up to a failed download from the night before over dial-up.
- squarefoot 1y agoOne of those things of the past even old nostalgic greybeards like me do not miss at all.
- paulryanrogers 1y agoI 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.
- globular-toast 1y agoThe 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.
- pjerem 1y ago> BitTorrent was honestly more impressive to me than AI. Ah, the good old days. That’s because BitTorrent was immediately useful and empowering.
- cat-whisperer 1y agoI'm planning to use copyparty with Apple Shortcuts to sync my clipboards across devices - should make life a lot easier.
- visil 1y agoAbsolutely 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 1y agoHeh... 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 1y agoI'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 1y agoAnd 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 1y agoI don't think the idea is to put it on the global internet; just make it broadcast a wifi SSID.
- jjkaczor 1y agoAs 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...)
- akk0 1y agoCopyparty 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. [0] https://www.youtube.com/watch?v=15_-hgsX2V0 https://www.youtube.com/watch?v=15_-hgsX2V0
- zahlman 1y agoThe video BGM was quite familiar to me, as popularized by a certain former detective. (Those who don't assign that any special significance may nonetheless find it as royalty-free music from Dova-Syndrome: https://www.youtube.com/watch?v=kKg-aXVS1YI https://www.youtube.com/watch?v=kKg-aXVS1YI)
- pachouli-please 1y agoI 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
- __bax 1y ago..and with RSS feeds, very smart!
- sonar_un 1y agoYes! Bring back RSS
- monkmartinez 1y agoThis 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.
- justusthane 1y agoIf you think the readme is fun, check out the demo video! https://www.youtube.com/watch?v=15_-hgsX2V0 https://www.youtube.com/watch?v=15_-hgsX2V0
- gknoy 1y agoYou 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.
- Fuzzwah 1y agoThanks 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 1y agoIt 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 1y agoFrom 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!
- angry_octet 1y agoNo 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.
- neuroelectron 1y agoObviously, that is not this
- bakugo 1y agoIf 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 1y agoAccording to the author it was mostly written on the train with his phone, that could explain the terse naming.
- physicles 1y agoThis is a developer flex if I ever heard one
- tripdout 1y agoFWIW, it just had an XSS vulnerability fixed yesterday: https://github.com/9001/copyparty/security/advisories/GHSA-9q4r-x2hj-jmvr https://github.com/9001/copyparty/security/advisories/GHSA-9...
- jshprentz 1y agoFrom the README FAQ section: > i want to learn python and/or programming and am considering looking at the copyparty source code in that occasion > do not
- 1y ago
- sugarpimpdorsey 1y ago[flagged]
- actionfromafar 1y ago* Batteries included
- deleted 1y ago[deleted]
- akk0 1y agoDid you read the CoC? I do recommend reading it, it is quite a good one.
- neuroelectron 1y ago[flagged]
- fetzu 1y agoThe guy in the video sounded very Norwegian to me. Plus it’s fully auditable.
- deleted 1y ago[deleted]
- irusensei 1y agoI thought xenophobia was a bad in the year of our lord of 2025.
- teddyh 1y agoXenophobia is only ever bad against the wrong people. Against the right people, xenophobia is always lauded and encouraged.
- MostlyStable 1y ago>made in Norway I think you need to work on your accent recognition.
- dang 1y agoNo nationalistic flamebait on HN, please, regardless of what nation you have a problem with. https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html
- irusensei 1y agoI love seeing the term file server being used as opposed to "NAS". Its a server that serves files so its a file server!
- Artoooooor 1y agoIt will be useful for me, thank you for the info.
- justusthane 1y agoBesides 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/ https://fraidyc.at/ to the list.
- persolb 1y agoI 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.)
- srcreigh 1y agoTake 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.
- Shank 1y agoAs 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 1y agoFTP/SFTP support resuming file uploads
- sprinkly-dust 1y ago'rsync' used via a terminal emulator like Termux or Android's own Linux VM is also good for resuming partial file transfers.
- sunshine-o 1y agoIn 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 1y agoOhh 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 1y agoNot any longer, it seems. :/ Never mine, it's back now.
- aquova 1y agoI 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.
- vorgol 1y ago> into a file server 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 https://www.youtube.com/watch?v=15_-hgsX2V0
- bsenftner 1y agoIs anyone else have their antivirus alarms go off on visiting this repo's URL?
- echelon_musk 1y agoThis made me laugh and now I feel bad. Somehow I didn't expect HN users to be using antivirus software.
- bsenftner 1y agoWhen your corporate overlords insist on such things, one runs such things. And then some sites throw alarms.
- amlib 1y agoThe 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?
- bsenftner 1y agoNo, visiting their repo url triggers a port scan.
- theshrike79 1y agoVisiting a Github repo "triggers a port scan" is breaking news level stuff. Didn't happen.
- rasz 1y ago<somewhere around 2000> ZoneAlarm clearly popped a RED window saying the server is attacking me with PING requests. I am calling Internet Police.
- dmd 1y 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 1y agoI 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!
- wim 1y agoThis 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!
- 1970-01-01 1y agoLooks like another reinvention of the torrent.
- pi-rat 1y agoNo, it looks nothing like a reinvention of torrent.
- Pxtl 1y agoI 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.
- actinium226 1y agoFrom the "'frequently' asked questions > i want to learn python and/or programming and am considering looking at the copyparty source code > do not
- darkwater 1y agoThis 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.
- j-bos 1y agoIn the vid author says they started this pre useful LLMs (2019) on their phone.
- tripflag 1y agoHey 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.
- AtlasBarfed 1y agoThis 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.
- 1y ago
- johnisgood 1y agoThis is much more than just a file server. It looks pretty neat.
- j-bos 1y agoFrom 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.
- banku_brougham 1y agoThis is amazing, just amazing. I'm sure this fills important use-cases in my personal projects.
- kreco 1y agoCoincidentally, 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 1y agoDon't let others stop you. Pretend you never saw it
- kreco 1y agoThank you!
- m3kw9 1y agohe probably did this with 500 other file servers already in the wild.
- K2h 1y agoBj-skys.s3z - i havent heard in years. Excellent choice in the demo video and thanks for serving up on your nuc server! https://a.ocv.me/pub/demo/music/chiptunes/#af-bd94d434 https://a.ocv.me/pub/demo/music/chiptunes/#af-bd94d434
- throwawaylaptop 1y agoHalf 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?
- snovymgodym 1y agoYeah, 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.
- ckrailo 1y agoYup, 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 https://youtu.be/15_-hgsX2V0?t=889
- sureglymop 1y agoReally 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).
- Snacklive 1y agoSaw the demo video on YouTube today. Almost made me rent a cheap vps with lots of storage just to run it
- asimovDev 1y agoI'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
- ratbum 1y agoI 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 1y agoI 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
- adityamwagh 1y agoI 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]. [0]: https://github.com/n0-computer/sendme https://github.com/n0-computer/sendme [1]: https://www.iroh.computer/ https://www.iroh.computer/
- hhkkll 1y ago[dead]
- cirelli94 1y agoWow sick loading animations https://a.ocv.me/pub/demo/ https://a.ocv.me/pub/demo/ !!!
- eadmund 1y agoFrom https://github.com/9001/copyparty/blob/hovudstraum/docs/versus.md https://github.com/9001/copyparty/blob/hovudstraum/docs/vers... (kudos for doing this, BTW!): > seafile … and nextcloud … their license is problematic There’s nothing problematic about the AGPL, really. It protects users. It protects developers against someone taking over their projects. The only people it bothers are those who wish to take a free software project and integrate with an unfree one. That seems like a feature to me!
- poulpy123 1y agoWow that nasty. I didn't click on the links because I thought it was one of these weird licences that pretend to be open source but are actually sketchy, but it's actually the very normal and very open source AGPL.
- matheusmoreira 1y agoIt's a huge feature. It won't prevent forks but it will stop corporations from making proprietary enhancements for SaaS. They have to publish the source code. I even emailed Stallman about it. The only way to make a proprietary version of an AGPLv3 project is to pay the original copyright holders for a special proprietary licensing deal, thereby supporting its development. Forks don't have the same privilege.
- dsego 1y agoHow does it compare to Caddy?
- 3abiton 1y agoThis is amazing, and somehow the "wapkthrough" video is super fun. Super kudos.
- ProtoAES256 1y agoThis is Awesome! I had been using serverultimate on my phone for a few years, and recently limitations made the port binding not work anymore. Copyparty using termux on Android worked amazing!
- tamat 1y agothis guy protocols
- Ringz 1y agoDon’t get me wrong, but that one person is part time developing this magnificent peace of software with his smartphone commuting in the bus is another proof that Python is a great programming language.
- deleted 1y ago[deleted]
- aanet 1y agoJust learnt about this awesome tool. Now it's on all my systems. :-) Thanks!
- HelloUsername 1y agoWith a VPN on (Mullvad), https://a.ocv.me/pub/demo/ https://a.ocv.me/pub/demo/ returns 403 Forbidden nginx
- skrebbel 1y agoI am unreasonably happy about the "Activate Windows" watermark on the demo server (https://a.ocv.me/pub/demo/ https://a.ocv.me/pub/demo/)
- awkwabear 1y agoDamn wow I really need to make up a reason to use this.
- Permik 1y agoI'll take this out for a ride with my friends at the Assembly Demoparty, let's see if it holds up!