For all of you wanting this feature there's a great option out there if you're willing to step beyond Signal: Conversations. There's no primary/secondary distinction: it does true-multi-device multi-key encryption (they adopted libsignal and built on it and I'm very grateful that OWS developed and released it so it could be built upon), as well as video chat, file attachments (encrypted, of course), and cross-device history syncing, and all that at 1/3rd the size of Signal, and without a dependency on push notifications. And you can pretty easily set up alt identities and use them on the same devices so there's no need to worry about [giving out a private number](https://www.vice.com/en_us/article/9kaxge/how-to-use-signal-without-giving-out-your-phone-number-a-gender
| #!/bin/bash | |
| declare -A stdins coprocs | |
| dup() { | |
| eval "exec $1>&$2" | |
| # eval "exec $2<&$1" # or ??? are these equivalent?? | |
| # they should both be calling dup2(old_fd, new_fd) in C underneath but .. maybe not? | |
| } |
| #!/bin/bash | |
| # | |
| # Sort Camera folders (e.g. "/mnt/DCIM/Camera") into monthly folders in the _current directory_ | |
| # | |
| # install to your ~/.local/bin or somewhere else on your $PATH | |
| # copy everything off your phone to a staging folder or two | |
| # usage: | |
| # cd $PATH_TO_ARCHIVE | |
| # sort-dcim.sh $STAGING_FOLDER_1 $ | |
| # |
This is a way to write and share notes for yourself between multiple devices, without signing up for locked-in cloud services, using only future-proof formats and open tools!
This is built on Android and Obsidian, which are only semi-open, but because it's built on syncing with git and markdown if you need to replace the platform you can, because markdown and git work everywhere and will continue to work everywhere for a long time.
I've never fully understood how NAT traversal works and I went on a dive today.
Run whatismyip.py on a public server. This plays the role of a STUN server.
Run easynat.py on a laptop behind a home router.
You could run hardnat.py also on a laptop behind a home router, but don't do it on the same home router because
"hairpinning" is almost always broken.
This makes magic-wormhole(1) much more accessible by putting it on your Android home screen.
Once installed, usage is:
- scan QR code from
wormhole sendor have sender tell you the code and copy it to your clipboard - Run 'wormhole-receive'
- Paste scanned/copied code into prompt
- Downloads end up in /sdcard/Downloads/
| import os.path | |
| def sanitize_path(path): | |
| """ | |
| Sanitize a path against directory traversals | |
| Based on https://stackoverflow.com/questions/13939120/sanitizing-a-file-path-in-python. | |
| >>> sanitize_path('../test') | |
| 'test' |
The Galaxy Tab E is an unsupported and somewhat dated device now, but there are a lot of them in the world and they have a nice screen that's comfortable for reading or watching shows. Here is how to keep one alive, if you have it, by updating its OS to 2025. Credit for the build goes to @retiredtab (https://sourceforge.net/projects/retiredtab/). Google(?) is no longer doing firmware security updates, and so @retiredtab has decided this is the last build they are going to make, so there will be no more updates unless someone else picks maintenance up. Do not put any sensitive data on this device, but it makes a good e-book reader or youtube/Netflix viewer.
This guide assumes you have a desktop machine with Linux and ~1GB of free space.
Look at Tablet > Settings > About Tablet > model. Verify it says SM-T560NU.
| #!/usr/bin/env python | |
| # this is a tiny little clone of `nc -U -l path` | |
| # but it creates the socket *after chdir()ing in a subprocess* to avoid ENAMETOOLONG: | |
| # | |
| # To test the difference, get openbsd-netcat and run: | |
| # | |
| # mkdir -p /tmp/abcdefhijklmnopqrstuvwxyz/abcdefhijklmnopqrstuvwxyz/abcdefhijklmnopqrstuvwxyz/abcdefhijklmnopqrstuvwxyz | |
| # nc -v -U -l /tmp/abcdefhijklmnopqrstuvwxyz/abcdefhijklmnopqrstuvwxyz/abcdefhijklmnopqrstuvwxyz/abcdefhijklmnopqrstuvwxyz/ipc.sock | |
| # |