Navi2ch for Emacs (Part 22)
板一覧が取得できなくなってる? 更新してもカテゴリの下の板が全部空になる。 URL の protocol が http から https に変更されたのが原因みたい navi2ch-list-valid-board と navi2ch-list-board-id-from-url function で "http" となっている所を "https?" に変更すると board.txt の中身 が作られる様になった(その後に別の問題が発生) http で読むだけなら navi2ch-list-make-board-txt をいじって https に変更された url を http に置換して board.txt を作成させるようにしたらとりあえず読めるね >>28 「別の問題が発生」というのは、 https でアクセスできなかった (gnutls-cli が呼び出された?) とかですか? >>28-29 ありがとう。素人だから即席だけど読めるようになった。 diff --git a/navi2ch-list.el b/navi2ch-list.el index 4188735..48a19ea 100644 --- a/navi2ch-list.el +++ b/navi2ch-list.el @@ -592,6 +592,8 @@ changed-list は '((board-id old-board new-board) ...) な alist。 (when (and (not ignore) (string-match "href=\\(.+/\\([^/]+\\)/\\)" attr)) (setq url (match-string 1 attr)) + (when (string-match "^https" url) + (setq url (replace-regexp-in-string "^https" "http" url))) (setq url (or (cdr (assoc url navi2ch-list-moved-board-alist)) httpsも2chproxy.plの方でいじるとこあったような >>32 ENABLE_2CH_TO_nCH ね ウチのバージョンでは 3 以上だと書き換え対象っぽい いや ENABLE_REPLACE_HTTPS_LINK みたいです >>34 ENABLE_REPLACE_HTTPS_LINK は bbsmenu.html の書き換えには使われなくね? (少なくとも commit 15bf90b までは) >>31 ありがとう。読めるようになった。 パッケージの更新を待ってたけど、待ちくたびれた。 >>31 有難う .navi2chを消すとスレタイ読めるようになるけど 今まで.navi2chがあると読めない これは仕方ないですかね? >>37 (navi2ch-list-sync 'force) を eval すれば更新されると思う C-u sで板一覧を読み直してもだめかな? いずれにしてもboard.txtを一度捨ててやればいい気がするけど。 >>39 ああ専用のキーバインドあるならそっちの方がいいね 確か board.txt 削除するだけだとダメだった気がする >>38 ,39,40 素晴らしい!できました ありがとう これからどんどんhttpsが普通になってくるんだろうけど、windowsのgnutls-cli.exeが亡くなってる もはやemacsをWindowsで使う人は絶滅危惧種なのだろうか change_access_Nch_request() で https を http に置換すればいいよ イジメ被害者に凄惨ないじめをしても 「いじめられた本人が悪い」と 平気で言えるのが大阪府三島郡島本町の奴等 大阪府三島郡島本町は 「大阪府三島郡島本町のいじめはいじめられた本人が悪い」 として虐め加害者を擁護し被害者を非難する ガラも程度も悪い暴力イジメ廃人町 大阪府三島郡島本町は 「大阪府三島郡島本町のいじめはいじめられた本人が悪い」 と公言して公然とイジメ加害者を擁護し被害者を非難する 極悪非道の卑劣な町 大阪府三島郡島本町こそ日本国家社会の癌 2chproxy.plでENABLE_REPLACE_HTTPS_LINKを有効にしても、 置き換えたhttpのリンクを開けなくなってる? 最近、BBSPINKがヘッドラインしか見れなくなったです。 これって、navi2chが原因でしょうか、 それとも、2chproxy.plが原因でしょうか? >>48 あぁ >>33 の方法(ENABLE_2CH_TO_nCH を 3 以上にする)は BBSPINK だとダメなのね >>31 の方法でやるか、あるいは 2chproxy.pl を書き換えるなら bbsmenu_tolower_response() の中の適当なところで $content =~ s|https:|http:|g; とすればいいかも >>49 2chproxy.plの書き換えでうまくつながりました。 ありがとうございます。 ubuntuで以下で落ちるのですが何ででしょう? Debugger entered--Lisp error: (wrong-type-argument stringp nil) expand-file-name(nil "~/.navi2ch") navi2ch-load-info(nil) navi2ch-board-load-info(((name . #("芸スポ速報+" 0 6 (charset cp932-2-byte))) (bbstype . unknown) (uri . "https://hayabusa9.5ch.net/mnewsplus/" ;) (id . "mnewsplus") (type . board) (seen))) navi2ch-board-select-board(((name . #("芸スポ速報+" 0 6 (charset cp932-2-byte))) (bbstype . unknown) (uri . "https://hayabusa9.5ch.net/mnewsplus/" ;) (id . "mnewsplus") (type . board) (seen)) nil) navi2ch-bm-select-board(((name . #("芸スポ速報+" 0 6 (charset cp932-2-byte))) (bbstype . unknown) (uri . "https://hayabusa9.5ch.net/mnewsplus/" ;) (id . "mnewsplus") (type . board) (seen)) nil) navi2ch-list-select-board(((name . #("芸スポ速報+" 0 6 (charset cp932-2-byte))) (bbstype . unknown) (uri . "https://hayabusa9.5ch.net/mnewsplus/" ;) (id . "mnewsplus") (type . board) (seen)) nil) navi2ch-list-select-current-board(nil) funcall-interactively(navi2ch-list-select-current-board nil) call-interactively(navi2ch-list-select-current-board nil nil) command-execute(navi2ch-list-select-current-board) >>51 多分 https: から始まる文字列を板のURLと認識できてない navi2ch 内部または串で https: を http: に書き換えるようにすればいいはず 詳しくは>>27 あたりから読んで >>52 ありがとうございます。 その対応は仕込んんでいたんですが (setq navi2ch-net-enable-http11 t) をnilに変更したら逝けるようになりました。 自分は 2chproxy.pl で>>49 の対処法でやってるんだけど navi2ch-net-enable-http11 の値は nil でも t でも板の読み込みは問題ないっぽい 問題はどの板でも書き込みが当分お断りされることなんだけどね 2chproxy.pl のスレは荒らされ放題だし、串自作すっかなあとかって考えてるとこ >>55 トン 最初はそれで回避できてたんだけどしばらくしてダメになった FirefoxからのPOSTと比較して色々試したらできるようになったっぽい 俺環の予感 >>56 うちは FORWARD_PROXY で上位PROXYに squid を指定してるとダメだった リクエストヘッダにproxy的なヘッダ (例えば、Cache-Control とか?) があると拒否されるっぽいけど、 それ以上は詳しく調べてない stone で中継すれば、ヘッダいじらないので大丈夫だった proxy的なヘッダもだけど、専ブラ的なヘッダで弾くこともあるらしい (ソースはDetour情報ページ) >>31 ありがとうございます。5chは読めるようになりました。machi.to をbbsmenuに追加したところ、machi.to のスレだけ読めないのですが、皆様いかがでしょうか? >>59 5chと違って常時SSL化されてるからじゃないかな 2chproxy.plはSSL非対応だから別の串使うとか 上の方のレス見るとstoneで中継してる人もいるみたいね 内製っつうか、EmacsからGnuTLSを使うオプションは標準で用意されてるんだけどね 使ったことないからNavi2chや串との相性は知らんけど >>59 自分のバージョンだと machi. の前に www. とか付いてないとダメみたい 関数 navi2ch-machibbs-p を適当に書き換えれば読めるようになった (ちなみに自作串で http と https の変換をしてる) 備忘録に書いておく。 850 臨時で名無しです2021/03/13(土) 17:14:53.00ID:LBn3hLWN ●UAをwin10 2004(20H2)に偽装する 以下参照で Jane Style (Windows版) Part167 https://egg.5ch.net/test/read.cgi/software/1613305763/4 https://egg.5ch.net/test/read.cgi/software/1608815679/588 588 名無しさん@お腹いっぱい。2021/01/23(土) 07:57:15.62ID:hPKq93iZ0 User-Agent: Monazilla/1.00 JaneStyle/4.00 Windows/10.0.19042 ↑ UAを>>4 の方法で上に変えたのですが、 User-Agent: Monazilla/1.00 (JaneXeno/200711) に変更する方法は公開されていないのでしょうか? jane styleで「余所」のエラーが出ても、JaneXenoだとちゃんと書き込めるので、 UAをJaneXenoの方に変更できたら、janeでもエラーが出ずに書き込めると思って。 Hey, Yoga Pig Watkins! Stop speech suppression soon! US authorities already grasped your misdeeds colluding to Japanese junta, National Police Agency. Go to hell! Fuckin' fat! 2chproxy.pl と一緒だと navi2ch-net-connect-check がうまく動かない? 連続してアクセスしすぎるせいか、cloudflare にブロックされてつらい・・・ うちの Navi2ch には navi2ch-net-connect-check って関数ないなあ 開発版で追加された? 1.8.4 では何の問題もなく動いてるよ >>70 wait 入る? navi2ch-bm-fetch-maybe-new-articles で連続で fetch するとブロック食らう・・・ wait入らないなぁそのせいかアニメ2板とかでブロックされている navi2ch melpa版 2chproxy git最新版 あと >投稿エラー: ERROR: 不正なPROXYを検出しました。401 とかでnavi2ch+2chproxyから投稿できないみたいだ 自分も以前 navi2ch 1.8.4 でちょくちょく 410 Gone 食らってたけど最近ないなあ 2chproxy は、まあリクエストヘッダ書き換えないとダメだろうなあ navi2chも2chproxyも開発停止している? https://asahi.5ch.net/test/read.cgi/newsplus/1628123335/56 From: [56] ニューノーマルの名無しさん <sage> Date: 2021/08/05(木) 11:14:43.17 0 のようにIDが表示される所が "0" となっているレスを検索したいです。 すまんが何からチェックしていいのかも検討がつかず、手助けしてくれる人がいたらよろしく頼む。 Navigator for 2ch 2.0.0-DEV を使っていて open某 を見ているのだが、板のスレ一覧を更新しようとしたら「Checking file...error」 古いスレ一覧からスレを選んで「Filtering and inserting current messages...done」が出ても article のデータが更新されている様子がない 別にブラウザから見て確認できるほどのメッセージがない。 「そんな少ない手掛かりでわかるかー」かもしれんが、なにとぞよろしく その症状自体は 5ch.net でも起こることあるよ ネットワークが一時的に繋がらなかったりするとね ネットワークが復旧して Emacs 再起動すれば直る で、open某ってどこ? うーん、いくつか適当な板で subject.txt 取得しようとしてみたけど 503: Service Temporarily Unavailable. が返ってくるね サーバ側の不具合?自分は今まで使ったことなかったから分からん 今朝になったら症状がなくなってました。 サーバかネットの問題だったもんでしょうか、すんません。 某にしたのは NG ワードで引っ掛けられるかと思ったもんで。 ドメイン名だけだったのか、ひっかかるの。 proxy2chを「proxy2ch -s」で使って、melpa版のnavi2chで>>31 と↓のRefererの置換で書ける板と書けない板がある --- navi2ch-multibbs.el.orig 2021-11-16 11:41:23.001065794 +0900 +++ navi2ch-multibbs.el 2021-11-17 20:38:11.623090914 +0900 @@ -466,7 +466,7 @@ (list (cons "Content-Type" "application/x-www-form-urlencoded") (cons "Cookie" (navi2ch-net-cookie-string cookies coding-system)) - (cons "Referer" referer)) + (cons "Referer" (replace-regexp-in-string "http" "https" referer))) (navi2ch-net-get-param-string param-alist coding-system)))) (navi2ch-net-update-cookies url proc coding-system) 2chproxy.plで読んでinit.elに次のように設定してもずっと書き込みはできないけどそんなもん? (setq navi2ch-net-http-proxy "localhost:xxxx") (setq navi2ch-net-send-message-use-http-proxy nil) (setq navi2ch-net-user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0") 投稿エラー: ERROR: 投稿時の認証用クエリがありません。 Navi2chのソースはここ。 https://github.com/naota/navi2ch そんなもんだ user-agent に webブラウザのものを使うならリクエストヘッダの値なども偽装する必要がある もしくは偽装してくれる proxy を経由させるか それができないなら user-agent に専用ブラウザのもので書き込める値を指定する やっぱりそうだよね。 proxy2chであれこれ試してみたけど、 「投稿エラー: ERROR: もう新しいのにしましょ。」か、 「投稿エラー: ERROR: 不正なPROXYを検出しました。」で、 手に負えそうにない。 結局、アクセス規制をかいくぐる修正が延々と必要になって放置されちゃったのかな 一瞬 2chproxy.pl のスレかと思ったわ どの串にせよ、ユーザがリクエストヘッダをカスタマイズできればいいんだけどね >>87 それでダメなときもあったのよ 今どうなのか知らないけど すまぬ。ゴミを書き込んじゃったけど何か書けるようになった。 結局、proxy2chをUSE_LUAでビルドし直して、 >>87 さんのようにUAを変更したsample.luaを少しいじったら書けるようになった。 また使えるようになって助かったよ。 書き込めたり書き込めなかったりイタチゴッコな感じ有る URL の http:// が半角で書けない規制とか今どうなってるんだろう 面倒だからコロンを文字参照に自動変換してるんだけど 某スレで指摘されるまで自分でもそのことすっかり忘れてたっていう navi2chを久しぶりに終了して再度スタートさせたら 板のカテゴリ(「ニュース」とか「案内」)は表示されるけど カテゴリにカーソルを移動してEnterを押しても板が表示されなくなりました .navi2chを見るとboad.txtが同じように板のカテゴリが羅列されているだけで 板名やURLが記入されていません これはどうすれば直りますかね? navi2ch-list-bbstable-url を変えれば良い? 板一覧でC-u sとかして更新してもだめなのかな? >>96 レス有難うございます 駄目です直りません 前スレを navi2ch-list-valid-host-regexp で検索 >>98 以下でも出来ません (setq navi2ch-list-valid-host-regexp (concat "\\(" (regexp-opt '(".2ch.net" ".5ch.net" ".bbsp=ink.com" ".mach=ibbs.com" ".mach=i.to")) "\\)\\'")) (setq navi2ch-list-bbstable-url "http://menu.5ch.net/bbstable.html" ;) (= はNG ワード対策なので抜く) 今は古い.navi2chからboard.txtをコピーしています https:のアドレスに対応してないんじゃないの それも前スレに対応策あったような気がしたけどすぐには見つけられんなあ 自分は串で全部http:に書き換えてる >>101 うまいこといきました 有難うございました 別のスレにも書いたけど UA だけじゃなく他のリクエストヘッダも見てるっぽいから 板にもよるけど UA 偽装だけじゃ不十分な場合もある Accept: text/html と Accept-Language: ja と oekaki_thread1 あたりが必要みたいだね。 あと Referer もスレの l50 のアドレスとかにしないといけないみたい。 navi2ch-2ch-send-message を書き換えるのが良さそうかな。 proxy2chのサンプルスクリプトもそんな風になってるけど、 ApiKeyのあたりが何のことかわからない。 proxy2ch は知らないけど、API 使ってるなら話が全然違うような スクレイピングで何とかしようって流れだから どこぞの親切な人のsample.luaを借りてUAだけちょっと変更したらとりあえず書けた。 でもいろいろ制限してるみたいだしこの先もわからんね。 いや、だから>>113 で書けたの。 でもまた書けなくなったりくり返してるね。 今のところ以下で書ける (setq navi2ch-net-user-agent "Monazilla/1.00 (Ciisaa/1.43(A))") その後>>116 で書けなくなる proxy2chを使ったら書ける proxy2chは以下で起動 http://egg.5ch.net/test/read.cgi/software/1649749366/62 navi2chは以下を設定 (setq navi2ch-net-send-message-use-http-proxy t) >>118 proxy2ch 拾ってきてコンパイルして復活できたわ。さんくす 今のところ sample.lua でリクエストヘッダいじる必要はないんだね あ、でも書き込みすると俺環では Emacs 上に >投稿エラー: HTTP status: 200 >---------------- >send message...failed: HTTP status: 200 って出るわ。書き込みは成功しているけど 何だろこれ… (navi2chの設定を色々イジりすぎてるせいかもだけど) >>121 proxy2ch からの HTTPレスポンスをキャプチャしたりして原因を調べてましたが、 どうやら proxy2ch を --chunked オプションを付けずに起動すると、 navi2ch がなぜか書きこみ結果の HTTPボディを拾えなくなって? >>120 の症状が出るみたい おま環、OS依存かもしれないですが… あと、>>118 の先の proxy2ch オプションですが、-c は要らない気がします (navi2ch は HTTP CONNECT を喋らないと思うので) 現時点で navi2ch + proxy2ch を動かすための ・navi2ch に当てるパッチ ・proxy2ch 起動オプション をまとめたほうがいいですよね 2chproxy.pl 今までありがとう~ >>122 navi2ch を設定変更なしで ・*.5ch.net 対応 ・proxy2ch で動作 させるためのパッチを置いておきます 変更点: ・*.2ch.net -> *.5ch.net 変更対応 ・bbsmenu.html を 5ch.net から取得 ・bbsmenu.html に含まれる https:// リンクを http:// に強制書き換え ・navi2ch-net-http-proxy : proxy2ch に接続するために初期値を localhost:9080 に変更 navi2ch と proxy2ch が別マシンで動いている環境では、要設定変更 ・navi2ch-net-accept-gzip : 環境によりgzip周りがまともに動かない? ようなので、初期値を無効に変更 ・navi2ch-net-enable-http11 : 今どき HTTP/1.1 を喋るほうが望ましいので、初期値を有効に変更 (・navi2ch-net-send-message-use-http-proxy はデフォルトで有効になっている) >>123 patch 1つ目 --- navi2ch-list.el.orig 2021-02-07 02:11:34.000000000 +0900 +++ navi2ch-list.el 2022-05-07 18:24:59.186532000 +0900 @@ -94,7 +94,7 @@ (nil " " navi2ch-list-board-name-face)))) (defconst navi2ch-list-bbstable-default-url - "http://menu.2ch.net/bbsmenu.html" ;) + "http://menu.5ch.net/bbsmenu.html" ;) ;; add hook (add-hook 'navi2ch-save-status-hook 'navi2ch-list-save-info) @@ -592,6 +592,9 @@ (when (and (not ignore) (string-match "href=\\(.+/\\([^/]+\\)/\\)" attr)) (setq url (match-string 1 attr)) + ;;(when (string-match "^https" url) + ;; (setq url (replace-regexp-in-string "^https" "http" url))) + (setq url (navi2ch-replace-string "^https:" "http:" url nil)) (setq url (or (cdr (assoc url navi2ch-list-moved-board-alist)) >>123 patch 2つ目 --- navi2ch-vars.el.orig 2021-02-07 02:11:33.000000000 +0900 +++ navi2ch-vars.el 2022-05-07 18:31:29.607203000 +0900 @@ -257,3 +257,3 @@ (concat "\\(" - (regexp-opt '(".2ch.net" ".bbspink.com" ".machibbs.com" ".machi.to")) + (regexp-opt '(".2ch.net" ".5ch.net" ".bbspink.com" ".machibbs.com" ".machi.to")) "\\)\\'") @@ -2010,6 +2010,3 @@ ;; net variables -(defcustom navi2ch-net-http-proxy - (if (string= (or (getenv "HTTP_PROXY") "") "") - "127.0.0.1:8080" - (getenv "HTTP_PROXY")) +(defcustom navi2ch-net-http-proxy "localhost:9080" "*HTTP プロキシの URL。" @@ -2081,3 +2078,3 @@ -(defcustom navi2ch-net-accept-gzip t +(defcustom navi2ch-net-accept-gzip nil "*non-nil なら、ファイル受信に GZIP エンコーディングを使う。" @@ -2096,3 +2093,3 @@ -(defcustom navi2ch-net-enable-http11 nil +(defcustom navi2ch-net-enable-http11 t "*non-nil なら、HTTP/1.1 を使用する。" >>123 proxy2ch の起動オプション (現時点では Version 20220501 が最新、sample.luaは不要) : -s --chunked --api a6kwZ1FHfwlxIKJWCq4XQQnUTqiA1P:ZDzsNQ7PcOOGE2mXo145X6bt39WMz6 --api-server api.5ch.net --api-auth-xua "JaneStyle/4.23" --api-dat-xua "JaneStyle/4.23" -a "Monazilla/1.00 JaneStyle/4.23 Windows/10.0.22000" 必要に応じて、以下のオプションを追加 --verbose : 詳細メッセージ -g : localhost 以外からの接続も受け付ける navi2ch-net-enable-http11を有効にするからgzipでエラーになるんじゃないのか >>127 そうかもしれないけど、HTTP/1.1有効にしないほうがこの先色々と不味くないです? 串が読み書きして curl_easy_setopt(curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); 使ってるのに >>129 いやそうじゃなくて、proxy2ch がいつまでもHTTP/1.0を解釈してくれるとは期待できないって話です そもそも今どき HTTP/1.0 とかもうないでしょ? 他の専ブラ次第かもしれませんが 嫌ならpatch当てなければいいです そこで串の名前を出すあたり何も分かってないだろ したらばでも1.0で問題無いのに何が今どきなのやら ていうかいまどき Shift_JIS だからなあ 5ch は 文字コードとか1.0とかおーぷん、Nextなども同じだし bbsmenuを他所のカスタムBBSメニューに変更したら普通に動いた また読めるようになった。 このスレだけが頼りだわ。ありがとう。 href= に対応する値が "" で囲まれるようになったのが原因みたい diff navi2ch-list.el.orig navi2ch-list.el 591c591 < (string-match "href=\\(.+/\\([^/]+\\)/\\)" attr)) --- > (string-match "href=\"?\\(.+/\\([^/]+\\)/\\)" attr)) href= に対応する値が "" で囲まれるようになったのが原因みたい diff navi2ch-list.el.orig navi2ch-list.el 591c591 < (string-match "href=\\(.+/\\([^/]+\\)/\\)" attr)) --- > (string-match "href=\"?\\(.+/\\([^/]+\\)/\\)" attr)) 2chproxy.pl なしで5chを読むだけならできる ----BEGIN BASE64----(navi2ch-5ch.el.gz) H4sICCgtf2QCC25hdmkyY2gtNWNoLmVsAKVXbW/bRgz+HGP/oF9umrNJDmTFTrsX Q5GwFMVarOu+7FuUGLJ9tgXYZ093TruhP34k70UnxU5fltaGxCN5zz3kkXS44MuH smaifKjG83X8Aj5rtd3EahcvShXXfMU/7ONRj7FwvhPzUrEgXags6J0xFhRFeHsZ /3J3URRRUcjb+/RuoFdSWMonJVvXfHldBNuy2qjdBPXvi0Drg/XH5U6o2/vsbgAC 4zOdZaA2HOQgShN6gSezlmi3xrIxGjo87iGfIJyL3BmTDFAOUgcrXyu1R0SIIMgJ SUanSJMSdo7yjmnLL8ngK9UcoP4FGaMhMdLYN09y4PlMS6INtp3xkNgJI7KPNJai yEmaEmVtUOli4YXhvhCkQ5Io6vXCz4vsuBVZArWoHoBguS8F+GPzTSklcCUO2xmv garHodcSP/rJY0eZnxgntii33G0AeeARZWRPJ5SfOKWz/ujz7RIu00Ey+noxwdVW 2F3eWTBfeTIgnLfxnXTjH/cJjzNOmUNnd5Q5ejCvZT5Jkhkf6jDN10PBVXKQvE5a 1zbQdNjNdb5lXlx9LjsX4mOaALqMHhBgZt/9K5eCyMHecinLleYCrVUGaexWFcAv F9NK0HrjRJN2JAKLhSPO5vxBnEz5TSW4ZGGEKb/hasDCcF/zh2nN5VSnN7uMwFf4 6t2vN29fTccvX0//+nMqXr5uy9/88RvK37559zsT1QaXWM0VU5XacDbjK8bFgql/ 9pzpW4Y7wp6rHQCZr+FShvtdJVS8rURk1t6vuWBhCXah5GUNyJe7+n1ZL8xFhYOT +yzALZmiTekP9NXftGu4LRUY4uaXUUvhqMOizguRp8mTftGZ8QtbVEJUYoXeNWyr pU8ezg7LJa9jeZhJVaOi4aLRrpYsvGZ5CjUHeIjLpQLStcaZc4bEjXpnZwbop3oT mHqGY3uAz7MeN9jerys8xHG2rDfDEeYPpI+XOaE+Mrq3Ek2boWIUNSEJOdYv87zr つづく つづき ao4jFgQOlv0LsTpO16VcH7O5ijqC58aJ3REr0FTyabU4Yv2iozzjI7ftI+UfHymP Tyv/1FGGTqO4UMeVf24r43X10sI/Qc33m3LObRArYV0EthDht6lsDP5BNuEf+W0c +VlnkT3le1Zn+AF/gdX/IheIAsu0nSds3au2VBN1S5JUw6kGZ1SMv7+zU4Upxeik KEYOA/saFOAagUQWy+20jP+9o2/sDYNr7AzQXgaEa0BjmDTtxVv4fHNT0Q34ohgX xdX/O0JabVcwT8l6fl3oXmP6HhKZJLhaDP1mN1+DANugnRsGZhCVgyQ3zIZw8bc4 DEkp9xPyMjyXpn0Cap1KlMmQiFDMxuxRu4jgRvVcvjFSe35MbdxWUzquVClA+nXc 4B3IW+nfTVbqNY97mb53XxIBZmJwMgjwniS390Mkevizo9+b2dz0od3dPuvf9AdX Yf+iHz8Lb+4YOpsgKUbD48QjBUtFE7lzmWb6Y5+sNWNNFdU1uCkGToWaFHXilF3i pCBWag2tbBT50eosjiO76mCwm1eTcxmfywCNSafXBBsqnXs7Eh7ImBFr2kvkB0ef 1gzt9EL9N3L21Megx44uWGfAiU75xPkFXUoWYAiCfvFt2pcQgjT70vcAneHhWHf3 o4j8OHb1m0caByxEOjNu4s0hAkx5LRv5J6bBZg6E62kmwycHR7sXuAUjuhHVTvij nHsuPzjd3aaSsAMh1m7cKCRgFjfxg0FMY/7mEWy4L/Fhj2kaLyGuiA2ys15JD/6h 3gAzMFeSHMeTJaWAgNQcNUJVbY1w7GkexFwLrxohnI04Cu5p+oabqktmQrc2gaX2 j4hiCKJ+0B5mzUBELZ5ZjwDVMaDBQ8yX1YfutESKNkNnO5jEWHdMaqkcnbmutAqe 6AgkqFbDF7YmBUzj8JKRWG1qSqK4VAn+QBnOV1UCAvhvzZiG6C7WGdH63Q8nMsol bijwGmN+SOKGUeAoUOhBnw6jM1/U0EJ0gCi5y8VDBXW5hJ9PzTadZGET+IYJO0Y7 TdRJXYQY9f4D/0xnsRASAAA= ----END BASE64---- 書き込みできないのは何で? 5chのAPIって有料なの? 別に API 使わなくても書き込めるよ 現に自分は 2chproxy.pl の他にさらに自作の串挟んで書いてる 確かリクエストヘッダをちょいといじるだけ(自作だけど詳細忘れた) まあプロバイダと板と時期(選挙期間とか)の組合せによってはダメなこともあるけど てか今は他にもいい串あるみたいだからそれ使えばいけるんじゃない? 正直 Perl スクリプトとかもういじりたくない… >>140 diffに-cも-uもつけないのはなんなんだ 最近多すぎる read.cgiの仕様が変わったんでproxyの対応を待った方が良さそう 2chproxy.plはlinux板のスレでパッチが作られてるし proxy2chは対応したバージョンに更新されてる >>152 情報ありがとうございます。 復活しました。 そりゃAPIは変わってないんだから読めるだろ 過去ログやread.cgi経由で読む時の話だ 上にもread.cgiと書いてあるだろ ああなるほど あんまりよく分かっていないもんですから elisp だけで 5ch を読むための navi2ch-5ch.el を書き換えた 必要な変数設定も埋め込んだ ----BEGIN BASE64----(navi2ch-5ch.el.gz) H4sICJ4gi2QCC25hdmkyY2gtNWNoLmVsAM1YX4/bRBB/vogPsTIctXOyfcm1UE6+ RLSq2opSXpB4iO8ix94kFrETvJtrQX3hHvkUPIKQQOIb8DUQX4JvwMzser32JSlX XrjrpevZ+fPbmdmZcVzB5TesTK7zYbr0k0rm6Yr7vExm8F+Wz+eszFdez22xrXIh /dlMSOLaVivmLKXcnIdhwctt8CBdBiWXIXDQ81IWK2enjutklWf+cg3Lii/4602P 0Y+brss0kcyJY9fpHWmiYvHXG8nuuU5txmFOAAoDkdYrTQTzm7z8OkjXBeg4Ii1O UCTpMoctItfPgVw7nlcbAqteHN9DSs/N+Pw6qQxsMOrjeXy59rOkhu0PehboKJMj Qo3wJ6f+J5cnpFFMrqLLvtqJYGt8nrBlxecXsVMk+Uquz5H/KnYUP0i/ma9LObka XfaBoHVGsxGwBf0xkKKQHmCl90KlVks2QoHBYxbjc4RzMjbCRAOU/cjAGmNYEREi cMaEZESniMIELHvjjmhLL9HgI1I+QP4TEkZB8kgj36xE39IZJeQ2MDvjLnnH9Uje U1jieEzUiFzWBhVlmRWGq7gkHqLcIbLDVmQJVJZfg4PFJilBH0tXiRDgq3JbzHgF rrodekWxox/eVjSyE2OPiaTgxgDkgeUoTTucUHbiJEb6je1vk3AjFSTNrzZD3G2F 3eRdDeYdTwYO5218e9XYxz2gccYpc+jsxmXGPZjXYgwFa8YDFSZds7aCV2Hr2jrK HbVxlW8jK662LzsX4k0UAroRLRDgqH62r1wEJAO74EIkC+ULlJYjSGOzKwF+kk3z kvYbJcppOyKQZcZxd8j5s1bO66bAIH/h2LUrMy4hxQRbb3hp8G2wki8BonURIrEt iqT61jyCH1oCeaYib1yufbWPH0Okb0L7Drw9+63wkMsoqVXN0KV0fO7+9dsfv/7+ FVOlxgMTassbd6GpygukAwdsJXadBC2OLZ2/Tvu2+v9foh+8mKbyhjo7jEt4KvN1 J08gwSSHJtW69prTVBOdfCPTjLfl3uxd5SUXzPUwe1dc9pnrbip+Pa24mKrqzE6x ybtPXn766MWT6fDxs+mXX0zLx8/a9OefP0X6i+cvP1PTD0CpuGQyl3ANZnzBeJkx dVc8mljcxRowpEu4Wu5mnZfSL/LS03uvlnBD3AREYAJKKgA9X1evkirT1w2OSZpH Dlpj0swhTE1MaNAtEgmCaPfUazHsVBhX47iEdDuoF5VpvWAiL8u8XKB2r2dzqUO7 つづく つづき s+18zitfbGHqq5BRu6HhzufMvWDjCCoH+MFP5hL8rTiOamUa39uGKZC4C/8Q+dH8 bm/USiwf2PHa4YG7Aj6znPZqmaO//hUUzFJIUis/XeVd1F9TFD7t9YHXRN/lWOb0 et3lHHrMcQys+sfFwjldJmK5S+bM6xDuayW1RaxmU8GnebZD+kGHecYHxuwt5o9u MQ/3M3/cYdaVYzfzwzYzFgUroPYJKr5ZJSmvo5iXtQrHLtS6KjL4xbcI/SJhKbLz pXHvQe3jSTK7RJ1OI2GrqQ94SMmsGuEfKdH8d1JBr0QODthqdq9rc17Q/KEanqA2 Qm2AWvTVh5f1BK/HHlQSxwODgb0LClCNQLway2Sa+N9d0ie2p/4FNifocH3C1afG K3SHszb+vbienjT4OB7G8dl/O0KUFwt4dxFVehGr1q1bLzoyDHE3Dux+my6BgJ24 nlL6+qVP9MOx9qwL9aPAIUwIga/XoCU4FrqDA2qVkXQhIJ+h/A7Zrd7mwcXsmbRl xHZ/F9uwzSZVXKngAPXdfEPJ3rpF3WSl7ni78eo6fYcIMB2DvUGA5zCcXAXo6OCh cb81IZoBSKmb3Pz0w9Obn29+uWT09Qa6Q+9Z3rDcgbWmidmxiEbqr16ZryGsOqGK eFNNDAt1NJoaInaKA025kEtouwPPjlNnc+jVuwYGe/Tk/Fj4x8JBYeLpNWGGUmme dgQGcmXAmv7k2WFRp9WvCfRAs4Jn5KkRwjwwOGGdOczbpxPHLFQpmHPz482f309u /o5Gh1cOCuEhWNfKTst2vLr8zRLUNVDobGjEavMliPJKNPS3DKfNWAoXUA+qB+fY 2haoBSHKeZygrfHSrJPXhneNX6sxMsCUGjOelTDw6zjBcKgwv3cLNtwIf7vBdPTn ED/EBllYLYQFH7/wc1OYnYiOc8ycQl1CCg4aoswLTRxanNsyVcSzhghnIx85V/Qm AHdRFcWQ7mUIW+03lTgA0gdOe8DWkxPNAqzWCFCNBxR4iPk8f90dq4ixzsTZGkY2 1p2nWiw7h7MzxYIn2gEJ6hF+ZamqjsMUDisZyatN7QglFzLE1/0gXeQhEOBfLcYU RHOBjsit79/bk1Emcd0SryvmhyDfMAocBQo1qNNhdNKsgiahAkTJnWTXOVTeJMss M51kYefwCVO/j3LKUXt5EaLX+wfxp+LSfhYAAA== ----END BASE64---- >>157 いただいたファイルを ~/.emacs.d/elpa/navi2ch-20200130.36/navi2ch-5ch.el に置いて、 emacs-28.2 -q で起動した後 (when (require 'package nil t) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/" ;) t) (package-initialize)) (eval-after-load "navi2ch" (load "navi2ch-5ch")) を評価して M-x navi2ch しても板一覧が取得できないのですが、何か他に設定が必要でしょうか? >>159 >>140 の変更が必要かな? 他にも*.elファイル中でhttp:決め打ちになってる所をhttps:に変更する必要があるかも Navi2ch完全ふっかああああぁつ!!wwwwwww 書き込みの規制めっちゃ緩くなってるね いったいどうなってるんだ、いや別に悪いことじゃないんだけど またすぐ荒らしが来て規制されるのかなあ スレチスマソ 10年ぶりくらいにnavi2ch使ってみた。書き込めるかな (setq navi2ch-list-bbstable-url "http://menu.5ch.net/bbsmenu.html" ;) でカテゴリーはとってくるけど板一覧が持ってこれない。 とりあえずスレのURLをChromeで探して直接開いて読んでいるw その1 diff --git a/navi2ch-list.el b/navi2ch-list.el index 4188735..a2e8cad 100644 --- a/navi2ch-list.el +++ b/navi2ch-list.el @@ -567,7 +567,7 @@ changed-list は '((board-id old-board new-board) ...) な alist。 (let ((board-id (cdr (assoc url navi2ch-list-board-id-alist)))) (or board-id (save-match-data - (if (string-match "\\`http://.+/ \\([^/]+\\)/\\'" url) + (if (string-match "\\`https?://.+/\\([^/]+\\)/\\'" url) (match-string 1 url)))))) (defun navi2ch-list-make-board-txt () @@ -590,7 +590,7 @@ changed-list は '((board-id old-board new-board) ...) な alist。 (if (string-match "a" tag) (let (url board-id id u) (when (and (not ignore) - (string-match "href=\\(.+/\\([^/]+\\)/\\)" attr)) + (string-match "href=\"?\\(.+/\\([^/]+\\)/\\)" attr)) (setq url (match-string 1 attr)) (setq url (or (cdr (assoc url @@ -624,7 +624,7 @@ changed-list は '((board-id old-board new-board) ...) な alist。 (defun navi2ch-list-valid-board (uri) (save-match-data - (when (string-match "http:// \\([^/]+\\)/\\([^/]+\\)/" uri) + (when (string-match "https?://\\([^/]+\\)/\\([^/]+\\)/" uri) (let ((host (match-string 1 uri))) (and (not (string-match navi2ch-list-invalid-host-regexp host)) (string-match navi2ch-list-valid-host-regexp host)))))) その2 diff --git a/navi2ch-multibbs.el b/navi2ch-multibbs.el index 8e49f28..d1ef831 100644 --- a/navi2ch-multibbs.el +++ b/navi2ch-multibbs.el @@ -345,7 +345,7 @@ START, END, NOFIRST で範囲を指定する" ;;;----------------------------------------------- -(defsubst navi2ch-2ch-subject-callback () +(defsubst navi2ch-2ch-subject-callback (&optional args) (when navi2ch-board-use-subback-html (navi2ch-board-make-subject-txt))) @@ -525,7 +525,7 @@ START, END, NOFIRST で範囲を指定する" 'equal))) (navi2ch-cache-get (cons uri file-name) - (cond ((string-match "http:// \\(?:[^@/]+@\\)?\\(.+\\)" uri) + (cond ((string-match "https?://\\(?:[^@/]+@\\)?\\(.+\\)" uri) (navi2ch-expand-file-name (concat (match-string 1 uri) file-name))) その3の1 diff --git a/navi2ch-net.el b/navi2ch-net.el index dc11ec5..972c97f 100644 --- a/navi2ch-net.el +++ b/navi2ch-net.el @@ -228,7 +228,8 @@ nil なら常に再接続する。") host (cdr (assq 'host list)) file (cdr (assq 'file list)) port (cdr (assq 'port list)) - host2ch (cdr (assq 'host2ch list)))) + host2ch (cdr (assq 'host2ch list)) + rest (cdr (assq 'rest list)))) (when navi2ch-net-http-proxy (setq credentials (navi2ch-net-http-basic-credentials navi2ch-net-http-proxy-userid @@ -257,11 +258,8 @@ nil なら常に再接続する。") (setq proc nil) (unless (navi2ch-net-down-p host) (condition-case nil - (if (string-match "^https://" ; url) - (setq proc (funcall 'open-tls-stream - navi2ch-net-connection-name buf host "443")) - (setq proc (funcall navi2ch-open-network-stream-function - navi2ch-net-connection-name buf host port))) + (setq proc (apply navi2ch-open-network-stream-function + navi2ch-net-connection-name buf host port rest)) (error (navi2ch-net-add-down-host host))))) (when proc (with-current-buffer buf その3の2 @@ -304,6 +302,10 @@ nil なら常に再接続する。") (navi2ch-net-cleanup-vars) (setq navi2ch-net-process proc)))) +(defun navi2ch-net-split-url-scheme-to-rest (scheme) + (if (string-prefix-p "https:" scheme) + '(:type tls))) + (defun navi2ch-net-split-url (url &optional proxy) (let (host2ch authinfo user pass) (string-match "https?://\\([^@/]+@\\)?\\([^/]+\\)" url) @@ -324,16 +326,21 @@ nil なら常に再接続する。") (cons 'host (match-string 2 proxy)) (cons 'file url) (cons 'port (string-to-number (match-string 3 proxy))) - (cons 'host2ch host2ch))) - (string-match "https?://\\(?:[^@/]+@\\)?\\([^/:]+\\)\\(?::\\([0-9]+\\)\\)?\\(.*\\)" url) + (cons 'host2ch host2ch) + (cons 'rest (navi2ch-net-split-url-scheme-to-rest (match-string 1 proxy))))) + (string-match "\\(https?://\\)\\(?:[^@/]+@\\)?\\([^/:]+\\)\\(?::\\([0-9]+\\)\\)?\\(.*\\)" url) (list (cons 'user user) (cons 'pass pass) - (cons 'host (match-string 1 url)) - (cons 'port (string-to-number (or (match-string 2 url) - "80"))) - (cons 'file (match-string 3 url)) - (cons 'host2ch host2ch))))) + (cons 'host (match-string 2 url)) + (cons 'port + (if (match-string 3 url) + (string-to-number (match-string 3 url)) + (if (string-prefix-p "https:" (match-string 1 url)) + 443 80))) + (cons 'file (match-string 4 url)) + (cons 'host2ch host2ch) + (cons 'rest (navi2ch-net-split-url-scheme-to-rest (match-string 1 url))))))) (defun navi2ch-net-http-basic-credentials (user pass) "USER と PASS から Basic 認証の証明書 (?) 部分を返す。" @@ -999,7 +1006,7 @@ This is taken from RFC 2396.") "BBS_\\(TITLE_PICTURE\\|FIGUREHEAD\\)=\\(.+\\)" content)) (setq src (match-string 2 content)) (let (url file) - (setq url (if (string-match "http://" ; src) + (setq url (if (string-match "https?://" src) src (navi2ch-board-get-url board src))) (string-match "/\\([^/]+\\)$" url) なんかタブが潰れたり文字参照になってたりなので、gzip + base64 H4sICC0QsmQAA2RpZmYtMjAyMzA3MTYudHh0ALVYbXPaOBD+DH+hX3Qcc9gHIkBIAum0SdMmbXqd ppOkNzct1zthC3BjbGKLJp25H3+7K9v4DUKmUyatQdpd7WqffbSy7UwmjPOpo5jY8cQ3p2fNuOuE qi1dNs6PVB3Plves3x0MDnb32m3RkwNL2Kzb6ez3+1XOedFKtdlsllg6PmZ8b/+gdcCa+gED1kx4 U2mTDHtSP6lfPDFOWMMwxr4IbO7YzHdtTj+YJ+/0N5O1222TxN+iuEBt+PXLr0+qjDHDlYqlLBiW HTBDhKFvsWXgsrRfPJbiZMSED5oAI37A4rkqqxih+Cb5XCjQs4USVV4BGWfCjFAFjjfVU6w2Gv07 U2pxuLPTbu6MRsbnLzt/N0cjE743ari6WW1u1AyPNumyCtPeaU+0BdalSVM7X2WGLSdLLxvmXNzI KFZ1D7tj6mwMO5QNevyUbJTHKmpMiWkqHMoY5iZZCP6WKFAx7mbSg/R5kEjPV8yZen4gTUhABbVz lmeBnDyDvSvsoFljQqnAxP1fr1g72qzLUNUIpbolJOXTsEYKoJTCIE5XosBhmhKx3+tjIvTjpySi HBbfQCa2A/vvEPiLWKcc6Tzkdk1jPbtdq++IWrDZ3KhPiH/AAkvjxJj5sCvFEnAI/5UVVLKLZQJ3 PB06muKBnMr7BcPvZgLKDcrrVKkA7TJ6nS9d5YzHYZZiU6MRzQ5kfzjpDdptuysng91uOc2m9bJU m55BXO329xBX+gEDV9cvLq9b7PT9qxZ7f3F2fnl1TXh5/eaic1EPnv716mt9WL8B9NQQMk+fPuWP +4AWR6CFyzHkKHYL/8HIV2kpbgnXHQvrBjmoua3ob/5COb4nXCaCaahRSniK1XRdLEOJyqjDZ2ru RlSeFSIqjJcAMtSsSXTYo93Sj8fuVlzUDXm7FG5yjqSWt4Q1k3wqVTwDrOB7ISKXTRxXck/MkdhS kwDktRV3dPj5yzGUyTHUiaYtYqpVxW20EVfdJisJPccRANShuHjibCJBC1mivCo1H9JnFea6SvFk naota さんのやつにパッチ当てようとしたら結構リジェクトされた…。 curl -s https://pastebin.com/raw/0LMurnzK | tr -d '\r' | patch -p1 でいけたサンクス navi2ch-5ch.elも修正してた (defun navi2ch-5ch-html-to-dat () ↓ (defun navi2ch-5ch-html-to-dat (&optional dummy) 誰かパッチまとめて新しいレポジトリたてて(他力本願) 板一覧をjsonで取得する事にした navi2ch-5ch.elはdatの代わりにhtml取得してdatに変換するもののように思える。 datを直接取得が復活してのでいらなくなったはず(navi2ch-5chを使わないでも読めてる) https://pastebin.com/d8fh3ghq >>183 それはめんどい >>184 サンクス、なおした パッチに日本語部分も含まれてるのでコード変換が必要 ↓でどーぞ curl https://pastebin.com/raw/d8fh3ghq | iconv -f utf-8 -t iso-2022-jp |tr -d '\r' |patch -p1 Location: を解釈できないので、navi2ch-list-bbstable-url も設定しないといけないっぽい。 defconst navi2ch-list-bbstable-default-url "https://menu.5ch.net/bbsmenu.json" ;) になってるから、そっちから読むはずだけど、navi2ch-list-bbstable-urlをカスタマイズしてhttps://menu.5ch.net/bbsmenu.html にしてない? htmlからの読み込みは試してない、これから試してみる どれにどのパッチを当てたらいいのかわからなくなってきた\(^o^)/オワタ >>188 ああっ、よかった仲間がいた どこをどう弄って動かしてたんだか、記憶から完全に飛んでる >>190 github.com/naota/navi2ch.git のソースに >>185 のパッチを当てればいいみたい 久しぶりにnavi2chで2ch(5ch)が読めるようになりました。ありがとうございました。 (setq navi2ch-open-network-stream-function 'navi2ch-open-network-stream-via-command) (setq navi2ch-open-network-stream-command "nc %s %s") するとうまく動かないのは何でだろうね。本当は ssh -D1080 で socks したいが、socks 外してもうまく動かない…。 Symbol' s function definition is void: json-parse-string json-parse-stringの存在確認も必要なのか… ちょっとすぐにはパッチ作れ無いのでjson-parse-stringが使えない場合はbbsmenu.htmlを指定してオクレ >>193 proxy使う環境がないので、未検証だった ssh先でopenssl s_clientやnc -sslとかするのかな 週末までいじる時間取れない スマン >>196 ダイナミックポートフォワーディングだと、いろんな接続先あっても毎回接続し直さなくて済むのよ。 ssh -fN -D1080 どっか nc -x127.0.0.1:1080 -X5 5ch.net 80 GET / HTTP/1.0 でうまくコネクション切ってくれないのが原因ぽい気がするけど、cloudflare 側の問題かな…。 コネクション切れないのは nc の問題だった…。 https://github.com/larryhou/connect-proxy 入れて、 (setq navi2ch-open-network-stream-function 'navi2ch-open-network-stream-via-command) (setq navi2ch-open-network-stream-command "connect -R remote -S 127.0.0.1:1080 %s %s") でもだめで、 (defun navi2ch-net-send-request (url method &optional other-header content) (message "Now connecting...") (setq proc nil) (unless (navi2ch-net-down-p host) (condition-case nil (setq proc (apply navi2ch-open-network-stream-function navi2ch-net-connection-name buf host port rest)) ←このへんでエラーになっているっぽい。 (error (navi2ch-net-add-down-host host))))) Error: Wrong number of arguments: (lambda (name buffer host service) (let ((command (cond ((stringp navi2ch-open-network-stream-command) (format navi2ch-open-network-stream-command host service)) ((functionp navi2ch-open-network-stream-command) (funcall navi2ch-open-network-stream-command host service))))) (apply #'start-process name buffer (if (stringp command) (list shell-file-name shell-command-switch command) command)))), 6 最近の open-network-stream は TLS 対応なのね。やっとおっしゃっている意味がわかりました…。 ネイティブコンパイラがこけていることに気付いてハマってました。 https://pastebin.com/gWiBJv1i >>185 からの変更点 1 >>193 socks使う場合に対応 2 >>194 json-parse-stringがない場合のデフォルトをbbsmenu.htmlにした 3 バイトコンパイル、ネイティブコンパイルのコンパイルエラーの修正 * このパッチで修正されること open-network-streamがTLS接続をサポートするようになり、tls-open-streamが利用できなくなっていたので、 httpsを積極的に利用する事にしました。(https:はhttps:のまま取得するように変更しました。 変数navi2ch-net-http-proxyや環境変数HTTP_PROXYでプロキシサーバーを使う方法は利用できません。 外部コマンドを使用してご利用ください。 ネイティブコンパイラのコンパイルエラーを回避するために、相当量の修正が必要でした。 (ネイティブコンパイラがエラー終了すると、ロードのたびにコンパイルしなおしているようだ) SSL接続して、HTTP/1.0ではプロトコルエラーになるっぽいので、全部HTTP/1.1で接続します。 navi2ch-net-enable-http11はkeep-aliveを使用するフラグに変更になりました。(これを指定するとうまく動作しませんでした) * 外部コマンドでの利用 navi2ch-open-network-stream-via-commandがコマンドを生成する際に、http:からダウンロードする場合は3番目の引数としてnilが渡されます。 socks4+ncatでの利用例(かなり強引) ncatはnmapの付属品です。 (setq navi2ch-open-network-stream-command "unset ssl sslsw; host=\"%s\";port=\"%s\";ssl=\"%s\"; if [ ${ssl:-nil} != nil ]; then sslsw=\"--ssl\";fi; ncat --proxy localhost:1080 --proxy-type socks4 $sslsw $host $port") (setq navi2ch-open-network-stream-function #'navi2ch-open-network-stream-via-command) この設定でスレの表示、書き込み、イメージの表情は軽くテストしました。 ↓でどーぞ。patchの-lをつけないとリジェクトされます。 curl https://pastebin.com/raw/gWiBJv1i | iconv -f utf-8 -t iso-2022-jp |tr -d '\r' |patch -p1 -l >>200 神 もしかしてオリジナルの作者さんですか!? >>200 ってどれに当てれば良いのかな? >>185 を当てた上で当てるのかな? ついて行けてない >>204 有難うございます melpaはほとんど使ったことありませんでした トリ配布よりこちらを使うのが最近は流行りなんですかね >>200 のパッチと>>124 のhttps:// →http:// 、bbstableをhttpで指定の三つで、 NTEmacs 24.5上でもNavi2chが復活! XPにもNavi2ch入れたくなるw (NTEmacs 24.5でTLSをうまく動かせなかった) >>204 に>>185 のパッチを当てて読むのはできるようになったのですが 書き込みをしようとすると ERROR: 投稿時の認証用クエリがありません と言われて書き込みできません i.imgur.com/vkLdOe3.png どこをなおせばいいのでしょうか? >>207 >>204 に改良の加わった>>200 のパッチをあてましょう 誰かいるかな? いまスクリプト攻撃を回避するのに絵文字を使おうという方向になってるんだけど Navi2chはSJISしか投稿できないでしょう 投稿のエンコードを行ってるファイルがどれか判る人いる? 山下の旧運営がエンコードでブラウザを弾いてきたときもここで詰まってしまった 2ちゃんねる専用ブラウザが重大?なHTTP/HTMLの規約違反をしているかもしれない https://blog.3qe.us/entry/2013/12/09/031713 >>209 投稿は navi2ch-multibbs.el 内の navi2ch-2ch-send-message その中に (coding-system (navi2ch-board-get-coding-system board)) とかあるから辿ればいいんじゃない? >>210 即レスありがとう ファイル総当りで探してみる 当分誰も来ないと思ってたから驚いたw なんか板一覧が盛大に文字化けして大量の「&#65533;」(実際は半角)が これ多分 Unicode の U+FFFD だと思うんだけど、コーディング誤認識してる? >>209 の件と関係あるんだろうか あと俺環だったらスマソ bbsmenu 読み直したら直ったわ スレ汚しスマソ >>209-210 の件、まだ途中だけど備忘録に ~/.navi2ch/init.el ;; navi2ch-board-get-coding-system @navi2ch-board.el ;; navi2ch-board-coding-system-alist @navi2ch-vars.el (navi2ch-auto-modify (setq navi2ch-board-coding-system-alist '(("livegalileo" . "utf-8")))) とするとコーディングが指定できるらしい BOARD-IDはダブルクオート必須、CODING-SYSTEMは utf-8 だけでなくshift_jisも不可 EmacsはUnicode対応版で設定済みだけれどエラーになる 単に書式の問題かコーディングファイルを書き換える必要があるのかは調査中 CODING-SYSTEM のほうは文字列じゃなくてシンボルを設定するんだよ。 だからダブルクオートで括っちゃダメで、シングルクオートを前置しないといけない。 'shift_jis みたいに。 ごめん、コードちゃんと見てなかった。 そのコードだともう外側でクオートしてるから、シンボルをクオートすると二重になっちゃう。 何も付けずに、単に shift_jis とか書かなきゃいけなかった。 >>216 ありがとう Unicodeを選択するとサマリーが全て文字化けする… そもそも読むだけならUnicodee(絵文字)混交で読み込んでるしなぁ 送信だけ変更するには別の関数を探さないといけないのか 過去ログがなんか取得できなくなってない? Prxy2chでウェブスクレイピングしようとしたら現行スレも取得できない 少し前まで現行スレはダイレクト接続、過去ログはPrxy2chと使い分けてたんだけど ウェブブラウザでは見られるんだよね スタンドアロン版html2dat(.exe)があればどうにかなるのに 「DAT関連の設定」→「個別設定」→ 「差分取得を許可する」 「スレッド途中でDAT落ちなら最終行に追加する」 を許可したら過去ログも読み込めた こりゃまだまだproxy現役だな 特定の板やスレだけ過去ログを取得できない、あるいは取得しづらくなってる http://greta.5ch.net/test/read.cgi/poverty/1697461053 ダメなスレは何度やってもdatが取得できない HTTPヘッダーの環境変数を見て弾いていると思われ https://en.wikipedia.org/wiki/List_of_HTTP_header_fields 回避策としてNavi2chに、本来無用な環境変数を与えてみた これで失敗( not found )したことはない ~/.navi2ch/init.el (defadvice navi2ch-net-send-request (around navi2ch-net-send-request-ad activate) (or (assoc "User-Agent" other-header) ;; cf. https://en.wikipedia.org/wiki/List_of_HTTP_header_fields (add-to-list 'other-header (cons "Accept-Encoding" "gzip, deflate")) (add-to-list 'other-header (cons "Accept-Language" "Accept-Language: en-US")) )) >>215 > いまスクリプト攻撃を回避するのに絵文字を使おうという方向になってるんだけど って、❤😍とか書ければ良い? 絵文字は dat だと文字参照になってるのよね だから普通に文字参照で投稿すればいいだけじゃないのかと socks.elなるものがemacsに同梱されてたので、これを使うように改造中。 >>221 http://greta.5ch.net/test/read.cgi/poverty/1697461053 のdatを取得しようとすると、not foundだ 過去ログって、無課金で取得できるん? VERBOSE GET /poverty/dat/1697461053.dat HTTP/1.1 VERBOSE MIME-Version: 1.0 VERBOSE Host: greta.5ch.net VERBOSE Connection: close VERBOSE User-Agent: Monazilla/1.00 Navi2ch VERBOSE Accept-Language: en-US, ja VERBOSE Accept-Encoding: gzip, deflate INFO HTTP/1.1 404 Not Found VERBOSE GET /poverty/kako/1697/16974/1697461053.dat.gz HTTP/1.1 VERBOSE MIME-Version: 1.0 VERBOSE Host: greta.5ch.net VERBOSE Connection: close VERBOSE User-Agent: Monazilla/1.00 Navi2ch VERBOSE Accept-Language: en-US, ja VERBOSE Accept-Encoding: gzip, deflate INFO HTTP/1.1 404 Not Found パッチキットをpastebinに貼ろうとしたら、オメーのは攻撃的だからパブリックにはできねーとか言われた。んだもんで、paste.fo * >>185 からの変更点 ** >>193 socks使う場合に対応 ** >>194 json-parse-stringがない場合のデフォルトをbbsmenu.htmlにした * >>200 からの変更点 ** socks直接サポート ** ビルドシステムをmesonに変更 meson,ninja,python, texinfoにパスを通しておいてください。 ** 投稿時に、SJISにはない文字を数値文字参照に置換 ** oysterから過去ログ取得 ** 絵文字対応 SJISに無い文字は数値文字参照に置換します ** thumbnail改良(https:やimepicの増強などに対応) ** h抜きは使えません。 * ソースの取得 gitかzipのいずれかで取得 1 gitでclone https://github.com/naota/navi2ch.git 2 zipを取得 https://github.com/naota/navi2ch/archive/refs/heads/master.zip * パッチの適用 展開したソースのトップディレクトリにcdして以下のコマンドでパッチを適用します。 パッチに日本語部分も含まれてるのでコード変換が必要です。 curl -s -L https://paste.fo/raw/6d276a82fc52 | iconv -f utf-8 -t iso-2022-jp |tr -d '\r' |patch -p1 -l * ビルド, インストール meson setup builddir meson compile -C builddir meson install -C builddir トップディレクトリのrel-note.txtにもう少し詳しい変更点があります。 autotools死ね死ね団に入団、h抜き死ね死ね団にも入団と書いたのが不味かったのだろうか 何回か試行錯誤したらアドレスでBANNされた 別のところ(past)はXXXを削除しろとか言われるし .strip() かな? 削除したら動かねーんだよ と言うわけで寛容なpaste.foに貼れた。rawじゃない方は https://paste.fo/6d276a82fc52 meson初めて知った 何が変わったか実感することはないがとりあえず動いてる >>223 参照文字のコードで&#127994;(メタ表記、&と#は本来半角)と投稿すると &amp;#127994; に置換されてしまう どれかのウェブブラウザで投稿できた気もするけど、試してみた範囲で同じ結果だった これは投稿のコーディング選択だけで片付く問題じゃないね パッチが大きくなったので、公開リポジトリを作った * インストール https://repo.or.cz/navi2ch.git cloneして meson setup builddir meson compile -C builddir meson install -C builddir * autoload, infoの設定 .emacs.d/init.elに以下を追加 (load "~/.emacs.d/lisp/navi2ch/navi2ch-autoloads") 使い方(新規機能) * socks 変数navi2ch-socks-serverにsocks5://[user[:password]@]hostname[:1080]の形式で指定 * 画像 画像URLっぽい文字列に上で、「,」でプレビュー プレビューしたサムネイルの上でRETで閲覧(初回は外部/内部ビューアの選択) 内部ビューアを選択するとemacsの中でimage-modeで閲覧。Qで終了。 * 絵文字 CP932で表現できない文字は数値文字参照に置換する。つまり🏺と直に書けば良い。 書き忘れていました navi2ch-net-5chdat-downgrade-to-http *non-nilかつnavi2ch-net-http-proxyがnon-nilの場合5chのdat取得の際は強制的にhttpでデータを取得する。 proxy2chのようなHTML -> dat変換を行うプロキシを使うときに指定します。 あと、昨晩サムネイルのバグを修正してpushしました。 内部ビューアの終了がQだと間違えてqを推した時にバッファが残ってしまうので、qで終了に変更。 mesonというコンパイラは初めて知った 導入する余裕がない人向けに弥縫策 1) Detour2ch/Prxy2chを起動 2) 「通信」→「書き込み関連の設定をする」→「パラメータ」 「パラメータの置換を許可する」をチェック Accept: text/html Accept-Language: ja Referer: http://www.5ch.net/ を追加 http://egg.5ch.net/test/read.cgi/software/1605104188/159 3) 「メイン」→ 「読み込み」「書き込み」にチェック 522エラーが発生しないスレは、古いNavi2chでもログの取得が可能になる プロキシを通した書き込みも「リファラが変です」エラーは出なくなる…はず コンパイラっつーかビルドシステムな 重箱の隅だが 自分はむしろ弥縫策って言葉を初めて聞いたわ 英語で言うところの workaround ってことでいいのかな * 画像の扱いを改良しました。内部ビューアでレス内の画像を連続閲覧できます プレビューしたサムネイルの上でRETで内部ビューアで閲覧 閲覧中のキーバインドは "n" " " 次の画像 "p" "S-SPC"(shift space) 前の画像 "q" ビューアを閉じる * BE iconを自動表示するようにしました。 具体的には変数navi2ch-thumbanil-show-automaticaly-prefixに設定した プリフィックスを持つ画像のサムネイルを自動表示します。自動表示した くない場合はこの変数をnilに設定してください。 * インストール https://repo.or.cz/navi2ch.git cloneして meson setup builddir meson compile -C builddir meson install -C builddir * autoload, infoの設定 .emacs.d/init.elに以下を追加 (load "~/.emacs.d/lisp/navi2ch/navi2ch-autoloads") 久々navi2ch使ってる、ありがとう できればmelpaにnavi5chとでも名前かえて上げるか navi2chの元repoマージにしてほしい 昨日くらいからnavi2chから書けなくなりました 「投稿エラー: ERROR: あなたはこのスレッドにはもう書けません。🐙」 って出ます ブラウザやchmateからだと書けます User Agentかな?と考えていろいろ変えていますが書けません 一昨日くらいまでは"Monazilla/1.00 (Ciisaa/1.43(A))"で書けていました 皆さんは書けますか? User-Agentは違うけど今は書けなくなった。 やっぱり書けるな。proxy2ch通してるけど。 "Monazilla/1.00 2chMate/0.8.10.153 Dalvik/2.1.0 (Linux; U; Android 12; SC-52B Build/SP1A.210812.016)" Traceback (most recent call last): File "/usr/home/ore/navi2ch/scripts/default_options.py", line 12, in <module> def find_emacs_in_path() -> pathlib.Path | None: TypeError: unsupported operand type(s) for |: 'type' and 'NoneType' Python力が低すぎて😥 >>245 実行されてるpythonのバージョンは? 3.9 から 3.11 にあげたところ、今度は distinguished_name が無いと怒られてしまいました。 [1/2] Generating ca_key.pem with a custom command FAILED: ca_key.pem ca_cert.pem ca_cert.srl /usr/bin/openssl req -batch -newkey ec:ecprm0.pem -sha256 -nodes -subj '/C=JP/ST=Tokyo/O=Snake Oil Company/CN=Snake Oil company Root Certificate Authority' -keyout ca_key.pem -out ca_cert.pem -x509 -days 3650 -extensions v3_ca -config ../test/ssl.conf Generating an EC private key writing new private key to 'ca_key.pem' ----- unable to find 'distinguished_name' in config problems making Certificate Request 6904790237184:error:0E06D06C:configuration file routines:NCONF_get_string:no value:/usr/src/crypto/openssl/crypto/conf/conf_lib.c:273:group=req name=distinguished_name ninja: build stopped: subcommand failed. INFO: autodetecting backend as ninja >>237 ありがとうございます。 Macで使っているのですが、 default_options.py の find_on_darwin() の中の emacs = find_in_app() and None は、これで合っているのでしょうか。 ここでemacsがNoneに上書きされてしまって、emacs not found になってしまうようなのですが。 >>250 あざす。今度はこんなエラーが… /usr/bin/openssl x509 -req -in localhost_csr.pem -CAkey ca_key.pem -CA ca_cert.pem -CAcreateserial -subj '/C=JP/ST=Tokyo/O=Snake Oil Company/OU=Limiment Div./CN=localhost' -days 3650 -sha256 -extfile ../test/ssl.conf -extensions server_ext -out localhost_cert.pem x509: Unrecognized flag subj x509: Use -help for summary. >>251 そのオプションがないのはopensslが古いのだろうかね CSRにsubject書いてあるから 指定する必要はないんだけど 上書きできるようになってるみたいね 最近できたオプションなのかな? OpenSSL 1.1.1t-freebsd 7 Feb 2023 だったので、openssl32 を入れてみたところやっとこさコンパイルが通りました。 setup の時に meson.build:88: WARNING: The variable(s) 'configure_input' in the input file 'navi2ch-version.el.in' are not present in the given configuration data. と出るのは無視してかまわないでしょうか? インストール後スレを開こうとすると、 Symbol’s function definition is void: navi2ch-thumbnail-insert-image-reload となってしまうようになりました…。 >>249 > emacs = find_in_app() and None これはダメですね。修正しておきます。 emacs = find_in_app() が正しいです。 >>254 > setup の時に meson.build:88: WARNING: The variable(s) 'configure_input' in the input file 'navi2ch-version.el.in' are not present in the given configuration data. と出るのは無視してかまわないでしょうか? 「configureで生成されたファイルだよ」というコメントを挿入するための変数なので、無視して良いです。 >>255 ターミナルからの利用ですか? workaroundとしてM-x load-library[RET] navi2ch-thumbnailしてみてください。 >>256 emacs -nw で使ってます。 (autoload 'navi2ch-thumbnail-insert-image-reload "navi2ch-thumbnail" nil t) で解決しました。 >>239 何か隠しNGワードを書き込んだね よくあること 隠しNGワードはその時々によって変わる むしろ今まで地雷を踏んでいない人がいまだそんなにいるものなの? 5chの隠しNGワードを報告するスレ http://next2ch.net/test/read.cgi/poverty/1689216529/ ここは隠しNGワードを書き込めるので、後進のため後学のため備忘録のためにどうぞ Navi2chを「一旦終了」(ここ重要)して ~/.navi2ch/cookie.info の削除(あるいはリネーム)後に再起動 最初の書き込みではcookieが存在しないため 「フォーム情報が不正です」といわれるかもしれない 二度目からは普通に書き込める >>258 有難うございます!!!書き込めています!!! 歴はかなり長いのですが「隠しNGワード」初めて知りました >>248 証明書(test用ファイル)をデフォルトでは生成しない + socksサーバーがない場合にテストをスキップする >>249 emacsバイナリの検索のバグ >>254 configureの警告 >>255 非windowシステム(imageが扱えない)への対応 を修正したものをコミットしました。 >>248 の修正で、meson testはデフォルトでは何もしなくなりました。 test(meson test)を行いたい方はsetupの際に-Ddisable-test=falseを追加してください meson setup -Ddisable-test=false etc.txt で追加した jbbs.shitaraba.net の板で =C になっているスレッドを navi2ch-bm-select-article-or-scroll-up で開こうとすると、 Debugger entered--Lisp error: (invalid-function (start start)) (start start)() navi2ch-js-article-update(... でエラーになってしまうようです。R でスレのデータを削除すると開くことができます。 jbbs.shitaraba.netは全く使ってないので、設定方法とか教えてくれると嬉しい。 ~/.navi2ch/etc.txt ``` PSP http://jbbs.shitaraba.net/computer/22593/ computer ``` g computer 適当なスレを開く q で閉じる SPC でもう一度スレを開く (invalid-function (start start)) 修正しました。currentブランチとしてpushしてあります。 FreeBSDのcurrent, stable => current, mainの感じです。(mainをstableに変更すると大顰蹙を買いそうなので) ファイルローカル変数としてlexical-bindingは設定してあるので、 (let ((lexical-binding t) (start start)) 自体も不要だと思いますが、何となく残してしまいました。 --- a/navi2ch-jbbs-shitaraba.el +++ b/navi2ch-jbbs-shitaraba.el @@ -99,9 +99,9 @@ START が non-nil ならばレス番号 START からの差分を取得する。 (time (cdr (assq 'time article))) (url (navi2ch-js-article-to-rawmode-url board article start nil start)) (func (if start - (lexical-let ((start start)) + (let ((lexical-binding t) (start start)) (lambda () (navi2ch-js-article-callback start))) - 'navi2ch-js-article-callback))) + #'navi2ch-js-article-callback))) (navi2ch-net-update-file url file time func nil start))) (defun navi2ch-js-url-to-board (url) shitarabaはhttpキメ打ちだったので、httpsにも対応して、あとmachibbsも使えるようにしました。 currentブランチとしてpushしてあります。 $ git clone https://repo.or.cz/navi2ch.git $ cd navi2ch % git fetch --all $ git branch --track current remotes/origin/current $ git checkout current $ meson setup builddir $ meson compile -C builddir $ meson install -C builddir # el, elc, info, iconが$HOME/.emacs.d/lisp/navi2chにインストールされます $HOME/.emacs.d/init.elに↓を書いておけば、autoload, info, icondirが設定できます。 (load (file-name-concat (file-name-directory load-file-name) "lisp/navi2ch/navi2ch-autoloads")) spacemacs派、追加パッケージにコレだけでビルドも設定も要らん (navi2ch :location (recipe :fetcher git :branch "current" :url "https://repo.or.cz/navi2ch.git" ; :files (:defaults "contrib" "icons"))) history の一番最後の行で g を押すとエラーになるようです。 Debugger entered--Lisp error: (wrong-type-argument stringp nil) string-match("^https:\\(.*\\)" nil) navi2ch-history-assoc-item(nil) navi2ch-bm-get-board-internal(nil) navi2ch-bm-goto-board() funcall-interactively(navi2ch-bm-goto-board) call-interactively(navi2ch-bm-goto-board nil nil) command-execute(navi2ch-bm-goto-board) 報告どうも。修正しておきます。 diff --git a/navi2ch-history.el b/navi2ch-history.el index 5f64a69..6fa64fe 100644 --- a/navi2ch-history.el +++ b/navi2ch-history.el @@ -78,7 +78,8 @@ key は (concat uri artid)。") (defun navi2ch-history-assoc-item (item) (or (assoc item navi2ch-history-alist) - (and (string-match "^https:\\(.*\\)" item) + (and item + (string-match "^https:\\(.*\\)" item) (assoc (concat (if (string-prefix-p "https:" item) "http:" "https:") (match-string 1 item)) >>268 今は閲覧できるようです。巻き戻したのかな? package-vc-installでもインストールできたっぽい。 こんな感じ。 (unless (package-installed-p 'navi2ch) (package-vc-install '(navi2ch :url "https://repo.or.cz/navi2ch.git" ; :branch "current" :vc-backend Git))) 書けなくなったよ もうなんだかんだ面倒臭いだろ書き込みはxwidgetsでダイレクトにフォーム表示してくれたらいいけどな 投稿エラー: ERROR: 投稿時の認証用クエリがありません。 ---------------- すくなくとも俺環でこの板は上記エラーでそうみたい 書けてるの? 最近info読みたいことあったnavi2ch.texi UTF-8にしてくれないかな quelpaでインストールすると文字化するのよね quelpa見るとmakeinfoでinfo作ってるようだから、makeinfoというファイル名で コード変換して本物makeinfoに渡すスクリプト噛ませれば解決しない? コード変換すると全部入れ替えだから二の足踏んでるんだよね。 原因は特定できないけれど Windows 11以降、謎の文字化けが起きるようになった 例えば、米こうじの「こうじ」、ウソつきの「うそ」、全角チルダ(~)等 どれもWindows 10までは普通に入力できていた文字 「うそ」は、機種依存文字でないほうも書き込めない 「以前のバージョン」のIMEも試してみた 自分以外にも似た文字化けを見たのでOS固有の問題かもしれないけれど ウェブブラウザでは正常に書き込まれる macで書き込みテスト うそ(印刷標準字体)、うそ(略字)、こめこうじ、全角チルダ 噓、嘘、米麹、〜 今回は乗客の通販とか凄いねしか書けないんだろう 国葬すべきだよな 絶対に潰します!」(ずっと待ってるんだから当然 バグはシステムをそのまま持ってきた意味を分かってたはず >>280 > うそ(印刷標準字体)、うそ(略字)、こめこうじ、全角チルダ > 噓、嘘、米麹、~ chmateから 噓、嘘、米麴、米麹、~、~(波ダッシュ) >>280 波ダッシュになってるなあ 波ダッシュをJIS X 0208にない全角チルダに変換してしまうのは Windowsが長らく抱えていた問題だけど 11で変えたんだな Emacsが依存してるのかね それともproxy? わかったああああぁ! https://qiita.com/kasei-san/items/3ce2249f0a1c1af1cbd2 自分が全角チルダと思っていたのは波ダッシュで Unicodeの波ダッシュが今まで”下がって上がる”形に誤記されていたのか https://upload.wikimedia.org/wikipedia/commons/thumb/f/fe/Wave_Dash2.svg/427px-Wave_Dash2.svg.png S-JISに存在しないキャラクタコードを入力したらそりゃおかしくなるわけだわ とりあえず「にょろ」で「〜」を登録しておいた ウソや「しょうゆ」も何かこういうコーディング問題だろうな 最新ベータのNavi2chを使えば混合表記でも消えたりしないのかもね うちはコンパイルしてもしなくても途中でエラーが出て使えないから IMEへ登録しても異体字に環境依存文字(非JIS/S-JIS)が含まれると文字化けするな 他は変えていないからWindows11固有のバグなのか (coding-system-put 'cp932 :encode-translation-table (get 'japanese-ucs-jis-to-cp932-map 'translation-table)) これを ~/init.el に設定しておくと〜(波ダッシュ)だけは文字化けしない模様 文字化け問題が解決したので報告 最近リリースされたEmacs 29.3へ更新したら異体字が書き込めるようになった Windows 11のリリースに合わせて修正されたのかもしれない そのままだとUnicode文字は入力できないけれどS-JISの文字まで消えることはない やっぱりダメだわ 何か条件があって書き込めるときと文字化けするときがある Emacs更新で文字化けしにくくはなったけれど理由が不明 文字化け問題 (make-coding-system 'japanese-iso-8bit 2 ?E "ISO 2022 based EUC encoding for Japanese (MIME:EUC-JP)" '(ascii japanese-jisx0208 katakana-jisx0201 japanese-jisx0212 short ascii-eol ascii-cntl nil nil single-shift) '((safe-charsets ascii latin-jisx0201 japanese-jisx0208 japanese-jisx0208-1978 katakana-jisx0201 japanese-jisx0212) (mime-charset . euc-jp))) (define-coding-system-alias 'euc-japan-1990 'japanese-iso-8bit) (define-coding-system-alias 'euc-japan 'japanese-iso-8bit) (define-coding-system-alias 'euc-jp 'japanese-iso-8bit) こういう感じの定義をUTF-8か何かで書いてやればいいらしい (続く) (改行エラーで弾かれた続き) さらに言語リストに追加 (set-language-info-alist "Japanese" '((setup-function . setup-japanese-environment-internal) (exit-function . exit-japanese-environment) (tutorial . "TUTORIAL.ja") (charset japanese-jisx0208 japanese-jisx0208-1978 japanese-jisx0212 latin-jisx0201 katakana-jisx0201 japanese-jisx0213-1 japanese-jisx0213-2) (coding-system iso-2022-jp japanese-iso-8bit japanese-shift-jis japanese-iso-7bit-1978-irv) (coding-priority iso-2022-jp japanese-iso-8bit japanese-shift-jis iso-2022-jp-2) (input-method . "japanese") (features japan-util) (sample-text . "Japanese ($BF|K\8l(B) $B$3$s$K$A$O(B, (I:]FAJ(B") (documentation . t))) UTF-8のフォーマットやエイリアスが調べても見つからなくて挫折 わかる人向けの備忘録に read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる