50 kb/s x 1000 bits/kb x 3600 s/hr x 24 hr/day x 1 byte/8 bits x 1 MB / 1000000 bytes = 540 MB/day. That's enough to download VPN software and a Linux distribution to run it on in a day.
If you've already got a Linux system, the Debian openvpn package is under 1 MB and at 50 kb/s would take under 3 minutes to download. I don't know if openvpn in particular is suitable for people who are trying to evade their government, but would whatever features it is missing add substantially more size?
Yeah, you could use forward error correction too, so any n bits would be enough to reconstruct the input.
Of course then you get into needing software to decode the more advanced encodings; maybe start with a voice transmission explaining in plain language how to decode the first layer, which gives you a program that can decode the second layer, or something.
Starting to sound like an interesting project.
You never used dialup did you?
300 baud. Was enough to download grainy porn pics. With a proper download tool that continues after hangups etc you can just leave it on for a week and I have when downloading software end 70s. No problem. Also via the airwaves: we had software via the radio every sunday. Works fine. Modern software is shitty large: it would be nice if a VPN provider would just release the driver and a cli which should not weigh over a mega (far less but outside mr Whitney i am not sure if that type of software dev still exists) for this type of transfer.
9600 bps dialup using the protocols commonly used back then such as ZMODEM could do file transfers at 3 MB/hour. That would be fine for grabbing VPN software.
zmodem to the rescue!
HF are really noisy. You need a lot of error correction to ensure that the package is consistent and without any error. This will drastically decrease the real bit rate.
Wireguard ships with the Linux kernel so you only need to receive ~60 bytes of configuration information.
Wireguard is also easily censored and is already censored in the places that censor VPNs.
The user-facing software is not included in the kernel, but you need that to configure wireguard.
Is that true? I thought wg-quick etc were just convenience functions and that it's relatively trivial to use iproute2 to configure a VPN link
You don't need wg-quick. You do need the "wg" command.