Downloads de arquivos grandes de proxy por meio de SSH

Você já quis baixar um arquivo grande com proxy por meio de outro servidor? Exemplo de caso de uso: você deseja baixar um arquivo de um serviço, mas deseja que o agente do usuário venha de outro servidor SSH ao qual também tenha acesso. Você também não deseja encher o disco rígido do servidor SSH com o arquivo grande.

No meu caso, eu tinha um arquivo que não conseguia acessar diretamente devido a um firewall, mas conseguia acessá-lo por meio curlde um servidor SSH. Mas a conta do servidor SSH tinha uma cota de usuário de 5 MB. Para obter o arquivo em minha máquina local, fiz o seguinte:

Abra dois terminais. No primeiro em SSH para o servidor SSH e prepare um FIFO:

me@localhost:$ ssh me@example.com
me@example
.com:$ mkfifo large-buffer

Então, no segundo terminal:

me@localhost:$ ssh me@example.com "cat large-buffer" > ~/Downloads/large-file

Finalmente, de volta ao primeiro terminal, comece o download e salve a saída em large-buffer

me@example.com:$ curl http://files.example.com/large-file > large-buffer

A transferência acontecerá em canais criptografados. O conteúdo não será visto através da sessão SSH e o disco rígido do outro lado não é preenchido porque o FIFO se esgota conforme a segunda sessão SSH lê a partir dele.