BLITZ(1)

πŸ’– BLITZ πŸ’– β€” the blitz manual page, bestie edition

okay so welcome to BLITZ(1), a General Commands Manual page, and no cap this little script is doing the MOST for you. sit down, grab a strawberry drink πŸ“, and let's get into it.


✨ NAME ✨

blitz β€” securely transfer files between two workstations through NAT/Firewall. it's giving "my files are behind a firewall and I refuse to suffer" πŸ’…


✨ SYNOPSIS ✨

blitz [-lT] [-s secret] [-k keyfile] [-f list] [-o RSOPT=] [files ...]

like, that's it. that's the whole vibe. πŸ¦‹


✨ DESCRIPTION ✨

so blitz is a wrapper script for gs-netcat and rsync. that's the whole trick, and it ATE. it lets you send files from one workstation to another workstation via the Global Socket Relay Network (GSRN). 🌈

the typical use-case β€” and honestly the main character scenario β€” is when both workstations are separated by a Firewall or NAT and they literally cannot establish a direct connection between each other. 😭 blitz says "don't worry bestie, I got you" and relays it. iconic behavior, periodt.


✨ OPTIONS ✨

  • -l β€” Server mode. the default mode is client. so if you don't say anything, you're the client. choosing violence (server mode) is opt-in. πŸ‘‘
  • -s secret β€” a password chosen by the user. both users need to use the same password to connect β€” no matching passwords, no connection, it's a two-way street fr fr. πŸ”
  • -k FILE β€” a file containing the password. same energy as -s but the secret lives in a file instead. πŸŽ€
  • -f FILE β€” read the list of file names from FILE. and if FILE is -, the list will be read from standard input. yes, that dash is doing a lot of work, she's booked and busy. πŸ’œ
  • -o RSOPT= β€” options passed to rsync. see rsync(1) for available options. this is your "hand the aux to rsync" button. 🎧
  • -T β€” Use TOR. the blitz tool will connect via TOR to the GSRN. this requires TOR to be installed and running. the IP and PORT of the TOR server can be set using environment variables. πŸ§…βœ¨

see gs-netcat(1) for more options. yes there's more. there's always more. πŸ’…


✨ EXAMPLES ✨

listen for clients with password 'MySecret':

$ mkdir /tmp/foo && cd /tmp/foo
$ blitz -s MySecret -l

copy 'file.dat' to /tmp/foo/file.dat on the server:

$ blitz -s MySecret file.dat

copy '/etc/ssh/ssh*config' to /tmp/foo/etc/ssh/ on the server:

$ blitz -s MySecret /etc/ssh/ssh*config

it is also possible to limit the amount of path information that is sent as implied directories for each path you specify. you can insert a dot and a slash into the source path, like this:

$ blitz -s MySecret /etc/./ssh/ssh*config

the received files will be stored to /tmp/foo/ssh/ instead of /tmp/foo/etc/ssh. see? that little ./ changed the whole destiny of the path. tiny but mighty. πŸ¦‹

copy recursively and limit bandwidth to 10kB/sec:

$ blitz -s MySecret -o 'RSOPT=--bwlimit=10' /usr/./share

copy the entire root file-system:

$ blitz -s MySecret -o 'RSOPT=-x' /
okay so that one is the entire root file-system. the whole thing. /. just be aware of what you're asking for before you hit enter, bestie 😭πŸ”₯

copy specific files read from standard input:

$ find . -name '*.conf' | blitz -s MySecret -f -

run a permanent server (daemon) through TOR:

$ blitz -s MySecret -l -D -T

✨ ENVIRONMENT ✨

see gs-netcat(1) for a list of supported environment variables. the env vars live over there, go visit them, they miss you. πŸ’–


✨ SEE ALSO ✨

gsocket(1), gs-netcat(1), gs-sftp(1), gs-mount(1), rsync(1)

the whole friend group. all of them slay in their own lane. 🫢


✨ BUGS ✨

efforts have been made to have blitz "do the right thing" in all its various modes. if you believe that it is doing the wrong thing under whatever circumstances, please notify me (skyper@thc.org) and tell me how you think it should behave. that's it, that's the bug report process, just tell them what you think. respectfully though. πŸ’€


and that's the whole page!! this one came from Debian, dated October 12, 2020 β€” so when you're out here blitzing files through NAT and firewalls, just know this manual page has been holding it down since 2020 and it's still serving. βœ¨πŸ‘‘ mwah, go transfer something securely. πŸŽ€πŸ’œ