[-] tripflag@lemmy.world 3 points 1 week ago

sooo this is one of the things that started with someone saying "wouldn't it be funny if..."

if you open copyparty-sfx.py in a text editor, you'll see how -- but please make sure to use an editor which is able to handle about 600 KiB of comments which contain invalid utf8 / binary garbage 😁

I ended up rolling my own packer since I wanted optimal encoding efficiency, and everything I could find would do stuff like base85 or ucs2 tricks, but it turns out python is perfectly happy with binary garbage in comments if you declare that the file is latin-1 so it realizes all hope is lost :D

the only drawback of the sfx.py is that it needs to extract to $TEMP before running, so that's the slight advantage of the zipapp (the .pyz alternative), but that suffers from some performance reduction in return, and is more hermetic (doesn't let you swap out the bundled dependencies with fresh versions as easily if necessary)

[-] tripflag@lemmy.world 3 points 1 week ago

BTRFS and ZFS support real deduplication via copy on write, and would eliminate all current disadvantages of symlink and hardlink deduplication. It just works.

yeah that's a good point, I'll add an option to take advantage of this if you know you're running on a filesystem where that works as intended.

Why have it be one huge python source file?

oh don't worry, it's all separate files during development -- there's a build-stage which bundles everything up into a single file for distribution. But thanks for the concern :D

[-] tripflag@lemmy.world 4 points 1 week ago

SFTP is not currently on the roadmap, but it's not entirely implausible.

FTPS is supported, but it requires an optional dependency to be installed (pyopenssl), so it's not available in the Windows EXE. And I just realized that the dependency is currently not present inside the docker images either, so I'll get that fixed right away.

104

I made a video about copyparty, the selfhosted fileserver I've been making for the past 5 years.

The main focus of the video is the features, but it also touches upon configuration. Was hoping it would be easier to follow than the readme on github... not sure how well that went, but hey :D

This video is also available to watch on the copyparty demo server, as a high-quality AV1 file and a lower-quality h264.

[-] tripflag@lemmy.world 19 points 2 months ago* (last edited 2 months ago)

It depends who you ask (which we can already tell hehe), but I'd say YES, because you're the one running the show -- you're free to grab all of your bits and pieces at any time, and move to a different provider. That flexibility of not being locked into one specific cloud service (which can suddenly take a bad turn) is what's precious to me.

And on a related note, I also make sure that this applies to my software-stack too -- I'm not running anything that would be annoying to swap out if it turns bad.

[-] tripflag@lemmy.world 8 points 3 months ago

Mind if I suggest my own software, copyparty?

Regarding authentication, someone who has an account (in this case just yourself) can create password-protected shares which other people can browse, or upload, or browse+upload to (configurable when creating the share).

There is WebDAV support, and it should integrate well enough with shares, but I haven't tested that specifically.

It has photo and video thumbnails, and a basic image-viewer, and with some elbow-grease it can also show exif-tags (gps-coordinates etc).

There is also optional file dedup, so if two people upload the same file, it'll detect and skip that during the 2nd upload (doesn't waste any bandwidth) and swap out the new file with a symlink to the existing one. Default disabled to avoid surprising someone with symlinks.

I think the following command would be enough to get you started:

wget https://github.com/9001/copyparty/releases/latest/download/copyparty-sfx.py
python3 copyparty-sfx.py -a sintan:yourpassword -v .::A,sintan --shr=/shr -e2dsa -e2ts

but since that's entirely unreadable, you can do it with a config file instead,

[global]
  e2dsa  # enable filesystem indexing 
  e2ts  # enable media indexing (music tags)
  shr: /shr  # enable shares under this url

[accounts]
  sintan: yourpassword 

[/]  # create a volume at this url
  /srv/share/partypics  # the filesystem path to share
  accs:
    sintan: A  # give sintan read-write-move-delete-admin

and use it like this:

python3 copyparty-sfx.py -c the.conf

there's another example here and here for inspiration.

[-] tripflag@lemmy.world 5 points 3 months ago

combine it with a service for uploading files to your server, there's dozens of those

[-] tripflag@lemmy.world 3 points 4 months ago

Absolutely; if I was a company, or hosting something important, or something that was intended for the general public, then I'd agree.

But I'm just an idiot hosting whimsical stuff from my basement, and 99% of it is only of interest for my friends. I know ~everyone in my target audience, and I know that none of them use a VPN for general-purpose browsing.

As it is, I don't mind keeping the door open to the general public, but nothing of value will be lost if I need to pull the plug on some more ASN's to preserve my bandwidth. For example when a guy hopping through a VPN in Sweden decides to download the same zip file thousands of times, wasting terabytes of traffic over a few hours (this happened a week ago).

[-] tripflag@lemmy.world 2 points 5 months ago

You may encounter some confusing errors with MergerFS; depending on your config, any software using SQLite may crash with a scary-sounding "disk I/O error". The quickstart has more info, https://trapexit.github.io/mergerfs/quickstart/

[-] tripflag@lemmy.world 2 points 5 months ago

for a selfhosted service which is a single self-contained process in a single container, is there still a benefit to using compose, and if so, what would that be? genuine question since I'm not providing a compose example for a foss service I made.

[-] tripflag@lemmy.world 5 points 1 year ago

I'm sorry to say it's a bit of very old-fashioned php that's in charge of all that xD

I've modified it to print its own source code if you append ?dat=sauce to the URL, and I'll try to answer questions if I can remember how it worked :-)

[-] tripflag@lemmy.world 7 points 1 year ago

oh good, that's just reader-mode mangling the TOC. Those are supposed to be clickable links to jump to the relevant section. Firefox's reader-mode does a better job by not rendering the TOC at all. Thanks for the scare hehe

[-] tripflag@lemmy.world 6 points 1 year ago

Hey! Website author here :>
Curious about the SEO garbage you're seeing because that's not coming from me. Could you post an example? Are you using any shady VPN's or anything like that?

view more: next ›

tripflag

joined 2 years ago