GS-SFTP(1)
β¨ GS-SFTP β the manual, but make it cute β¨
okay so bestie, you know how I feel about gs-sftp(1). it's the Secure File Transfer Protocol over Global Socket situation and I'm literally obsessed. let me walk you through it, no gatekeeping π
πΈ NAME πΈ
gs-sftp β Secure File Transfer Protocol via Global Socket. yes that's the whole vibe. SFTP but the Global Socket way. slay.
π SYNOPSIS π
gs-sftp [-lTR] [-s secret] [-k keyfile]
that's it. that's the whole thing. short and iconic, as she should be π
π¦ DESCRIPTION π¦
so gs-sftp is a wrapper script for gs-netcat. that's the tea. what it does is let two users set up a secure SFTP connection via the Global Socket Relay Network (GSRN).
why would you want this? because sometimes both of you are sitting behind NAT or a Firewall and you literally cannot connect to each other directly. the GSRN is the matchmaker. it fixes that. π«Ά
β¨ OPTIONS β¨
-s secretβ a password, picked by you, the user. both users have to use the same password to connect. it's giving shared secret, it's giving iykyk π-k FILEβ a file that contains the password. for when you don't wanna type it out.-lβ Server mode. default mode is client, just so you know.-Rβ puts the server (-l) into read-only mode. attempts to open files for writing, plus any other operations that change the state of the filesystem, will be denied. nothing gets touched, nothing gets changed. she's just looking π-Tβ use TOR. thegs-sftptool 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 below!)
and btw, there are more options over in gs-netcat(1). go look. π
π EXAMPLES π
Example 1 β SFTP Server listening for clients using password 'MySecret':
$ gs-sftp -s MySecret -l
Connect sftp-client using the same password:
$ gs-sftp -s MySecret
see how the password matches? that's the whole trick. same password, both sides, boom, connected. periodt. π₯
π ENVIRONMENT π
there's a whole list of supported environment variables, and they live in gs-netcat(1). go check that page. β¨
π SEE ALSO π
gsocket(1), gs-netcat(1), sftp(1)
the squad. the friend group. all of them are worth a read. πΈ
π BUGS π
efforts have been made to have gs-sftp "do the right thing" in all its various modes. so like, she's trying her best, fr fr.
but if you believe it is doing the wrong thing under whatever circumstances, please notify me (skyper@thc.org) and tell me how you think it should behave. don't be shy, bestie, I genuinely want to know. π
okay that's the whole page π this was gs-sftp(1) from the General Commands Manual, and the version you're looking at came from Debian on October 12, 2020. love that for us. now go transfer some files securely. mwah πβ¨
π¦ where this page comes from
- arch rolling: gsocket 1.4.43-1 Β· custom
- debian bookworm: gsocket 1.4.39-1 Β· BSD-2-Clause
- debian trixie: gsocket 1.4.43-4 Β· BSD-2-Clause
- nixos 26.05: gsocket 1.4.43
- nixpkgs unstable: gsocket 1.4.43
- ubuntu jammy: gsocket 1.4.33-2ubuntu1 Β· BSD-2-Clause
- ubuntu noble: gsocket 1.4.41-1build2 Β· BSD-2-Clause
- ubuntu questing: gsocket 1.4.43-4
- ubuntu resolute: gsocket 1.4.43-4build1 Β· BSD-2-Clause
- ubuntu stonking: gsocket 1.4.43-5 Β· BSD-2-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms