Navi2ch for Emacs (Part 22)
Emacsen で動く 2ch 専用ブラウザ、Navi2ch のスレッドです。
Navi2ch Project Home Page
http://navi2ch.sourceforge.net/
開発版
% cvs -z3 -d:pserver:anonymous@navi2ch.cvs.sourceforge.net:/cvsroot/navi2ch co navi2ch
過去ログ
>> ~/.navi2ch/etc.txt
> navi2ch
> http://navi2ch.sourceforge.net/log/
> navi2ch
前スレ
Navi2ch for Emacs (Part 21)
https://mevius.5ch.net/test/read.cgi/unix/1405127170/ Q. パッチを作ったんだけど、ここに up すれば良いの?
A. 2ch で晒すと取り込めなくなるので、sourceforge に投げてね。
ttp://sourceforge.net/tracker/?atid=435774&group_id=39552&func=browse
Q. 自作の関数や設定を晒したいんだけど、どうすれば良い?
A. 設定はともかく、関数を 2ch で晒すのは NG。
navi2ch に取り込んで欲しいなら、上記にパッチを投げてね。
ただ晒したいだけなら、メーリングリストやグループに投げてね。
Q. 正式版、スナップショット、CVS の先端のどれが良い?
A. 正式版以外。正式版の更新は遅いから 2ch の変化に対応しきれてないよ。
Navi2chのカスタマイズ
http://web.archive.org/web/20090501155410/http://reed1200.at.infoseek.co.jp/navi2ch/index.html
navi2ch-memo.el
navi2ch-init-bookmark.el
sinsure.el
navi2ch-async.el ※ CVSは将来的には更新しなくなる可能性があります。
Git を使ってください。
% git clone git://navi2ch.git.sourceforge.net/gitroot/navi2ch/navi2ch
それ以降追っかけをするときは navi2ch ディレクトリに移って
% git pull 988 名無しさん@お腹いっぱい。 sage 2019/11/27(水) 22:28:25.93
Windowsでもやるならdetour経由が簡単
http://9436.sitemix.jp/wiki/
DATの設定でUSER Agentだけ設定したら終わり (HTMLモード)
USER Agent例 :Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:52.0) Gecko/20100101 Firefox/52.0 Cyberfox/52.1.3
;;navi2ch側(init.el?)でポート設定
(setq navi2ch-net-http-proxy "localhost:9436")
;; 書き込み時にproxyを通さないようにする
(setq navi2ch-net-send-message-use-http-proxy nil)
989 名無しさん@お腹いっぱい。 sage 2019/11/28(木) 15:03:29.53
>>988
ややっ、これで読み込み出来ますな。ありがとうございます。
オレ環では、DAT関連の設定/個別設定でスクレイピングをJSONにしたらいけました。 スレの変更をチェックすると実際には新しいレスはないのに、
こんな風に変更があったようにハイライトされることが度々あるのはなんでかな?
Checking file...updated: Getting file diff...not updated
本来はこうならないといけない。
Checking file...not updated
2chproxy.plを通してることと関係ある? ありそうな気はするけど、そういう状況に遭遇したことないなあ まち BBS を追加するにはどうすれば良いのでしょうか? githubみると2017年以降コミットされていないみたいだけど、開発停止してい
るってこと? なんJだけ書き込みできないのはおま環?
それとも何か設定が必要? ありがとう
Wrong arguments: processp, nil
って返ってきたからここだけ壊れてるのかと思ってしまた
navi2chだとこういうエラーってコネクションエラー投げて落ちてるだけってことかしら >>15
etc.txtに押し込んだら繋がりました
感謝 ちな板リストならこれオヌヌメ
https://stat.5ch.net/board.json
UTF-8ナノで日本語には注意(要cp932に変換) >>18
JSONじゃなくてetc.txtないかな 板一覧が表示されなかったけど navi2ch-vars.el の navi2ch-list-valid-host-regexp に ".5ch.net" を追加してmakeしてmake installしたら表示された いや、まあそうなんだけどCVSなりGitのほうに".5ch.net"入れて貰えたら導入しやすいと思う 確かに ENABLE_2CH_TO_nCH => 3 を設定してもスレ一覧出るね。
「.navi2ch」が空の時だけ出る問題みたいだから新規導入して初めて気付いた。 板一覧が取得できなくなってる?
更新してもカテゴリの下の板が全部空になる。 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) 誰かパッチまとめて新しいレポジトリたてて(他力本願)