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 curl
de 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.