Signal
Selfhosted
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
No trolling.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
My solution is scp with termux. I can't suggest any better alternative.
I'm not sure if there's one the best tool, depending on a case, I use mix of
- scp
- localsend
- croc
- https://github.com/dutchcoders/transfer.sh
- https://github.com/stonith404/pingvin-share
- pbcli (pastebin)
- I also have a script that sends me mail with files attached
Open source file manager Material Files lets you set an SSH server as a bookmark and mount it instantly. Moving files around just like like it's native. Works seamlessly through Tailscale.
rsync -avr --progress
in termux or a file explorer app built on top of scp or rsync. It doesn't work like your use-case, but I've been happy with it.
I didn't see it mentioned yet, so I'll throw warpinator in the ring.
Clients are available for Linux, Windows, Android: https://warpinator.com/
I'm using a selfhosted pastebin (microbin) as sometimes I want to transfer text, other files... It's very efficient and in my instance it's using 13MB of RAM, which is fairly lightweight for modern standards
This is super-cool, just a shame it's unmaintained.
This sounds great. Thanks.
sftp
KDE Connect as another uas suggested.
Only buggy issue I have is that I use a VPN on my phone to access my local network when away from home. I have the VPN set up with Hairpinning so I don't have to disconnect from the VPN while at home which occasionally causes issues on my steam deck as the version of KDE Connect on the steam deck does not appear to have an easy way to connect to device via IP. On my desktop and laptop I run Pop!_OS and use GS Connect which gives me an option to connect to device via IP so I have less issues with my phone just randomly not appearing on those computers.
Honestly, termux is the easiest:
- Unison
- Rsync
- Git
If unison you need some fiddling, here from my wiki:
It can be compiled on termux though ((https://github.com/termux/termux-packages/issues/129#issuecomment-1383006456)) and it's totally painless
> You can also compile a static binary yourself in Termux. I was first using the sshfs workaround, but it was too slow for very large folders. I ended up doing the following steps to get the latest unison version (which also has backward/forward compatibility) so that I can directly use unison with ssh. It also works without proot:
- Install a proot distro, e.g. alpine:
* ''proot-distro install alpine''
* ''proot-distro login alpine''
* ''apk update && apk add ocaml musl-dev''
- Download the latest release source code, e.g.:
* ''wget https://github.com/bcpierce00/unison/archive/refs/tags/v2.53.0.tar.gz''
* ''tar -xvf v2.53.0.tar.gz''
* ''cd unison-2.53.0''
- Compile a static binary using:
* ''make UISTYLE=text NATIVE=true STATIC=true''
- Move the binary to the bin folder of Termux:
* ''mv src/unison /data/data/com.termux/files/usr/bin/unison''
Note that outside the distro environment unison only works with the ''-ignorelocks'' flag for some reason. set an alias with ''alias unison=unison -ignorelocks''
It may also be necessary to set ''-links=false'' ((https://github.com/bcpierce00/unison/issues/590)) and ''-perms=0'' ((https://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-manual.html#prefs)) ((https://github.com/bcpierce00/unison/issues/590)):
<code bash>
alias unison=unison -ignorelocks -links=false -perms=0
</code>
Alternatively the file ''~/.unison/default.prf'' can be modified to contain:
<code bash>
auto=true
batch=true
ignorelocks=true
links=false
perms=0
</code>
Does your PC have Bluetooth? Definitely quick and sort of self hosted.
For single files, I use qrcp
For links, I use Pocket (you can use Wallabag, but I find the interface not efficient at all). For files, you can sync a folder with syncthing (but you only switch it on when you want a quick sync, otherwise keep it off for battery). If you just want to put some file on your phone, install FTP server (free) from F-droid and switch it on when you need it (there's even an optional switch on quick actions). Use Filezilla or any file browser (if on Linux) to exchange your files. Remember to switch the server off once finished, because FTP is not a secure protocol.
I ll just hijack this thread : when plugging my android into laptop, the laptop doesn't recognise it as anything. And the phone doesn't give me the option to "share files" instead of just charge. Does anyone knows what's wrong?
I use ADBFileManager https://github.com/T0biasCZe/AdbFileManager/ which is much faster than MTP
In my testing, the program copies files at speed of approximately 41.6MiB/s (332Mib/s) over USB 2.0, compared to MTP that copies at around 10Mb/s
I'll add in Bitwarden Send (including self-hosted vaultwarden), although probably doesn't make sense if you're not already using it for password management.
Do you have any hosting in your home lab? Preferably something for running a docker container, but a hypervisor could do the job too.
Nextcloud is an option if you do. Technically speaking you could properly protect it and make it public. You don't have to do that though. Any file you upload on your computer could be copied to your phone or vice versa. If it's public, then this could be done from anywhere.
Yes, I have a Linux vm for docker. I've chucked up a pairdrop container. So easy.
Can't say I've used that... Yet. I like nextcloud because besides being compatible with Linux/Windows and having an Android app, it also has a simple web UI to access the files. It's probably closer to self hosted OneDrive than anything else I can think of. Kinda like the simplicity of pairdrop though.
I use SyncMe which synchronizes smb shares to your phone. It's great once you have it set up, but it does take a little setup. Gotta have shares and whatnot.
You got some good replies and I personally am enamored by LocalSend, it is worth checking it out.
However, there is a simple way if a) you use whatsapp and b) the devices involved have access to whatsapp.
This involves not just sending files but you can send text and whatever whatsapp supports and you'll have a history of these chats should you need to have them later again. Probably possible with other platforms but I use whatsapp so that is what I setup for information transfer to myself.
The thing you want to do is create a chat group, add a friend for a very brief moment, remove said friend again after they accepted, enjoy your private group where you can dump any and all info into and pick up from wherever you have whatsapp available. The trick is to add a friend for a couple of seconds. If you create a group you are automatically in it but you cannot use it until you add someone else, then it becomes active and use-able. The fact that you end up alone in that group does not make it unavailable again. Weird but it works.
Hah. Nice hack!
Also, I love red dwarf.
email.
My dude, what year are you living in, and can I join you there?