ファイル名を隠蔽しつつファイル名を保存してPiping Server経由で転送するときの小技
やりたいこと
例えば、my-secret-dataset.datというファイルを転送したいとする。なおかつこのファイル名も同時に送りたい。
curl -T my-secret-dataset.dat https://ppng.io/mydataと転送するとmy-secret-dataset.datというファイル名の情報を受信側に渡らない。
curl -T my-secret-dataset.dat https://ppng.ioとするかcurl -T my-secret-dataset.dat https://ppng.io/my-secret-dataset.datとすれば受信者側が必ず正しい名前で受け取ることを保証できる。だが長くて冗長で打ち間違えのストレスがある。
また、サーバー上でリクエストをログを取っている場合パスがログに残る可能性がある。ファイル名が分かったところでそれほど問題がないことは多いがなるべくサーバーに渡る情報を最小限にしたい。
これらのことを解決したい。
やりかた
前置きは長いがやり方はシンプル。
以下のように送信すればよい。tar cをファイル名の前につけるだけですごく簡単。