テキストブラウザ Lynx
意外に便利なテキストオンリー(でもないか)の Webブラウザ、Lynxについて語りましょう。 最近はUNIXに限らないみたいだけど。 いいわね、リンナ、リンス、リンク! >>1 貴様、単にキンゲネタを書きたいだけかぁ〜っ 常時接続になって普通のWebブラウズでは使わなくなったけど 一括処理とか、サイトのリンク切れチェック(-traversal)、その他の トラブルシュートのために手放せません。 --enable-libjs (define EXP_LIBJS) Disabled by default; used for ifdef'ing JavaScript interface. Currently dummy: no JavaScript support implemented in Lynx yet. 「テキストブラウザ」とか「テキストログイン」とかって もはや一種の流行語? Lynx って POST出来ないんかね? % lynx -dump -post_data CGIのURL でやってみたが、 結局 GET だった。 -post_data が Method を意味しないのは 知ってたので、期待してはいなかったのだが・・・ やりたいのは、Perl のプログラムから Lynx 起動して、SSLのページで POST を行って、 その結果を標準出力に出したいのだが・・・ >>15 それなら、w3mの方が簡単かと。 時と場合にあわせて、うまく使いわけましょう。 >>15 SSL じゃなくていいなら、そのコマンドでできたよ? (RedHat7.3 に入ってた lynx-2.8.4) サーバのログを見ても確かに POST できてる。 SSL だと話が違うのかな。 でも Perl なら LWP 使うのが楽だとは思う。 >>13 あれ?おれんとこではPOSTできてるよ。なんか勘違いしてるかな。 httpd のログに POST って記録されていればいいんだよね? -post_data の書き方がわからないのででたらめ入力したけど $ lynx -version Lynx Version 2.8.4rel.1 (17 Jul 2001) libwww-FM 2.14, SSL-MM 1.4.1, OpenSSL 0.9.6g Built on netbsdelf1.6 Sep 21 2002 13:55:49 相手は Server: Apache/1.3.26 X-Powered-By: PHP/4.3.1 でPHP + MySQL 書き方わかったのでやってみたらうまく動作しました。 あれ〜? 私のだと access_444 に GET と出ますねえ・・・ コマンドラインは以下でOK? % lynx -dump -post_data CGIのURL この後、標準入力待ちになるのが難点だけど とりえず --- (データ終了の意)とか入力したのですが・・・ ちなみに SSL にする時は単にURLを https にするだけね。バージョンを選ぶけど。 >>21 ちゃんとデータを入力しないとGETになっちゃうみたいです。 $ echo 'param1=1¶m2=1' | lynx -dump -post_data https://hogehoge/hoge.cgi とかやってみましょう。 失敗 :-< $ echo 'a=1&b=1' | lynx -dump -post_data https://mogamoga/moga.cgi ついにLynxの動画 キタ━━━━━━(゚∀゚)━━━━━━ !!!!! ttp://www.gazo-box.com/movie/src/1062564038691.mpg おれは、こっちのLynxに萌え〜。 ttp://www.sonymusic.co.jp/Music/Info/Lynx/ ついにネタスレ化したか? lynx -dump -cookie_save_file=cookie.sav http://www.google.com クッキーができないんだけど Lynx Version 2.8.4rel.1 (17 Jul 2001) Built on freebsd5.1 Dec 25 2003 19:21:10 古いのかな lynx.cfg はいろいろ見直したが駄目 >>38 -dump オプション非指定時に cookie.sav が作成されるなら、 -cookies オプションも同時に指定してみて下さい。 -dump オプションの指定に関らず作成されないなら、lynx.cfg に PERSISTENT_COOKIES:TRUE を追加してみて下さい。 それでも作成されないなら、 % lynx LYNXCOMPILEOPTS:/ で、EXP_PERSISTENT_COOKIES が1にセットされているか確認して 下さい。0ならコンパイルし直さないとダメだと思います。 当方は 2.8.5dev.7 で試しました。 恐れ入ります PERSISTENT_COOKIES:TRUE lynx.cfg にちゃんと書いてありました。 これで2ちゃんに書けるようになったか次で試してみます。 %lynx -dump http://pc.2ch.net/test/read.cgi/unix/10 48952879/ Configuration Error 中略 Copyright (C) 1994 - 2002 Hurricane Electric. All Rights Reserved. References 1. http://www.he.net/ ~jdoe/cgi.demo/demo.html 2. http://www.he.net/cgi-bin/suid/ ~report/checkuserscript >>41 -useragent=Lynx などとして、user agent を変更すれば、 読む方はうまくいくと思います。 ただ、書き込む方は多分それだけではうまくいきません。 # 私もあまり深く追っていないので、理由は分かりません。 lynx for win kara kakikomi tesuto kore douyatte nihonngo irerundakke あ、こうすればいいのか。おもしろいな lynxからだと Configuration Error なページが表示されてしまうんだけど。 デフォルトだと Lynx/2.8.4rel.1 libwww-FM/2.14 SSL-MM/1.4.1 OpenSSL/0.9.6b ってなUAでダメだけど、 >>42 のようにすればアクセスできるんだな。なんでやろ。 2.8.5pre.2からdiredで空じゃないディレクトリを消せなくなってウザーい。 CHANGESに * split up remove_file() in LYLocal.c so directory removal is performed in a separate function remove_directory(). Neither will perform an "rm -rf", but only single operations "rm" and "rmdir". The original behavior can be obtained by setting RMDIR_PATH to point to a script which does "rm -rf" in lynx.cfg (suggested by Pat Walsh). って書いてあったから試してみたけど動かない。っていうか実装されてない。 ダサーい。キャハハハー。 >>46 , >>47 確かにうざいし、ダサいですね。 こんな感じでどうでしょうか? begin 755 rmdir.patch.gz M'XL("-[D,$```W)M9&ER+G!A=&-H`)6236^;0!"&S^97C)Q+(TR\=OQ!.51V M*3A4?`GP(2=$8+%7(ACQ(=7JG^^RP8G!D*A[63'S/C/LS!N1.`8AK^"4D\,T M.:=_YH(H+*=%'D[U9P<'D:SN'D(8S'""('P!C[QC!;^#%.;?`2VD1R0]BC!' M:,'Q/#]<>>15 &%3\`K,U("0MD#1KL,T&A-EBB28KX-F]ALV&@SN<1B3F@!U[ MZ[B*[RK>-T?V'65//SS%L%5-5]S)FZ3N5178PZ]93!)<W$]:K.WL&*M;.\WT M[:WWU'#UR;*W.&7X'L;XI3E=I,'JU$`G8PBI]7<D3B,<@VGYSIX^HE5!W9NL M`DUT<'J>/!>7\BF-R:'*@Y*<4EJ/S5`4EVR&HKAJ9C@:25"^),*/\ISA>_A+ M(V%08)`M4_5_6I8NM2*TK\3Q5P'ZE+;"TPRE'5',O=&.:*8G<=&G3LQ#E:[H MX7ACETMBV(<7Q?_9\(/JNG".KERX6K,!TJOQ(%T123$PT]GZ]ME59/=F(P#C M'&=)<"YP6(P[5,NJ-Q0UK%]>'-M!/YS:US`Y'4CJ9T%Y''/\-?9NUI[_9.1K F1/(&;/4S/J?Z$&K0?CU#J@3?ZMUZ$(/ZHA[$F/L'!HA5^\@$``!N ` end >>48 そうするのが正しい姿勢だと思いますが 外部にスクリプトを用意するところに寒気がしたので remove_fileをrm -rfにしてremove_directoryはremove_fileを 呼ぶようにしちゃいました。ははは。←ダサーい。 >>49 なるほど。元の挙動に戻したのですね。 RMDIR_PATH が有効でない件は、本家にも報告しておきました。 御報告ありがとうございました。 >>48 言いたい事があるならはっきり言えやヴォケ ここが本家? http://lynx.browser.org/ オンラインマニュアルなくなってる… Lynx でブラウズ中、ファイルをダウンロードしようと思って D を押してダウンロードしたんだけど… ファイルはどこに格納されてるの? ってことを知りたくてオンラインマニュアルを探してます。 >>56 デフォルトでは、自分のホームディレクトリだった。 さっき使ったので間違いないと思う。 設定で変えられるかどうかはわからん。 >>56 オンラインマニュアルには、はっきり書いていないかもしれませんが、 SAVE_SPACE で明示的に指定した場合は、そのディレクトリ、明示的に 指定していない場合は、Lynx 実行時のカレントディレクトリになる と思います。 「Lynx 実行時のカレントディレクトリ」は、! でシェルを起動し、 pwd (UNIX)、もしくは cd (Windows) コマンドで調べられます。 まあ、読め ttp://slashdot.jp/articles/05/01/29/0848215.shtml?topic=74 もまえら全員タイーホ。 まぁw3mとかFirefox使ってる漏れも、明日は我が身なわけだが。 オイオイおかしいだろうコレ ttp://slashdot.jp/security/05/10/13/1030233.shtml?topic=73 >>64 こんなのを不正アクセスにしてたら、DoS攻撃はどうなるんだろう? 「ログをあふれさせようとしたので不正アクセス」というのが根拠? >>70 お使いの環境とバージョンは何でしょうか? unix 環境なら、消せると思います。 Windows 環境の場合、そもそも、DIRED が無効なバイナリ が多いと思います。その場合でも、DIRED_MENU からなら ファイルを削除できるものもあるようです。 ただし、2.8.6dev.18TH では、DIRED が有効なのですが、 なぜかファイルを削除できません。DIRED_MENU からでも 駄目です。 どうも、2.8.6dev.18TH からコンパイラを変更した (Borland の bcc32 から、Cygwin の gcc (-mno-cygwin)) ことが影響するようです。 すぐには直せないと思いますが、いずれ対処したいと思います。 >>70 2.8.6dev.18TH では、lynx.cfgに以下の行を書くと、 ファイルが消せるようになるようです。 RM_PATH: >>74 そうなんですか。どうもありがとう。 cursesってエスケープシーケンスのようなものなのか。 テキストブラウザのlynxでもそんな機能を使っているとは少々びっくり。 そんでもラインモードブラウザなんて物があるからUNIXは奥が深いですね。 説明不足だったかもしれません。 俺は非UNIX使いで、最近DOSの"CTTY AUX"コマンドで遠隔操作まがいなことをして遊んでるんだが、画面表示に直接ハードウェアやBIOS使うソフトは全滅なので、ダム端末でも使えるラインモードブラウザに意義を感じてる次第です。 >>77 ちょっと「ダム端末」の意味、取り違えてるんじゃないか? 今の「端末」は、最低限VT100程度のエスケープシーケンスは備えてる。 だから、リモートのテキスト端末という意味なら、 当然 lynxは動くよ。 大雑把に言えば、viが(スクリーンモードで)立ち上がる端末なら、 lynxも使える。 今時、本当の「ダム端末」(垂れ流しテキストのみの端末)ってないと思うぞ。 cursesってのはエスケープシーケンスによる制御を抽象化して、 プログラム側でエスケープシーケンスのことを考えなくても済むような ライブラリね。 というか73=75=77は、エスケープシーケンスによる画面制御ってものを 知らないんじゃないかという希瓦斯 エスケープシーケンスは特定の文字列に表示する代わりに制御用の意味を持たせて、 改行、画面クリア、カーソル移動、文字の修飾などを実現するものと認識しています。 キーを押して文字を入力するとカーソルが先に進むのはエスケープシーケンスと関係ないですよね? >>77 Windows用のLynxでよく使われるPDCursesは、Win32 API を使っちゃっているので、リモートから使えません。 リモートで Lynx を使う場合は、Tera Term みたいな VT100 エミュレーションができる端末エミュレータで、 Cygwin用の Lynx を起動すれば、いけるのではないかと 思います。 >>81 UNIXのcurses(ncurses)は、X API等を使ってない。 素のテキストインターフェースのみ。 なので、TeraTermでログインしたら、 そのまま lynxは動作可能。(Cygwin必要なし) windowsでlynx使ってるけど やっぱりunixやlinux上のほうが軽い? lynx.cfg の REFERER_WITH_QUERY という項目を PARTIAL または SEND に設定しないと (デフォルトは DROP) 2ch.net に書き込めなくなったね。 この書き込みは 2.8.7rel.1 でやってる。 今後 "lynx"って言っても一般人には通じなくなるのか・・ DOSの英語版Bobcatで-sourceオプションを最近知って重宝してる。 ダウンロードしてくるだけなんで画面がjpモードでもいいし、 HTOXやHTM2TXTでテキスト変換してテキストビューアでみてる。 ちょっと板違いだけど 今Windows上でネイティブに使えるテキストブラウザってlynxだけ? cygwin上からlynxでtwitterにアクセスしようとしたんですが個別のユーザーのページ を開こうとするとなんかrssみたいなののDLを要求されて、指示通り落としたもののそこから どうしていいかわかりません。どうにか見る方法はありませんか? twitter.comへのリンクで #! (hashbang, shebang)が使われていると、 JavaScriptに非対応のLynxではtwitter.comのトップページが表示されるだけなので、 Eキー等でリンク先URLを#!無しに編集してからリンクをたどる必要がありますが、 毎回やるのは面倒なので、自動的に#!無しのURLにリダイレクトするための設定です。 lynx.cfgに追加して使っています。(要Lynx 2.8.8dev.2以降) RULE:Redirect http://twitter.com/#!/* http://twitter.com/* また、本文の前にメニュー領域等があって何回かスペースキーを押して 本文まで行かないといけないのは面倒なので、 「ナビゲーションをスキップ」して本文から表示するために、以下も追加しています。 RULE:Redirect http://twitter.com/* http://twitter.com/*#timeline unless redirected 注:Lynxが--enable-internal-links付きでconfigureされてないと、 fragment identifier(#)付きURLをリロードしても#の場所に飛ぶだけです。 その他のURL書き換えRULEの例は以下の記事参照。 http://lists.nongnu.org/archive/html/lynx-dev/2009-10/msg00020.html (少し古い記事なので、サイト側が変更されたために更新が必要なRULE有り。例えば以下) RULE:Redirect http://www.asahi.com/* http://www.asahi.com/*#HeadLine unless redirected RULE:Redirect http://sankei.jp.msn.com/*.htm http://sankei.jp.msn.com/*.htm#MainContent unless redirected lynx 2.8.8.dev.10が2012-02-14に公開されました。 ・HTML5のmeta charset対応。 ・1行のtextinputでもCtrl-Xeで外部エディタでの編集が可能に。 ・読込エラー後リロード時にcharsetをクリアするようになったので文字化けが減りそう read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる