Navi2ch for Emacs (Part 22) (390レス)
Navi2ch for Emacs (Part 22) http://mevius.5ch.net/test/read.cgi/unix/1575011531/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
168: 名無しさん@お腹いっぱい。 [sage] 2023/07/15(土) 09:45:10.65 山下スパイルが消えて清々しい気分だ http://mevius.5ch.net/test/read.cgi/unix/1575011531/168
169: 名無しさん@お腹いっぱい。 [] 2023/07/15(土) 12:10:45.95 かける? http://mevius.5ch.net/test/read.cgi/unix/1575011531/169
170: 名無しさん@お腹いっぱい。 [sage] 2023/07/15(土) 12:26:56.61 書ける http://mevius.5ch.net/test/read.cgi/unix/1575011531/170
171: sage [] 2023/07/15(土) 12:34:17.12 その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)))))) http://mevius.5ch.net/test/read.cgi/unix/1575011531/171
172: sage [] 2023/07/15(土) 12:35:07.32 その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))) http://mevius.5ch.net/test/read.cgi/unix/1575011531/172
173: sage [] 2023/07/15(土) 12:40:59.47 その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 http://mevius.5ch.net/test/read.cgi/unix/1575011531/173
174: sage [] 2023/07/15(土) 12:44:09.11 その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) http://mevius.5ch.net/test/read.cgi/unix/1575011531/174
175: sage [その3の3 最後] 2023/07/15(土) 12:44:44.17 - (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) http://mevius.5ch.net/test/read.cgi/unix/1575011531/175
176: sage [その1] 2023/07/15(土) 12:50:19.62 なんかタブが潰れたり文字参照になってたりなので、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 http://mevius.5ch.net/test/read.cgi/unix/1575011531/176
177: sage [その2] 2023/07/15(土) 12:52:59.75 久々にROCK54で後半投稿できず http://mevius.5ch.net/test/read.cgi/unix/1575011531/177
178: sage [] 2023/07/15(土) 12:57:38.03 しょうがないのでpastebin https://pastebin.com/0LMurnzK http://mevius.5ch.net/test/read.cgi/unix/1575011531/178
179: 名無しさん@お腹いっぱい。 [sage] 2023/07/15(土) 14:00:04.55 ?クス http://mevius.5ch.net/test/read.cgi/unix/1575011531/179
180: 名無しさん@お腹いっぱい。 [sage] 2023/07/16(日) 01:28:25.92 naota さんのやつにパッチ当てようとしたら結構リジェクトされた…。 http://mevius.5ch.net/test/read.cgi/unix/1575011531/180
181: 名無しさん@お腹いっぱい。 [] 2023/07/16(日) 01:34:22.89 curl -s https://pastebin.com/raw/0LMurnzK | tr -d '\r' | patch -p1 でいけたサンクス http://mevius.5ch.net/test/read.cgi/unix/1575011531/181
182: sage [] 2023/07/16(日) 12:10:11.67 navi2ch-5ch.elも修正してた (defun navi2ch-5ch-html-to-dat () ↓ (defun navi2ch-5ch-html-to-dat (&optional dummy) http://mevius.5ch.net/test/read.cgi/unix/1575011531/182
183: 名無しさん@お腹いっぱい。 [sage] 2023/07/16(日) 13:18:08.12 誰かパッチまとめて新しいレポジトリたてて(他力本願) http://mevius.5ch.net/test/read.cgi/unix/1575011531/183
184: 名無しさん@お腹いっぱい。 [sage] 2023/07/16(日) 14:13:03.51 rest がローカル宣言されてないような気がする http://mevius.5ch.net/test/read.cgi/unix/1575011531/184
185: sage [] 2023/07/16(日) 19:16:05.21 板一覧を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 http://mevius.5ch.net/test/read.cgi/unix/1575011531/185
186: 名無しさん@お腹いっぱい。 [sage] 2023/07/16(日) 19:16:32.38 Location: を解釈できないので、navi2ch-list-bbstable-url も設定しないといけないっぽい。 http://mevius.5ch.net/test/read.cgi/unix/1575011531/186
187: sage [] 2023/07/16(日) 19:48:17.82 defconst navi2ch-list-bbstable-default-url "https://menu.5ch.net/bbsmenu.json") になってるから、そっちから読むはずだけど、navi2ch-list-bbstable-urlをカスタマイズしてhttps://menu.5ch.net/bbsmenu.htmlにしてない? htmlからの読み込みは試してない、これから試してみる http://mevius.5ch.net/test/read.cgi/unix/1575011531/187
188: 名無しさん@お腹いっぱい。 [sage] 2023/07/16(日) 20:17:27.06 どれにどのパッチを当てたらいいのかわからなくなってきた\(^o^)/オワタ http://mevius.5ch.net/test/read.cgi/unix/1575011531/188
189: 名無しさん@お腹いっぱい。 [] 2023/07/16(日) 23:15:56.62 >>187 入れ違いで >>185 のパッチに対してのコメントになっちゃったけど、>>181 のパッチだけだと、 https://github.com/naota/navi2ch/blob/master/navi2ch-list.el#L96-L97 なので redirect を解釈できずにエラーになっちゃった。 http://mevius.5ch.net/test/read.cgi/unix/1575011531/189
190: 名無しさん@お腹いっぱい。 [sage] 2023/07/17(月) 03:26:18.05 >>188 ああっ、よかった仲間がいた どこをどう弄って動かしてたんだか、記憶から完全に飛んでる http://mevius.5ch.net/test/read.cgi/unix/1575011531/190
191: 名無しさん@お腹いっぱい。 [sage] 2023/07/17(月) 11:31:26.14 >>190 github.com/naota/navi2ch.git のソースに >>185のパッチを当てればいいみたい http://mevius.5ch.net/test/read.cgi/unix/1575011531/191
192: 名無しさん@お腹いっぱい。 [] 2023/07/17(月) 19:16:56.86 久しぶりにnavi2chで2ch(5ch)が読めるようになりました。ありがとうございました。 http://mevius.5ch.net/test/read.cgi/unix/1575011531/192
193: 名無しさん@お腹いっぱい。 [] 2023/07/21(金) 22:08:43.11 (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 外してもうまく動かない…。 http://mevius.5ch.net/test/read.cgi/unix/1575011531/193
194: 名無しさん@お腹いっぱい。 [sage] 2023/07/22(土) 15:17:30.60 Symbol' s function definition is void: json-parse-string http://mevius.5ch.net/test/read.cgi/unix/1575011531/194
195: 名無しさん@お腹いっぱい。 [] 2023/07/23(日) 10:21:33.59 json-parse-stringの存在確認も必要なのか… ちょっとすぐにはパッチ作れ無いのでjson-parse-stringが使えない場合はbbsmenu.htmlを指定してオクレ http://mevius.5ch.net/test/read.cgi/unix/1575011531/195
196: 名無しさん@お腹いっぱい。 [] 2023/07/23(日) 11:30:16.06 >>193 proxy使う環境がないので、未検証だった ssh先でopenssl s_clientやnc -sslとかするのかな 週末までいじる時間取れない スマン http://mevius.5ch.net/test/read.cgi/unix/1575011531/196
197: 名無しさん@お腹いっぱい。 [] 2023/07/23(日) 13:31:48.99 >>196 ダイナミックポートフォワーディングだと、いろんな接続先あっても毎回接続し直さなくて済むのよ。 ssh -fN -D1080 どっか nc -x127.0.0.1:1080 -X5 5ch.net 80 GET / HTTP/1.0 でうまくコネクション切ってくれないのが原因ぽい気がするけど、cloudflare 側の問題かな…。 http://mevius.5ch.net/test/read.cgi/unix/1575011531/197
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 193 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.026s