Navi2ch for Emacs (Part 22) (398レス)
1-

160: 2023/07/04(火)23:30 AAS
>>159
>>140 の変更が必要かな?
他にも*.elファイル中でhttp:決め打ちになってる所をhttps:に変更する必要があるかも
161: 2023/07/11(火)09:25 AAS
proxy2chなしで読み書きできるようになった
162: 2023/07/11(火)16:14 AAS
Navi2ch完全ふっかああああぁつ!!wwwwwww
163: 2023/07/11(火)22:46 AAS
快適快適
164: 2023/07/12(水)19:36 AAS
分裂騒動で漁夫の利を得たNavi2ch
165: 2023/07/12(水)22:15 AAS
書き込みの規制めっちゃ緩くなってるね
いったいどうなってるんだ、いや別に悪いことじゃないんだけど
またすぐ荒らしが来て規制されるのかなあ
スレチスマソ
166
(1): 2023/07/13(木)08:26 AAS
10年ぶりくらいにnavi2ch使ってみた。書き込めるかな

(setq navi2ch-list-bbstable-url "外部リンク:menu.5ch.net でカテゴリーはとってくるけど板一覧が持ってこれない。
とりあえずスレのURLをChromeで探して直接開いて読んでいるw
167: 2023/07/13(木)10:25 AAS
>>166
>>139 が原因かな
168: 2023/07/15(土)09:45 AAS
山下スパイルが消えて清々しい気分だ
169: 2023/07/15(土)12:10 AAS
かける?
170: 2023/07/15(土)12:26 AAS
書ける
171: sage 2023/07/15(土)12:34 AAS
その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 "\\`外部リンク:.+/\\([^/]+\\)/\\'" 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))))))
172: sage 2023/07/15(土)12:35 AAS
その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)))
173: sage 2023/07/15(土)12:40 AAS
その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 "^外部リンク:"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
174: sage 2023/07/15(土)12:44 AAS
その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)
175: sage [その3の3 最後] 2023/07/15(土)12:44 AAS
- (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 "外部リンク:"src)
+ (setq url (if (string-match "https?外部リンク:"src)
src
(navi2ch-board-get-url board src)))
(string-match "/\\([^/]+\\)$" url)
176: sage [その1] 2023/07/15(土)12:50 AAS
なんかタブが潰れたり文字参照になってたりなので、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
177: sage [その2] 2023/07/15(土)12:52 AAS
久々にROCK54で後半投稿できず
178: sage 2023/07/15(土)12:57 AAS
しょうがないのでpastebin
外部リンク:pastebin.com
179: 2023/07/15(土)14:00 AAS
?クス
180: 2023/07/16(日)01:28 AAS
naota さんのやつにパッチ当てようとしたら結構リジェクトされた…。
181
(1): 2023/07/16(日)01:34 AAS
curl -s 外部リンク:pastebin.com | tr -d '\r' | patch -p1
でいけたサンクス
182: sage 2023/07/16(日)12:10 AAS
navi2ch-5ch.elも修正してた

(defun navi2ch-5ch-html-to-dat ()

(defun navi2ch-5ch-html-to-dat (&optional dummy)
183
(1): 2023/07/16(日)13:18 AAS
誰かパッチまとめて新しいレポジトリたてて(他力本願)
184
(1): 2023/07/16(日)14:13 AAS
rest がローカル宣言されてないような気がする
185
(6): sage 2023/07/16(日)19:16 AAS
板一覧をjsonで取得する事にした

navi2ch-5ch.elはdatの代わりにhtml取得してdatに変換するもののように思える。
datを直接取得が復活してのでいらなくなったはず(navi2ch-5chを使わないでも読めてる)

外部リンク:pastebin.com

>>183
それはめんどい

>>184
サンクス、なおした

パッチに日本語部分も含まれてるのでコード変換が必要
↓でどーぞ
curl 外部リンク:pastebin.com | iconv -f utf-8 -t iso-2022-jp |tr -d '\r' |patch -p1
186: 2023/07/16(日)19:16 AAS
Location: を解釈できないので、navi2ch-list-bbstable-url も設定しないといけないっぽい。
187
(1): sage 2023/07/16(日)19:48 AAS
defconst navi2ch-list-bbstable-default-url
"外部リンク:menu.5ch.net
になってるから、そっちから読むはずだけど、navi2ch-list-bbstable-urlをカスタマイズして外部リンク[html]:menu.5ch.netにしてない?
htmlからの読み込みは試してない、これから試してみる
188
(1): 2023/07/16(日)20:17 AAS
どれにどのパッチを当てたらいいのかわからなくなってきた\(^o^)/オワタ
189: 2023/07/16(日)23:15 AAS
>>187
入れ違いで >>185 のパッチに対してのコメントになっちゃったけど、>>181 のパッチだけだと、
外部リンク[el]:github.com
なので redirect を解釈できずにエラーになっちゃった。
1-
あと 209 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.020s