テキストブラウザ Lynx
意外に便利なテキストオンリー(でもないか)の Webブラウザ、Lynxについて語りましょう。 最近はUNIXに限らないみたいだけど。 いいわね、リンナ、リンス、リンク! 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をクリアするようになったので文字化けが減りそう 久しぶりに buildしてみたんだが、 未だに quoted printable format に対応してないんだな、 RFC 3977 とかも置き去りで、時代に埋もれてしまうそうな感じがした。 lynxで-dumpしたときにテキストが72桁目ぐらいで折り返されてしまうのですが、この折り返しの値を変更することは出来ませんか? >>103 おお!ありがとうございます。 まさか過疎スレで当日中に回答がいただけるとは思っておりませんでした。 書き込みが少ないからといって見てる人が少ないとは限らんよ。 lynxが消えちゃった… 新たに導入もできない。 同じような方居ますか? gmail.basic.htmlに対応しているのもすごいが、このスレが落ちないのもすごいw UTF-8モードだと、あさだたくや氏ががんばって作りこんだEUCやISO-2022系の処理が 全然使われないんだよね。 端末がUTF-8だとUTF-8のページしか見れない。 ソースコード見たが、コレ現行のiconvベースの変換に対応させるにはどうすればいいか見当もつかん >>109 ご指摘のとおりで、現行のLynxには他の漢字コードからUTF-8への 変換処理が入っていないため、UTF-8の端末では問題があります。 この点は、UTF-8で書かれた文書をEUCやSJISの端末に表示できる ようにした際(2002年頃)の手抜きのせいで、UTF-8の端末が当り前な 現在、致命的な問題になってしまい申し訳なく思っています。 > ソースコード見たが、コレ現行のiconvベースの変換に対応させるには > どうすればいいか見当もつかん ここにマジレスすると、LYUCFullyTranslateString だと思います。 ただし、現在 HText_appendCharacter に入れている処理も修正が 必要なはずで大工事になると思います。 あさださんの名前が出て来たところで、とても遅くなりましたが、 Lynxユーザの一員として、追悼文を書かせて下さい。 # 当時あまりに多忙で書けず、ずっと心にひっかかっていたのです。 あさださんは、日本のインターネット黎明期にFreeBSD, NetNews方面 などで大きな貢献をされた方ですが、私にとっては、Lynxの日本語対応 パッチで非常に大きな影響を受けました。 1995年私は大学院生で、机の上にはWorkStationにRS232Cで接続された 文字端末がありました。そんな私がWWWの世界に触れるのに唯一無二の 存在が、あさださんの日本語対応Lynxでした。 その軽快な動作、洗練されたインタフェース、外部プログラムとの連携の 便利さにどっぷりはまりました。 あさださんが日本語対応Lynxパッチを書いて下さったたおかげで、 私はグラフィック端末を使うようになっても、Windowsを使うように なっても、ずっとLynxをメインブラウザとして使い続けています。 もう20年にもなるのですね。 2000年の5月、Lynxの不具合に関してあさださんとメールのやり取りを したことがあります。話の流れで日本語文字コード変換の話になり、 あさださんは、「Unicode ベースにした方がイイのかなぁ」などと おっしゃっていましたが、構想が実現しないまま他界されたのが 残念でなりません。 私の追加したコードに対して「すばらしい仕事だと思います」とコメント して下さったのは、私にとって想い出のひとことになりました。 残念ながら、UTF-8端末への対応問題など、Lynxはテキストブラウザ としても時代遅れになり、話題にのぼることも少くなってきました。 それでも、私は今でもLynxを使っていますし、今後も使い続ける ことと思います。 私のようにずっと使い続けている人も、過去に使っていた人も、 あさださんの日本語対応Lynxパッチのおかげで、ハッピーで 快適なテキストブラウジングができたのだと思います。 あさださんの偉大な功績に、日本のLynxユーザのひとりとして 感謝の言葉を述べたいと思います。どうもありがとうございました。 そして、3年もたってからで申し訳ないのですが、御冥福をお祈り いたします。 # 久し振りの書き込みなものでsage忘れました。 そうだったの? と、手元のlynxをUTF-8端末(uxterm)内で起動してみたけど、 euc-jpやSJISの日本語は表示されるけど?? ディス鳥独自のpatchでも当たってるのかな? >>113 そんなはずは、、、と思ったのですが、本家でも確かに euc-jpもしくは、Shift_JISで明示的にcharsetが 指定されている場合はUTF-8の端末でもばっちり表示されますね。 ご指摘ありがとうございます。やらかしてしまいました。 > ここにマジレスすると、LYUCFullyTranslateString だと思います。 調べてみると、すでに私が書いたpatchが当っていました。 入っていないのは、iso-2022-jpで書かれた文書に対する 処理と、明示的にcharsetが指定されていない文書に対する 処理でした。ごめんなさい。 「時代後れ」なんて書いてしまいましたが、もう少し、 もしくは意外と問題にされていないという状況なのですかね。 UTF-8端末だと ISO-2022-JP のページが見れないのがけっこう困る。 Assumed charsetにも出てこない。 euc-jp と shift_jis は認識についてカスタム処理が入ってるけど、 ISO-2022-JPは あさだパッチ では地のHTML解析で処理されてるからかな… ISO-2022-JPでHTMLを書く人は少数派になった、ってこと? 新規で起こすページはUTF-8でいいじゃんて人もいるだろうしね。うーん。 フォームの送信ボタンを押して取得したurlを EXTERNALのコマンドに渡す方法はありますか? 自己解決 アップローダでファイルを落とすのに使ってるのですが mailcapで目的の拡張子を関連付けするだけでした >>115 そうですよね。やっぱり困りますよね。 超場当たり的な対応なのですが、以下のようなコマンドラインで、 UTF-8な端末でもそれなりにいけるのではないかと思います。 LANG=C luit -encoding euc-jp lynx -display_charset=euc-jp -nounderline -nobold -nocolor ただし、ncurseswを使ったバイナリ(debianのpackageとか) は駄目で、ncursesやslangを使ってビルドする必要があります。 LANGを変えているのは、日本語メッセージが文字化けして しまうのを防ぐためです(メッセージを英語にする)。 -nounderline -nobold -nocolor は、装飾文字が文字化け してしまうのを防ぐためです。 >>115 UTF-8端末の対応が限定的なのは私の手抜きのせいです。 すみません。 現時点でeuc-jp/Shift_JIS->UTF-8の変換処理が入っているのは、 UTF-8端末のためではなくて、euc-jp/Shift_JIS端末でUTF-8ページの formが敵切に処理できるようにするため(例: wikipediaの検索)なのです。 adhocな対応でよければ、iso-2022-jp->UTF-8変換も入れられるとは 思うのですが、時間がとれるかどうか。 というわけで、adhocなpatchを書いてみました。 UTF-8端末でiso-2022-jpのページが見られるようになります。 patchは2.8.9dev6向けで、configureオプションで --enable-japanese-utf8 を指定して下さい。 http://lynx-win32-pata.sourceforge.jp/tmp/lynx.patch_for_289dev6 なお、UTF-8端末での日本語処理には以下の制限があります。 ・euc-jp/Shift_JISで書かれた文書で明示的にcharsetが 指定されていない文書の表示。 ・bold表示(多分端末側の問題)。 -noboldオプションをつけて起動すると一部改善します。 ・iso-2022-jpで書かれた文書のform送信文字列の変換。 ちなみに、処理を追加したのは、>>110 で指摘したのとは 別の場所でした。 このスレッドは過去ログです。 2ちゃんねるプレミアム会員に登録すると続きを読めます。 ─────────────────── 《プレミアム会員の主な特典》 ★ 2ちゃんねる専用ブラウザからの広告除去 ★ 2ちゃんねるの過去ログを取得 ★ 書き込み規制の緩和 ─────────────────── 会員登録には個人情報は一切必要ありません。 月300円から匿名でご購入いただけます。 ▼ プレミアム会員登録はこちら ▼ http://premium.2ch.net/ ─────────────────── 2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。 誰でも簡単にパソコン1台で稼げる方法など 参考までに、 ⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。 グーグル検索⇒『宮本のゴウリエセレレ』 WUFTIL6LUP 知り合いから教えてもらったパソコン一台でお金持ちになれるやり方 時間がある方はみてもいいかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 0NW1Y httpsのサイトで Unable to make secure connection to remote host: となって表示できないときの原因を教えてください >>126 どんなバイナリを使っていますか? GnuTLSを利用したバイナリの場合、 特定のサイトでご指摘のエラーが出るようです。 例: https://toyokeizai.net/ なお、OpenSSLを利用したバイナリだと問題ないようです。 ご自分でコンパイルできる環境があれば、 OpenSSLを利用したバイナリで試してみて下さい。 >>126 Windows版をご利用の場合、 以下のバイナリを試してみて下さい。 http://lynx-win32-pata.sourceforge.jp/tmp/Lynx289dev19THa_test.zip サーバ証明書は、以下の場所からcacert.pemをダウンロードし、 Lynxのインストールディレクトリに置いて下さい。 # なくても動作しますが、warningが出ます。 https://curl.haxx.se/docs/caextract.html なお、上記バイナリは、LibreSSLを用いて作成しました。 OpenSSLはライセンスの問題があってGnuTLSを用いていたのですが、 LibreSSLの方がよさそうですね。 >>128 横からですがWindows版バイナリ、XPでは プロシージャエントリポイントinet_ptonがダイナミックリンクライブラリWS2_32.dllから見つかりませんでした と出て動かないんでXP以降用なんですね >>127-128 正にTLS絡みだったようで問題なく表示できました 早速の対応ありがとうございます >>129 ご指摘ありがとうございます。 どうもLibreSSLがinet_ptonを使っていて、 inet_ptonはWindows Vista以降でしか使えないようです。 LibreSSLを自前でコンパイルしてinet_ptonを使わない ようにすれば動作するようになると思います。 ただ、あまり時間が取れないので、対策には 少し時間がかかってしまうと思います。 それと、私はWindows XPの環境を持っていないので動作確認もできません。 当面、OSDNで配布しているGnuTLS版をご利用いただけると嬉しいです。 >>131 遅くなりましたがLynx289dev19THjpを落としました XPでも快適です ありがとうございます 32bitのシステム上で動作するLynxで 以下のサイトにアクセスするとLynxがクラッシュします。 https://tabi-labo.com/ 原因は2038年問題で、上記サイトが期限が2038年1月以降の cookieを返すためです。 ad-hocですが、本家にpatchを投げておきました。 http://lists.gnu.org/archive/html/lynx-dev/2018-10/msg00075.html >>132 LynxのWindows用バイナリのテスト版を更新しました。 - LibreSSLを自前でコンパイルしたものに差し替え - LibreSSLをstatic link(なぜかエラーが出るので) - 上記2038年問題に対応 確認できていませんが、Windows XPでも動作すると思います。 http://lynx-win32-pata.sourceforge.jp/tmp/Lynx289dev19THa_test2.zip >>134 さっそく試してみましたらXPですと プロシージャ エントリ ポイント InitOnceExecuteOnce がダイナミック リンク ライブラリ KERNEL32.dll から見つかりませんでした。 と出て起動しません 関係ないけどダイアログってCtrl+Cでコピー出来たんですな >>135 ご報告ありがとうございます。 「動作すると思います」と書いてしまいましたが、 大変失礼いたしました。 Windows XP、手ごわいですね。 どうすればいいのか、少し調べてみます。 >>133 の2038年問題は意外と根深そうです。 ただ、現時点で影響を受けそうなのはCookieの期限で それは対処できていると思うので、 2038年になるまでは大丈だと思いますが。 苦節15年、やっとLynxからの乗り換え先が見つかった…! https://github.com/browsh-org/browsh javascriptも動くからhtmlに中身空っぽのdivしか置いてないようなSPAサイトでもきちんと描画できる。 WebGLなど最新機能にも対応。 GUI入れて普通にブラウザ使えってのは今さら言いっこなしだぜ? a 要素の中に div 要素があると hidden link になるんだね。実際にはもう少し複雑だが。 >>137 ていうかそれfirefox必要じゃん。 > GUI入れて普通にブラウザ使えってのは今さら言いっこなしだぜ? firefoxが入る環境でならGUI必須でしょw 某知恵袋が lynx で読めなくなった。いや、簡単には読めなくなった。 質問へのリンクが見えない。hidden link になってるよ。 List Page から辿れなくはないがどれがどの質問のリンクなの? …と思った君、lynx を起動する時に -hiddenlinks=merge を付けるといいぞ。 うん、無駄に恥をかかずに済んだ。 最近、LynxでGoogleの検索結果のリンクがたどれない問題が発生しています。 Ctrl-V で TagSoup mode にすると改善するようです。 ただ、検索画面が以前より見づらくなってしまいました。 私は privoxy でfilterを書いてしのいでいます。 >>142 Google側で対処してくれて、今は問題なくなったようです。 ただ、(以前からですが)検索結果が直リンクではなく、Googleを経由してredirectするようになっています。 気持ち悪いので、私はやはりLinuxではprivoxy、WinodwsではProxomitronでfilterを書いています。 yodobashi.comが見れない なんで? lynx.cfg に FORCE_SSL_PROMPT:YES 足してもダメ read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる