2011年まで「俺的な非 UN*X 環境をめざして」という題でしたが、 「UNIX系」と「非UNIX系」の区別がだんだん難しくなってきましたので、 あれこれ区別しないことにしました(^_^;
[前] 動画からAnimated GIFに 2018/01a |
[Table of Contents]
これまで私がメインで使ってきたブラウザの話から始めます。こんな感じ:
NCSA Mosaic (Xmosaic) → Netscape Navigater → Mozilla Firefox (現在に至る)基本的にずっーと Mosaic/Mozilla 系で、じつに忠実なユーザだなあ、と 我ながら感心してしまうんですが、それはさておき。
Firefox がいつもどおり勝手にバージョンアップした‥のはいいんですけど。
すると何と! それまで使えていたアドオンが軒並み使用不可になってるではありませんか!
うそ?! (@_@;
調べてみると、今回のバージョン: Firefox 57 からアドオンに関する仕様が ガラリと変更になり、これまで使えていたアドオンのかなりのものが「レガシー」として 切り離されてしまったみたいです。いろいろ見てみると、なんか2年くらい前から その筋のほうではそういう話はすでに出ていたみたいで、知らなかった自分が 情弱すぎという話なのかなー。
[Table of Contents]んで、これまで使っていたアドオンで使えなくなったものがいくつかあるんですけど。 いちばん困ったのが FireFTP というアドオン。 このページもそうなんですけど、私のサイトは今でもなお WWW初期の人たちと同じ方法、 つまり「FTPソフトを使って、手元にあるHTMLページ群をWWWサーバに転送する」という方法で ページ更新をしてます。ので、同じブラウザを使って「WWWサイトの更新」と、 「更新したページの見栄えの確認」が同じソフトでできるのは楽で良かったんですけど。 それができなくなっちゃったんですよね。
困ったなあ‥。FireFTP でいつ頃に新Firefox対応してくれるかな? ‥とか思って FireFTP のサイト見てみると、こんな感じのことが書いてあります:
「もう終わり」‥がーん。ここで紹介されてるのが Waterfox というブラウザ で、 Firefox をベースにした派生ブラウザみたいです。インストールしてみたところ、たしかに Waterfox 上で FireFTP が使えました! ‥けどなー。 Waterfox 自身は Firefox の「古い」アドオンに今後も対応していくと言ってはいる みたいですけど、どうなのかなー。正直いって半年後一年後がちょっと不安です。
そこで。FireFTP に替わる FTP アップロードについて、ちょっと調べてみました。 その際のメモです。(Macintosh)
[Table of Contents]Mac用のフリー(?)のFTPクライアントで調べるとすぐ出てくるのが FileZillaとか Cyberduck (非フリー)。
じつは FileZilla は FireFTP を使う前に使ってたんですよね。不満がある訳では なかったんですけど、ちょっと自分の用途では大げさかなー、と。Windows用の FFFTP のような シンプルなやつが良いんですけど、そういうのが見当たらないんですよね‥。 (その FFFTP すら、いよいよ開発終了の噂が‥ [ 開発終了→オープンソース化で生き長らえたFTPソフト「FFFTP」、今度こそ終了か? ] )
ということで。自分で自分のファイル送信用スクリプトを自作することにしました(^_^)
使用する FTP クライアントとしては、Macintosh で標準装備されている(はずの)
/usr/bin/ftp か /usr/bin/curl か‥と迷いましたが、とりあえず SSL 転送機能つきの
curl を使うことにします。
いろいろ調べたところ、ローカルにある a.jpg をサーバ、たとえば今このページがある ayiva.sakura.ne.jp に送るときには「ターミナル」などからこんな感じの コマンドを指定してやると良いみたいです:
ftp://ayiva.sakura.ne.jp/www/a.jpg
(これは https://ayiva.sakura.ne.jp/a.jpg
として参照可能) に
ファイルを送ることができるようです(USER:PASS は適切なものを指定してね)。
送付先をちょっと変えて ftp://ayiva.sakura.ne.jp/www/a/a.jpg
に
送りたい時は以下:
転送するファイルの指定は -T
もしくは --upload-file
オプションを使いますが、このオプションを複数並べても、最初に指定した
ものしか有効になりません。じゃあ、どうやって複数のファイルを送るのか? という
話になると、こんな方法が有効みたいです。
たとえば a.jpg, b.jpg, c.jpg の3つのファイルを送りたいときはこんな感じ:
ただ、こんな感じで冗長なファイル名の並べ方をした場合。 コマンド行が長くなりすぎて大丈夫? という不安も出てくるかもしれません。 そういう時、UN*X 系システムではコマンド一行の最大長を getconf コマンドで 調べると良さげです。手元の Macintosh の場合、
余談。じゃあ Windows の cmd.exe のコマンドラインの長さの限界はどのへんか? という話なんですけど。Win2000 と WinXP は 2047文字。Vista以降(すくなくとも Win10 まで)は 8192 文字まで、という感じみたいです [参考]。 26万字も使える Macintosh/unix よりも短いなあ‥と思ってしまいますけど、 でも 2000 文字もあれば 実用上ほぼ困ることなさそうですよね。ちなみに MS-DOS とか Windows95 などの command.com は127文字(設定を工夫すれば 250文字)までだったみたい [参考]ですから、 Microsoftも地味なところを機能強化してますね。
[Table of Contents]curl 起動のたびコマンド行にパスワードを入力するのは面倒ですよね。 そこでユーザ名・パスワード情報を別ファイルに記述しておきます。 このとき使えるのが昔なつかしい ${HOME}/.netrc という名前のファイルです。中身を
さらに。決まった名前の ${HOME}/.netrc に大事な情報を書くのは 不用心すぎないか? というのが気になった場合、.netrc 以外のファイル名を 使うこともできます。たとえば /tmp/secret/my-pass という名前に ユーザ名・パスワードを書いた場合は以下:
FTPS、つまり SSL を使った通信をしたいときはこんな感じ:
-v
オプション付きで実行すると以下:
ここで使っている --ssl
オプションについて。
--ftp-ssl
という名前も使えるみたいですが、そのうち
--ftp-ssl
の名前は使用不能にするからな! という感じみたいです。
ちなみに、ユーザ名とパスワードのとこだけ暗号化できてればいいや、という場合:
‥んで、こんな感じの文字列を自動生成し、さらに実行してしまうスクリプトを 自作したところ、とりあえず FireFTP の個人的な代替になりそうだなー、と。 そんな感じであります。
[Table of Contents]忍者ホームページも FTPS 対応してるはずなので同様に行けるはず! と思って、ちょっと 試してみました。
SSL ナシの単なる FTP 通信ならOKなんですけど。
--ssl
オプションをつけて実行してみると、なんかエラーが出て
接続できません。何故? ‥それは忍者ホームページの「ヘルプ」を見るとわかります:
そんなときは -k
か --insecure
オプションを付けて
実行すればいい、らしいです。
(2022.7 追記)
気付くのが遅くなってしまいましたけど、2020年頃のアップデートから Win10 で curl.exe が標準装備されるようになってたみたいですね。すげえ! (C:\Windows\System32\curl.exe)
Mac 等でもかなり以前から curl は標準装備されていますから、 FTP コマンドはもう完全に終了ですかね。 「そんなん、まだ使ってるの?!」という感じですけど、オプションなどの 指定の仕方が違うので とくにスクリプトから呼び出して 使っている FTP から curl への変更はちょっと面倒といえば面倒なんですよね‥
[次] Webcam で定点観測的な? 2017/03b |