したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |

テストその2

1名無しさん:2002/11/28(木) 00:05
テストその2

165 ◆/vmukiyuzw:2013/11/25(月) 19:37:37
http://jbbs.livedoor.jp/bbs/read.cgi/computer/21256/1164941934/797-800

htmltodatもバッチファイルやスクリプトから呼べるようになったし
いろいろ機能拡張してるんで
これはその辺組み合わせればできるんじゃね?と思ってやってみました。
# 結構イレギュラーな使い方なんでサポートスレでなくこちらで軽く雑談程度に

必要なファイル:
・sorttest.cmd (処理全体を起動するバッチファイル。後述)
・Rちゃんねる.prm (Rちゃんねるをdat変換するためのprmファイル。後述)
・sortN.cmd (datファイルをソートするために使う外部ツール。
 http://www.vector.co.jp/soft/winnt/util/se428840.html からダウンロードしたものを
 解凍すると含まれているものをそのまま利用)
・ソート後処理.prm (ソート後のdatファイルを加工するためのprmファイル。後述)

必要なファイルはとりあえず htmltodat 本体と同じフォルダに置いてください。
(実行もコマンドプロンプトで htmltodat のフォルダに移動してから)

(続く)

166 ◆/vmukiyuzw:2013/11/25(月) 19:40:19
(続き)

まずはバッチファイル、sorttest.cmd 。
コマンドプロンプトから sorttest.cmd URL(←URLは http://・・・の形式で)
で実行します。
まあちょっと弄れば専ブラの外部コマンドとかでも動かせると思います。

@rem -----ここから----------------------------------------------------------------------

echo off
@rem 使い方:コマンドプロンプトで sorttest.cmd URL(←URLは http://・・・の形式で)を入力

@rem 手順1.Rちゃんねるのログをdat変換(行番号付き)
@rem  (0行目に後で使うためスレタイを入れている)
htmltodat.exe %1 Rちゃんねる.prm $temp1.dat

@rem 手順2.行番号でソート
call sortN.cmd < $temp1.dat > $temp2.dat

@rem 手順3.行番号の削除(andスレタイ付与)
@rem  第3パラメータを省略しているので変換処理までしか行わない(ファイル保存は手動でやる)
@rem  ファイル保存後はhtmltodatを手動で必ず終了すること(でないとこのコマンド全体が終了しない)
htmltodat.exe $temp2.dat ソート後処理.prm

@rem 手順4.テンポラリファイルの削除(一応お行儀よく)
del $temp1.dat
del $temp2.dat

167 ◆/vmukiyuzw:2013/11/25(月) 19:44:13
(続き)

次に、Rちゃんねる.prm。


コメント:
# Rちゃんねるのhtmlをdat変換
# ただし、レス番号順に並んでいないため、後でソートするためレス番号を先頭に付加しておく
# (そのため「変換結果式」に$1が入る)
# また、スレタイトルを後で取得するためレス番号0に入れておく

前処理:
# スレタイトルをレス番号0に偽装させるための処理
s`(<title>)([^|]+) \|.*(</title>)`<div id="0"><div class="comment">$2</div>`ik

変換結果式:
$1<>$2<>$3<>$4<>$5<>

プレビューを表示しない:
true

正規表現: ※拡張形式を使ってみた
m`
(?# レス番号) <div\ id="(\d+)"
(?# 名前・メール欄・投稿日はこのhtmlには存在しないためダミーでマッチさせる) ()()().*?
(?# レス内容) <div\ class="comment">(.*?)</div>
`ikx

168 ◆/vmukiyuzw:2013/11/25(月) 19:45:49
(続き)

次に、ソート後処理.prm。


コメント:
# レス番号付きのdatがソートされた後の処理
# ・レス番号をとっぱらう
# ・レス番号0に偽装していたスレタイをレス番号1の後ろに付与する
# これらは前処理だけで話は済むのでdat変換処理はしない

前処理:
# レス番号の除去
s`(^|\n)\d+<>``ikg
# 0行目に設定されていたスレタイを1行目の後ろに付ける
s`^<><><>(.*?)<>\s*(<><><>.*?<>)`$2$1`ik

dat変換をしない(前処理のみ行う):
true

プレビューを表示しない:
true

169 ◆/vmukiyuzw:2013/11/25(月) 20:01:40
(続き)

まあやってることはコメント参照してください。

ソートした後、もう一度htmltodatを呼び出して
あたかもhtmltodat一発で変換・並べ替えまでできてるように
見せかけたとこが工夫といえば工夫ですかね〜。

あと、バッチファイルなどさわるのは久々だったんで
sortN.cmdを呼び出すのに、callをつけないと
制御が戻ってこないことに気づくまでしばらく悩みました^^;

170 ◆/vmukiyuzw:2013/11/26(火) 19:10:40
>>167
ちょっと修正
(「URLの変換」の記述が漏れていた、&
dat上の「投稿日」欄が空だとブラウザにより破損ログとみなされてしまうことがわかったので
とりあえず「名前」欄($2)と「投稿日」欄($4)に半角スペースを入れるようにしてみた)


コメント:
# Rちゃんねるのhtmlをdat変換
# ただし、レス番号順に並んでいないため、後でソートするためレス番号を先頭に付加しておく
# (そのため「変換結果式」に$1が入る)
# また、スレタイトルを後で取得するためレス番号0に入れておく

URLの変換:
s`http://(.+?)/test/read\.cgi/(.+?)/(\d+)/?.*`http://r-2ch.com/t/$2/$3/`

前処理:
# スレタイトルをレス番号0に偽装させるための処理
s`(<title>)([^|]+) \|.*(</title>)`<div id="0"><div class="comment">$2</div>`ik

変換結果式:
$1<>$2 <>$3<>$4 <>$5<>

プレビューを表示しない:
true

正規表現: ※拡張形式を使ってみた
m`
(?# レス番号) <div\ id="(\d+)"
(?# 名前・メール欄・投稿日はこのhtmlには存在しないためダミーでマッチさせる) ()()().*?
(?# レス内容) <div\ class="comment">(.*?)</div>
`ikx

171 ◆/vmukiyuzw:2013/11/26(火) 19:13:59
>>168
ちょっと修正
>>170の修正を受け、datの形式が多少変わっても汎用的に
対処できるようにしてみた)


コメント:
# レス番号付きのdatがソートされた後の処理
# ・レス番号をとっぱらう
# ・レス番号0に偽装していたスレタイをレス番号1の後ろに付与する
# これらは前処理だけで話は済むのでdat変換処理はしない

前処理:
# レス番号の除去
s`(^|\n)\d+<>``ikg
# 0行目に設定されていたスレタイを1行目の後ろに付ける
s`^.*?<>.*?<>.*?<>(.*?)<>\s(.*?<>.*?<>.*?<>.*?<>)`$2$1`ik

dat変換をしない(前処理のみ行う):
true

プレビューを表示しない:
true

172 ◆/vmukiyuzw:2013/11/26(火) 23:16:37
さて、これをもう少し発展させれば
以前どこかで話が出ていたいわゆる「まとめサイト」の変換にも
応用できるかもしれません。

まあまとめサイトにもいろいろあるようで、例えば
複数スレを一つにまとめたようなものには
到底対応できないと思いますが。

173 ◆/vmukiyuzw:2013/11/28(木) 05:51:29
http://yy14.kakiko.com/test/read.cgi/mirror/1353918147/49-56
いい感じに出来上がってきましたね。

一点コメントさせていただくなら、
「getdatpath.wsf の結果を手動でコピーしてhtmltodatに貼り付けてdat保存」
という手順になってるようですが、ここは自動化できるのでは。
getdatpath スクリプトの結果をバッチファイル内で変数にセットして
2回目の htmltodat.exe 呼び出し時に第3パラメータで指定する方式にすれば
できるのではと思いました。

ちょっとやり方調べてみました。
wsf側では、処理結果のdat保存ファイル名を WScript.echo(・・・) の形式で
結果を標準出力に吐くように変更すれば
(で、実行を cscript から呼び出すようにすれば)バッチファイル側で受け取れるはずです。

で、バッチファイル側では for コマンドを使えば標準出力を変数にセットできるようです。

for /f %%D in ('cscript getdatpath.wsf %1') do set datpath=%%D

# これはサンプルをほぼコピーしただけで動いちゃったので
# for コマンドのパラメータとか正直まだあんまり理解してないです^^;
# unixのシェルスクリプトだともっとシンプルな記述でできそうですが
# windowsのバッチコマンドだと for コマンドに色々機能が詰まってるようです

これで多分バッチファイル内の変数 datpath にdatの保存ファイル名がセットされるので、
後は手順3.を

htmltodat.exe $temp2.dat ソート後処理.prm %datpath%

としてやれば、datファイル保存の部分までは自動化できると思います。

174 ◆/vmukiyuzw:2013/11/28(木) 05:54:47
http://yy14.kakiko.com/test/read.cgi/mirror/1353918147/55

> それと>>51の正規表現がJaneだとカッコが%28に化けてるのは何とかなんないのかな

もしかしてReplaceStr.txtをお使いではないですか?
以前うちのサポスレでこんなやり取りがありましたが似た様な話に思えます

http://jbbs.livedoor.jp/bbs/read.cgi/computer/1929/1038588508/679-681
(実際にはもう少し前から結構長いやり取りがあるのですが要点と思われるとこのみ)

175 ◆/vmukiyuzw:2013/11/28(木) 21:47:27
http://yy14.kakiko.com/test/read.cgi/mirror/1353918147/57

あんまり自信ないんですけど・・・こんなのどうでしょう

for /f "tokens=* delims=" %%D in ('cscript getdatpath.wsf %1') do set datpath="%%D"

これで途中半角スペースがあるようなパスでも正しく取得できるような。

176 ◆/vmukiyuzw:2013/11/28(木) 22:51:03
あと、最後の

@rem 手順5.Janeで該当スレッドを開く
Jane2ch.exe %1

だとバッチコマンド自体が終了せずプロセスが残ってしまうかも。

start Jane2ch.exe %1

だと非同期起動なのでいいかもしれません

177 ◆/vmukiyuzw:2013/11/29(金) 01:23:50
>>176
いや、起動中のJaneを横から(?)叩いてスレを開かせる場合
叩いた側のJaneは終了するようになってたかな
であれば非同期にしなくても問題ないか

178 ◆/vmukiyuzw:2013/11/29(金) 19:09:10
>>175
なんとなく分かったんですけど、たぶん問題は2段階あって

・forコマンドで途中にスペースを含むパス名をとりだすのに"delims="が必要

・これをhtmltodatの引数にそのまま渡すとスペースがそのままシェル(cmd.exe)に解釈されて
 複数の引数として渡ってしまうので、コマンド変数を""でくくって
 「1つの引数ですよ」とシェルに教えてやる必要がある

>>175 の例では set datpath="%%D" とやってたまたまできたのですが
htmltodat起動方法を

htmltodat.exe $temp2.dat ソート後処理.prm "%datpath%"

とするほうがいい方法のような気がします。

179 ◆/vmukiyuzw:2013/12/02(月) 23:16:58
どうも最近PCの動作がトロくて
どうやらメモリ不足でスワップが多発している模様だったので
メモリ増設することにしました。
(またamazonで安いのをgetした)

しかし、取り付けてみたもののBIOSでは認識されてるようなのに
OSが起動しない。なんでじゃ?

検索してみると「標準実装のメモリと同時には使用できません」とのこと。
結局標準のメモリを外して付け替えることになり、
「増設」とはならず「入れ替え」に終わったのでした・・・
まあそれでも前よりはメモリが増えて若干快適になったような。

180 ◆/vmukiyuzw:2013/12/09(月) 20:44:42
htmltodatの最新版(v0.11.2)は
 ・「変換オプション」-「dat変換をしない(前処理のみ行う)」をONにした場合、
  前処理の結果を「dat変換結果」欄に表示するようにした。
この機能のおかげで、簡易正規表現チェッカーとして使うことが可能なんです。

(「HTMLソース」欄に対象の文字列を入力し
「前処理」欄でテストしたい正規表現を指定し「dat変換をしない」オプションをONにすると
「dat変換結果」欄に前処理の結果が表示される)

エンジンがbregonig.dllでJane系統と同じ(バージョンは若干違うようですが)なので、
NGEx.txtとかReplacestr.txtのチェックに使えたりもします。

そんな中ちょっと気づいたことがあるのですが長くなりそうなので次レスで。

182 ◆/vmukiyuzw:2013/12/09(月) 21:20:01
あーなんか勘違い。取り消します

183 ◆/vmukiyuzw:2013/12/13(金) 21:59:51
ちょっと面白いのを見つけたんですが。

ttp://1st.geocities.jp/neeetest/jane.html

なんか似てませんか(笑)
てか同じようなことをしようとすると似たようなUIになっちゃうのかしら。

それより気になったのが、このソフトで使われてるテキストエディット部分。
どんなコンポーネント使ってるんだ?と思ったらreadmeに書いてくれてました。
どうやらDelphiで作られてるようなのでhtmltodatにも組み込めるかな?
今の(htmlソース欄等の)エディット部分には正直不満があるので
差し替えることができないか検討してみようと思います。

184 ◆/vmukiyuzw:2014/01/11(土) 01:27:03
いろいろやりたいことはあるのですが年末からずっとバタバタしててなかなか捗らないです。
とりあえず、だいぶ前の話なのですが
http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038588508/631,632,638-643

これは>>165- の手法でできるんじゃね?と考え、やってみました。

必要なファイル:
・sorttest.cmd → >>166 のものを「Rちゃんねる.prm」の部分だけ「テレビジン.prm」に書き換える。
 もしくは「%2.prm」みたいにしてしまって実行時に与える形にしたほうがいいかも。
 専ブラから外部コマンドで呼び出したいような場合は663(mirrorhenkan)さんの
 http://yy14.kakiko.com/test/read.cgi/mirror/1353918147/50-
 を参考に。
・テレビジン.prm (後述)
・sortN.cmd (>>165で書いたものと同じ)
・ソート後処理.prm (>>171で書いたものと同じ)

(続く)

185 ◆/vmukiyuzw:2014/01/11(土) 01:35:43
(続き)

テレビジン.prm。


コメント:
# テレビジンのhtmlをdat変換
# 後でソートするための処理はRちゃんねる.prmとほぼ同じなのでそちら参照

前処理:
# スレタイトルをレス番号0に偽装させるための処理
s`(<title>)(.+?)\ -\ テレビジン(</title>)`<dt>0<b></b></font>:</dt><dd>$2</dd>`ik
# <br />タグに対応していないブラウザのための処理
s`<br />`<br>`ikg

プレビューを表示しない:
false

変換結果式:
$1<>$2<>$3<>$4<>$5<>

正規表現:
m`<dt>(?:<a\ name=.*?>)?(\d+).*?<b>(.*?)()</b></font>:(.*?)</dt><dd>(.*?)</dd>`ikx

186 ◆/vmukiyuzw:2014/03/04(火) 23:51:49
XPのサポートが終わるってことで、消費税も上がるぜってことで、
新しいPC(Windows8)買っちゃいました。(めっちゃ安かったので^^;)
いろいろ弄ってる最中です。

意外(でもないか)だったのは、htmltodatもJaneも特に何もしなくても動くんですね。
htmltodatはなぜかprmファイルのウィンドウだけがボタンがはみ出してしまったりしたので
そこだけはちょっと何か対応しないといけないか。。。

187 ◆/vmukiyuzw:2014/04/01(火) 20:55:21
http://anago.2ch.net/test/read.cgi/software/1394109798/771,775,776,778,780

これって多分

http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038588508/799

の事象なんでしょうね。
(ブラウザでは読めるがdatは取れない)
ともあれ役に立ったようで良かった。

188 ◆/vmukiyuzw:2014/04/06(日) 00:29:36
ようやくWindows8.1環境にもろもろの環境を移し終えました。
(買ったときは8だったけどアップデートが来て8.1になった)

しかし前回XP→XPの移行時も結構大変でしたが今回はOSも違うし
なかなか大変でしたね。なかでもやはり開発環境の移行。
次にまた痛い目に合わないよう一つ一つメモしながら作業しました。
そんな感じの中、新環境でコンパイルしたものをリリースしました。
http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038588508/800

まあXPのサポートが終わるのもあってその前にXP環境以外で
コンパイルしたバージョンを出しておきたかったというのがちょっとあります。
開発ツールが変わったわけじゃないんで吐かれるバイナリは
基本的には変わらないはずなんですけどね。気持ちの問題。

189 ◆/vmukiyuzw:2014/04/26(土) 22:12:08
http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038588508/801
について若干補足。

663さん(mirrorhenkanさん)の
http://mirrorhenkan.g.ribbon.to/jane/htmltodat-convert2/
を使って、
http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038588508/799
のprmファイル(readcgi.prmで保存)を使って、JaneStyleの外部コマンドで過去ログを読んでました。
(コマンド登録内容:htmltodat-readcgi=wscript "$BASEPATHhtmltodat-convert2.wsf" "$LINK$URL" "readcgi")

ところが某スレで、1001まであるはずのスレが1000までしか取得できていないのを発見。
調べてみると、スレの1が取得できていないことがわかった。
さらに調べると、コマンドの引数 "$LINK$URL" には、リンク右クリックで呼び出した場合
リンクのURLと呼び出し元のURLがつながった形で渡ることを確認。
つまり、本来呼び出したいURLの後ろに不要なものがくっついた形で呼び出されてしまうのです。
この形式でスレをhtmlで呼び出した場合、スレURL/2- みたいに解釈されるのか(この辺は原因不明)
スレの2以降しか取得できず1が飛ばされる結果になっていた。

GetLogとかもコマンド引数に "$LINK$URL" を取っていたはずだが不具合は起きないんだろうか・・・
と調べてみたら、必ず正規表現でURL引数を読み替えてから呼び出す仕様になっていて、
不要なものがくっついていても問題ないようになっていました。
この不具合を避けるためにはhtmltodatのprmファイルでもURLの変換を入れて
引数から必要な部分だけを自分で拾うようにするべきかと考えました。

190 ◆/vmukiyuzw:2014/05/02(金) 22:40:00
http://anago.2ch.net/test/read.cgi/software/1396868726/741

googleよりもログ速のスレタイ検索のほうが確実じゃないの?と思って

$CHOTTO http://www.logsoku.com/search?q=$TEXTIU

こんなコマンド作ってみたんですが、返ってくるURLリンクが2ch.netのものではなくlogsoku.comのものなので
Janeで読むにはひと工夫必要なんです。

とりあえず、リンクをクリックするとログ速でのスレが既定のブラウザ(うちではFirefox)で開かれるので
Firefoxの右クリでコマンドを実行できるアドオンを入れてみました。
(ログ速で表示されるスレで「2ch元スレ」を右クリしてJane2ch.exeを呼び返す)

しかし一旦Firefoxを経由しないといけないのがいまいちか。スクリプトでlogsoku.comのURLを
うまいこと2ch.netに読み替えるとかできたら使い勝手あるかもだけどやっぱニッチかな?
連休といってもほぼ暇なんで研究してみるけどあまり期待はできない^^;

191 ◆/vmukiyuzw:2014/05/04(日) 05:42:43
http://jbbs.shitaraba.net/bbs/read.cgi/computer/21256/1164941934/810

2回外部コマンドを呼ぶのはやむを得ないと思うんですが
2・3(つまりFirefoxを呼んで返ってくる手間)を何とか省けないかなと思ったのです。
ここをスクリプトで自動化できたら1ステップ減らせるかなと。

ログ速のURLに鯖名が含まれないのを取り返す方法はいくつか考えられたのですが、
ログ速のスレを読み込むとその中に2ch元スレへのリンクが含まれてるので
それを抜き出して利用するのが簡単かなと思いました。
(bbsmenuを経由するようなアプローチだと、過去ログの場合
鯖移転でそのスレが実在してた時点の鯖と違う可能性があると思われる。
これにより鯖違いで過去ログが読めないケースも出ているようなので)

で、一応形になったかもしれないのでUPしておきます。
http://mukiyu.g.ribbon.to/scripts/URLConvertLogsokuTo2ch.wsf

コマンドでの呼び出しはこんな感じで。

wscript $BASEPATHURLConvertLogsokuTo2ch.wsf "$LINK"

基本的には>>190の「ログ速のスレタイ検索」から呼び出す専用です。

あと現行ログ用です。ログ速のスレタイ検索では現行ログかdat落ちかは
識別できるようになってますが、もしdat落ちしてた場合はhtmltodatで
http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038588508/801
(補足>>189)など使っていただければ。

ところで、ttsearchが復活したという話をあちこちで見かけますね。
であればログ速でのスレタイ検索なんてやはり誰も使うことはないのか・・・
過去ログも含めて検索できるといういい点があると思うんですけどねー

192 ◆/vmukiyuzw:2014/06/04(水) 23:20:58
http://mukiyu.g.ribbon.to に繋がらないなーと思ってたら
ribbon.to の都合でIPアドレスが変更されたみたいです。
DNSの浸透が遅れていたのかな?やっと繋がるようになりました。

繋がらないといえばもう一つ
yyかきこがずっと死んでるみたいですね。
もう復活することはないみたいな噂も目にしましたが
今yyに板を構えてる方々はどうされるのか。。
チェックしていた板もあるので気になるところです。

193 ◆/vmukiyuzw:2014/06/12(木) 22:35:57
http://mattari.plusvip.jp/test/read.cgi/jane2ch/1368370279/128-129

http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038588508/801
だと取得できますけどね。みみずんにもログがないとはどういう状況だろう。

http://anago.2ch.net/test/read.cgi/software/1401011356/461-462

も同じスレのことみたいだけどどこから取得できたんだろう。

194 ◆/vmukiyuzw:2014/06/13(金) 20:31:06
http://anago.2ch.net/test/read.cgi/software/1398335147/615

以前みみずんにあるまちBBSの過去ログ変換をやったことがあります。
http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038588508/709-712

今回はこれのprmファイル化を考えてみます。
(但し、以下をprmファイル化するだけではスクリプトでのログ取得はできない。
次レスに続く)


コメント:
# まちBBSの過去ログをみみずんから取得する

URLの変換:
s`http://(.*?)/bbs/read\.cgi/(.*?)/(\d+)/?.*`http://mimizun.com/log/machi/$2/$3.dat`

前処理:
# 1行目最終フィールドからスレタイを生成
s`^(\d+<>.*?<>.*?<>.*?<>.*?<>)(.*?)\n`<title>$2</title>\n$1`ik

透明あぼーんを補う:
true

変換結果式:
$2<>$3<>$4<>$5<>

正規表現:
m`(\d+)(?# 第一フィールドはレス番なので捨てる)<>(.*?)<>(.*?)<>(.*?)<>(.*?)<>`ikx

195 ◆/vmukiyuzw:2014/06/13(金) 20:43:34
>>194続き)
上で書いたprmファイルをJaneのコマンドに組み込んで動作するかテストしたのですが
>>189と同様 http://mirrorhenkan.g.ribbon.to/jane/htmltodat-convert2/ を利用)
「Unregistered BBS」のエラーになります。
このエラーは、指定したURLの板がJane2ch.brdに存在しないということなのですが
調べてみると、URLにマッチさせてJane2ch.brdを検索するために指定されている正規表現が
まちBBSのURL形式に対応できていない部分がありエラーになっているようです。

スクリプトの13行目、
var src = 〜 として正規表現が指定されてるのですが、途中 /(?:test/.+?/) となってる部分があり
xxx.2ch.net/test/read.cgi/ の部分にマッチさせることを意図してると思うのですが
まちBBSでは xxx.machi.to/bbs/read.cgi/ となっているためマッチせずエラーになっていた模様。
ここを /(?:(?:test|bbs)/.+?/) としてやると多分うまくいくようになったと思います。

この話(/bbs/read.cgi/にマッチしない)のはほぼ同じような処理をしてるGetlogとかでも同じなんですが
URLの読み替えだけ対応しても取得できるdatの形式が2chとは異なるので
プラス何らかの対処をしないとそれだけでは専ブラで読めないと思われます。
htmltodat+htmltodat-convert2だとそこにはすでに対処しているので大丈夫と思います。


ところで、これのテストの為に過去ログをいくつか漁ってて気づいたんですが、
まちBBSではログURLをPATH_INFO形式でなくQUERY_STRING形式
(/read.cgi/板名/スレ番号/ ではなく /read.cgi?BBS=板名&KEY=スレ番号 の形式)
で表現されてるものがたまにあるようなのです。
2chではかなり昔に廃れた形式なのですが、まちBBSでは今でも使われてるのか
たまたま開いたスレがそうだっただけなのか。
この形式に対応しようと思うとまた別の読み替えパターンを考えないといけない・・・
面倒そうだしとりあえず放置しますか。

196 ◆/vmukiyuzw:2014/07/12(土) 00:46:17
http://anago.2ch.net/test/read.cgi/software/1405086867/

htmltodatでは 2ch.net のサーバにdatを取りに行く必要性はないので
直接的な影響はなさそうですが、なんか回りまわって
間接的な影響が出てきそうな予感がします。
いずれにせよ現時点では様子見くらいしかできないですが。

197 ◆/vmukiyuzw:2014/07/15(火) 06:45:17
まあどこまでできるかはわからないけれども
やりたいことのネタは振ってもらった感じですかね〜
目標としてレベル1,2,3と設定したんで
とりあえずレベル1を頑張る。といっても多分のんびりだし
同じことを先にやる人がいたらあきらめちゃうでしょうが。

198 ◆/vmukiyuzw:2014/09/14(日) 23:41:26
レベル1というのは、既存のプロキシツールを使って
htmltodat的処理を実現することだったんです。
本当はhtmltodat自体にプロキシ機能を組み込めたらいいなと思ったんですが
それは結構ハードルが高い・・・ので後回しにして手軽そうなとこから始めようかと
思った次第です。

最初はproxomitronのフィルタ程度でできるんじゃね?とタカをくくってたのですが
あんまりややこしいことするにはちょっと厳しいかなと断念。
で、いろいろ探してみたんですが、Fiddlerというソフトを発見しました。
わかりやすい解説は以下など
http://blog.loadlimits.info/2009/09/%E5%AE%9F%E3%81%AFfiddler%E3%81%8C%E3%81%99%E3%81%94%E3%81%99%E3%81%8E%E3%81%9F%E3%81%AE%E3%81%A7%E3%80%81%E6%A9%9F%E8%83%BD%E3%81%BE%E3%81%A8%E3%82%81%E7%B4%B9%E4%BB%8B/
http://www.hagurese.net/blog/default.aspx?pn=Fiddler%E3%81%A8%E3%81%AF&amp;sn=1

webアプリ開発に関わる人には驚くほど多機能で便利なソフトなのですが
ここで推す理由はhttpリクエスト・レスポンスをスクリプトで書き換え可能なところ。
つまり、datへのリクエストをread.cgiへのリクエストに変換でき
返ってきたhtmlをdatに変換することもできてしまうのです。
英語のソフトで日本語の解説もあんまりなくてとっつきにくい点はあるんですけどね・・・

てことでとりあえずread.cgiからdat変換するスクリプトをあくまでテストですが書いてみました。
http://mukiyu.g.ribbon.to/ の htmltodatByFiddler て奴です。

199 ◆/vmukiyuzw:2014/09/15(月) 23:59:16
>>41で書いたんですが(てもう9年も前かよ!)、
以前、Javaでプロキシもどきを書いてhtmltodatの前身みたいなことしてたんです。
その当時を思い起こすと、やりたいことは
・リクエストされたURLの読み替え
・返ってきたhtmlからdatへの変換
だけなのに、プロキシソフトとして成立させようと思うと
やりたいことの100倍くらいコード書かないといけなかったんです。
(通信回りとか文字コード変換だとかもろもろですな)
それでもプロキシの機能をすべて満たしてたわけではなかった・・・

それを考えると今回>>198で私の書いたコードは30行程度?
プロキシソフトの機能は満たしてる上に必要な機能を乗っけられたので
ものすごく簡単にできたのです。
実のところ、レベル2とか3とかいうのは
自分でプロキシサーバを書くことを目標にしてたんですが
こんな便利なツールがあるならこれを生かしていったほうがいいのでは?
とちょっと考え中です。

200 ◆/vmukiyuzw:2014/09/16(火) 21:01:28
>>198
今日、知人と「連休にこんなスクリプト書いたよ」って話をしていると
「それって配布していいもんなの?」との指摘を受けました。
確かに著作権の問題はあまり気にしていなかった・・・
C#等で作ったアドオンを公開されている方もおられるので
その延長で問題ないかと思ったのですが、
スクリプトで公開するとなると「Fiddlerが自動生成したスクリプト」を
含むことになるので、もしかしたらこれが問題になるかもしれません。
(生成されたスクリプトには著作権に関する記述はないようなので
問題ないのかもしれませんが)

ちょっと導入の敷居を上げることにはなるのですが、
配布するのは自分で書き足した部分だけにして
使う側でマージしてもらうということにしたほうが安全かなと考え
そのように変更しました。

201 ◆/vmukiyuzw:2014/09/21(日) 22:05:49
>>198
のスクリプトを修正しました。
 ・bbspinkへの対応が漏れていたので追加
 ・BE周りの処理が漏れていたので追加

しかし修正して再度配布することまで考慮してなかった(←考えが浅い)。
まるごとのスクリプトであれば全部上書きしてくれ、で済んだんですが
>>200みたいな事情で少々面倒なことしてるんで
すでに導入された方にはまたご面倒をかけると思います。
次の修正がもしあるなら配布方法を考えたほうがいいだろうなあ。

202 ◆/vmukiyuzw:2014/09/21(日) 23:19:00
さて、「これはいったい何をやってるのか」という話ですが。

>>196
でちょっと書いたのですが、2ch.netのdatの取得方法が変わるという話が
上がっているのです。
(現行スレは http://anago.2ch.net/test/read.cgi/software/1409909191/

で、既存の専ブラは何らかの対応が必要になると思われているのですが、
更新が長く止まっていてこの仕様変更に対応できないのではないかと
危惧されるものも少なからずあり、
プロキシでread.cgi直読みしてdatに変換することで当面対応できないかという話も
上がってるわけです。

新仕様についての具体的な話はまだないので
この先どうなるかはまだ不明ですが、とりあえず何かできないかなと思って
まあ遊びがてらですがいろいろやってみているという状況です。

203 ◆/vmukiyuzw:2014/10/01(水) 20:33:55
> プロキシでread.cgi直読みして
て表現はおかしいですね
「datを直読みするのではなくread.cgiを叩いてdatに変換する」
というのが言いたかったことです。

さて、いろいろ面倒そうなのであまり手を出したくはないんですが
Fiddlerのスクリプトでローカルのファイルを読み書きする方法は
あるかないかだけ調べてみました。

Javascriptの仲間なのでFileSystemObjectとか使うのかとか思ったのですが
これは全然見当違い。
.NET フレームワークで作られたツールなので
そっちの方向から攻めるべきだったんです。

で、具体的にどうするのかというと、スクリプトの先頭付近に

import System.IO;

てのを追記します。
これでFileクラスなどが利用できるようになるので

var lines = File.ReadAllLines(filepath);

みたいにファイルの読み書きが可能になります。
この方向で拡張したいという方の参考になれば。

# FiddlerScriptやJavaScriptで検索してもなかなか情報は得られず
# 結局C#のサンプルコードを参考にしました

204 ◆/vmukiyuzw:2014/10/17(金) 20:01:17
とある要件で調べものをしているときに、以下のようなページを発見。

http://scripting.cocolog-nifty.com/blog/2010/01/dir-c6fe.html

ん?バッチファイルの中にJScriptらしきコードが書かれてる。
そんなことできるの?
と不思議に思い調べてみました。

わかりやすかった解説

http://atl.blog.shinobi.jp/html%EF%BC%86javascript/jscript%E3%81%AE%E5%AE%9F%E8%A1%8Clogo%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%97%E3%81%9F%E3%81%8F%E3%81%AA%E3%81%84%E3%81%AE%E3%81%A7%E3%81%99%E3%80%82

・バッチファイルの中から自分自身をJScript(WSH)として呼び出す
・バッチファイルとJScriptのどちらで実行されてもうまくいくように
 トリックを仕込んでおく

ということのようです。
これにより、本来二つのファイルに分けるところのものを
一つにまとめることができるわけです。

私が知らなかっただけで実は結構定番のテクニックらしいのですが
かなりトリッキーな気もします。
こういうのを思いつける人は頭いいなーと感心してしまいました。

205 ◆/vmukiyuzw:2014/10/17(金) 23:13:39
>>203
> Javascriptの仲間なのでFileSystemObjectとか使うのかとか思ったのですが
> これは全然見当違い。

これは勘違い(というか調査不足)だったので訂正。

WSHだと

var fso = WScript.CreateObject("Scripting.FileSystemObject");

みたいにして使うのですがFiddlerScriptだとWScriptオブジェクトはないので
できないと決めつけてたのですが

var fso = new ActiveXObject("Scripting.FileSystemObject");

とする方法がありました。
これを使えば

var file = fso.OpenTextFile("Scripts\\SampleRules.js");
var text = file.ReadAll();

みたいにファイルアクセスが可能なようです。

206 ◆/vmukiyuzw:2014/10/18(土) 21:50:50
>>198
のスクリプトを修正しました。
 ・サーバによってはgzip圧縮されたレスポンスを返してくるようなので対応
 ・サーバによってはread.cgiのバージョンが微妙に異なるようなので対応
 ・USER-AGENTでMonazillaを名乗らないブラウザにはhtmltodat変換をしないよう修正

最初にテストしてたサーバではプレーンなレスポンスを返してきてたので
こういうものなのかなと思ったんですけど、サーバによっては
gzip圧縮+チャンクエンコーディングで返すものもあるとわかりました。
まあFiddlerスクリプトにこれに対応するメソッドがあらかじめ用意されてたので
それを呼ぶだけだったんですが。

それから、その同じサーバで返ってくるHTMLの形式が微妙に異なるものがあったので
正規表現をちょっと修正しました。

あと、Fiddlerは起動するとIE等の一般ブラウザのリクエストレスポンスにも介入してしまうので
USER-AGENTをチェックしないと一般ブラウザから普通に2chのページを読むことが
できなくなっちゃう(dat形式で表示されてしまう)ので対応しました。
まあこれは「専ブラはUAでMonazzilaを名乗るはず」との前提なんですが
この暗黙の前提に従わない専ブラもあるかもしれません。
その場合は適当に弄ってください。

207 ◆/vmukiyuzw:2014/10/18(土) 22:32:18
>>206
> ・サーバによってはgzip圧縮されたレスポンスを返してくるようなので対応
> ・サーバによってはread.cgiのバージョンが微妙に異なるようなので対応

この辺がサーバによって違ってたら嫌なんで
一応、今アクティブと思われる2chのサーバ
http://ch2.ma.cx/で表示されるもの)は一通り検証しました。

その結果、このスクリプトでかなり高い確率で
生datと完全に一致する変換結果datを生成できるのを確認しました。

---------------------------------------------------
ちなみに一致しないのは以下のようなケース

http://anago.2ch.net/test/read.cgi/software/1399253195/555

みたいに文字化けしてる場合
(これは多分故意にUTF-8としてPOSTしたものだと思われる)

FiddlerScript内部ではUnicodeとして扱うはずなので
SJIS→Unicode→SJISの変換が行われてると思われます。
この過程で正確に変換できない(元に戻せない)ものがでてくるようです。
まあこの辺は仕方ないですかね。

208 ◆/vmukiyuzw:2014/10/18(土) 23:03:25
それから、readmeにちらっと書いたのですが
この訳わからないスクリプトについての質問・不具合報告等は
当面このスレッドで受け付けようと思います。

あと、663さん(mirrorhenkanさん)の書かれたhtmltodat-convert2
http://mirrorhenkan.g.ribbon.to/jane/htmltodat-convert2/
についても、当面このスレッドでサポートしようと思っています。
(663さんは「htmltodatサポートには質問しないで」と書かれてましたが
現状ネットにアクセスするのが難しい状態なのかな?みたいなので)

209 ◆/vmukiyuzw:2014/11/07(金) 23:14:10
http://anago.2ch.net/test/read.cgi/software/1415161116/171

経験的にsendkeysは結構誤爆率が高くてあまり信用できないし
ちゃんとした終了待ちをせずにsleepで済ませてるのもなんだかなあ
と思いました。
かつては自分もよくこんなスクリプト書いてたなあと思うと
あまりネガティブなことも言えないんですが。

こういうのを簡単にかつちゃんとやるには実はpowershellがいいんだと思います。
プロセスの終了だとか終了待ちだとかが標準で用意されてますし。
http://technet.microsoft.com/ja-jp/library/dd315272.aspx

ただ、powershellでスクリプトを実行するには
セキュリティポリシーの壁を越えないといけないんです。
http://www.atmarkit.co.jp/fwin2k/win2ktips/1023ps1sec/ps1sec.html
「これ使えばできるよー」って人に勧めにくいんですよね・・・
使えれば相当便利なツールだと思うんですがちょっと残念。

210 ◆/vmukiyuzw:2014/11/24(月) 22:39:23
http://anago.2ch.net/test/read.cgi/software/1415161116/910

うーむ、やっぱ使えてる人はいるんだよね。
(うちでは使えているので当然かもしれないけど)

http://anago.2ch.net/test/read.cgi/software/1383498862/722

こういう方は何が悪かったんだろう。
「ログ速にもログがなかった」くらいしか思いつかない。
ここで聞いてくれたら何かサポートできたかもしれないんだけど。

211 ◆/vmukiyuzw:2014/11/25(火) 04:55:52
http://anago.2ch.net/test/read.cgi/software/1415161116/925

> これはXenoに実装されるべき

そんなんされたら私の居場所がなくなるんで勘弁してください^^;

212名無しさん:2014/11/28(金) 08:06:51
>>210
風邪でもないのにくしゃみが出たのでXenoスレから遊びに来ますた
普段は新しいパラメータを盗み読みするだけでサーセンwwwww

たしか●流出騒動直後のRokka開発段階で差分取得の仕様変更があった時かな
問題になった一部IDのNYANNYAN化に伴い旧式のdat差分配信から新式のdat全行配信へと変更され
専ブラ内部でもそれに沿った処理をするように各専ブラが軒並み仕様変更を余儀なくされたアレね
所謂さっしーえっち事件
多分その影響で取得済みスレに対してのアクションに各専ブラごとの仕様で若干の違いがあったり
または回復モードやdat落ち判定解除等の機能の有無やその使い方に違いがあったりと
各々の使用条件によって取得済みスレに対して上書きの可否が変わることもあるはず

特に開きっぱなしの強制dat落ち状態のスレタブではほとんどの専ブラで上書きが不可能なはずなので
Styleスレの彼は他の手段で取得に失敗したスレタブを開いたまま再取得を試みていたり
古いパラメータファイルを使ってるせいで表示がおかしくなったりしているのではなかろうかと妄想


>>211
あ、そいつ𠮟った時なんですが
こんだけ便利なツールを玩具呼ばわりしたのは謝ります
Jimは讃岐に対してでさえかなり冷たい態度だったので相当重度の重いコンダラ症候群と思われ
声高にログ速連呼してるやつがいるといつまたクローラタイサクガーに変身するか分からないんで
そこは方便ということでひとつ

213 ◆/vmukiyuzw:2014/11/28(金) 21:48:02
>>212
どうもです
いるかいないのかよくわからなかったhtmltodat-convert2ユーザーがいらっしゃったということで
今後もよろしくです

214 ◆/vmukiyuzw:2014/12/04(木) 02:11:09
fiddlerのスクリプトでスレタイの [転載禁止](c)2ch.net 等の文字列を消すことができるんじゃないか?
とdatのレスポンスを変換できないかいろいろやってたんですがうまくいかない。
なんか結果の文字列がUTF-8で返されてるようで
何とかしてSJISに変換しないといけないんだろうけど
方法がよくわからなくて放置してたんです。

そんでこないだ、「Jane系でばっかテストしてたけどV2Cで動くのかな?」
とふと思ってテストしてみたんですが、
いきなり「Content-Typeがtext-plainじゃないよ(text-html)」ってエラーで拒否られる。
Content-Typeをtext-plainにしてみる一行書いてみたんですが
やっぱUTF-8に文字化けしたスレしか取得できない。

ここでなぜか思い出したのですがContent-Typeには確か文字コード指定出来たよな・・・
でこんなコード追加してみました。

oSession.oResponse["Content-Type"] = "text/plain; charset=\"Shift_Jis\"";

これでなんとうまく動いてしまった・・・こんなので大丈夫なのか?^^;

もう少し検証したいと思いますが、fiddlerでは
スクリプトで設定されたContent-Typeからcharsetを検知して
相当の文字コード変換とかやってくれるのかな?

# プロキシとしてはこれくらいの機能は当然なのかな?
# だとしたら自力でプロキシ書くとか絶対無理だわ〜

215 ◆/vmukiyuzw:2014/12/05(金) 23:11:10
わざわざエスケープしたダブルクォーテーションでくくる必要はなかったようです。
以下でもOK

oSession.oResponse["Content-Type"] = "text/plain; charset=Shift_JIS";

あと、Shift_JIS の部分を EUC-JP とかにしてもちゃんとEUCのレスポンスが返されたので
まだ検証中ですがとりあえず言えるのは
・Content-Typeヘッダーでcharsetを指定してやると任意の文字コードで出力が可能
てことなのか。だとしたらかなり便利だ。

しかし前にも書いたかもですがfiddlerには日本語のドキュメント自体がなかなかない上に
こういう日本語の変換の取り扱いについてなんて記述は皆無?
徒手空拳でやってみるしかない状況です。
まあ未踏の世界に立ち向かってるようでそれはそれで楽しいんですけど。

216 ◆/vmukiyuzw:2014/12/06(土) 05:34:45
という感じで、fiddlerによるhtml→datの変換はまだいくつか問題はありつつも
少しずつ前進した感じなのですが、
datを直接読んでちょっと細工して返す、てなことをやろうとすると
(これはまあ本筋からは外れたお試しなのですが)これがまた文字化けします。
元データはhtmlもdatもShift_JISなのになぜdatだと化けるのか。

色々試して考えたのですが、htmlのレスポンスだと、自分で(metaタグのcharsetで)
「自分の文字コードはShift_JISですよー」て名乗るじゃないですか。
fiddlerは賢いので(httpヘッダのcharsetも理解するくらいだから)
これを判別してhtmlの文字コードはShift_JISだと認識しているんではないか。
だが、datでのレスポンスにはそういう識別コードがないので、文字コードを判別できない
(だから、おそらくUTF-8のつもりで読み込んでいるものと思われる)ため
文字化けが起こっているのだと推測しました。
ならdatのレスポンスをShift_JISだと認識させて読み込めればいいはずです。

var oBody = System.Text.Encoding.GetEncoding("SHIFT-JIS").GetString(oSession.responseBodyBytes);

うわ、ちょっと長いね^^;もっとスマートなのがあるかもですが
当面これしか見つからなかった。
System.〜で始まるので.netのメソッドを直接叩くのかな。

あとはこれを好きに加工した後、上のレスと同様 charset=Shift_JIS で出力すればいいわけです。

うーむ、なんか敵(じゃないけどね^^;)の正体が少しずつ見えてきたような・・・
結構手こずったけど思ったほど手ごわくはないかもしれない。
結局、入力・出力の文字コードを認識させるにはどうするかって話になるような。

217名無しさん:2014/12/13(土) 04:34:18
したらばで『〜』が『潤オ』に化けてたことを思いだして敢えてこのスレでリベンジしてみるテスト

218 ◆/vmukiyuzw:2014/12/18(木) 01:16:06
Fiddlerでの日本語変換について色々わかってきたので
一旦まとめといたほうがいいのかもですが、次に関心が移っちゃっているので
まあ落ち着いたら改めてということで。

で何に関心を持ってるかというと、Fiddlerのスクリプト以外での拡張。
スクリプトを書き換えての拡張は個人利用には楽なんですが
配布とかには面倒だし更なる拡張性とか考えるともっといい方法がないかと。
それがC#やVB.NETで拡張ができるのです。

http://docs.telerik.com/fiddler/extend-fiddler/extendwithdotnet

最初、同じ.NETなんだから今までのスクリプトの延長で
Jscipt.NETでもいけんじゃないの?といろいろやってみたんですが
徒手空拳ではうまくいかずドキュメント等もなく頓挫気味。
C#でやってみるとなんかうまくいったみたいなのでこの路線でとりあえずやってみます。
まあ前からC#やろうとか言ってながら回りまわってやっとたどりついた感じか。

219 ◆/vmukiyuzw:2015/01/15(木) 02:57:54
http://jbbs.shitaraba.net/bbs/read.cgi/computer/21256/1164941934/821

htmltodat-convert2を弄って何とかならないかと思ったのですが
2chとしたらばではURLの形式が微妙に違って
同じスクリプトで両方に対応させようとすると結構難しい部分があったので
htmltodat-convert3として別コマンドにしてみました。
(prmファイルを別にする以上コマンド自体別にしないといけないはずなんで
特に困ることはないかと思ったのですが)

http://mukiyu.g.ribbon.to/cgi-bin/download2.cgi?name=htmltodat-convert3&amp;url=htmltodat-convert3.zip

使い方はhtmltodat-convert2とほぼ変わらないのですが
コマンドの第二引数に "$LINK$URL" を指定できるように
ちょっと修正してます(GetLogの仕様に近づけるため)。

>>208に書きましたがこのスクリプト関連のサポートは
私が勝手に引き継ごうと思っているので
何か問題等あればここで報告いただければと思います。

220 ◆/vmukiyuzw:2015/01/25(日) 01:55:33
http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038588508/821-822
の変更を受けてfiddlerスクリプトのほうも修正しました。
(ver1.03)
http://mukiyu.g.ribbon.to/cgi-bin/download2.cgi?name=htmltodatByFiddler1.03&amp;url=htmltodatByFiddler1.03.zip

しかし>>218でちょっと書きましたがC#に移行しようと考えていて
実は当面の機能は移植できていてプラスの何かをやろうと考えてた時だったので
ちょっと引き戻されたような感じで少し残念ではあります。

221<削除>:<削除>
<削除>

222<削除>:<削除>
<削除>

223 ◆/vmukiyuzw:2015/01/27(火) 22:08:29
http://anago.2ch.net/test/read.cgi/software/1421448195/351

最近新しい正規表現作る機会がなかなかなかったもので
頭の体操がてら考えてみました。まあいつものちょっとした遊びで。
htmltodatではgzip圧縮に対応してるんで*.gzの形式でも
そのまま解凍して読み込めます。


コメント:
# http://atchs.jp/ の過去ログ変換できるかも-20150127

前処理:
s#(<title>)\s*(.*?) - 過去ログ .*?(</title>)#$1$2$3#iks
s#\tID:# ID:#g
s#\s{2,}(?!ID)##g
s#<br />#<br>#g
s#&nbsp;\[.*?\]##g

プレビューを表示しない:
false

正規表現:
m`<div\ class="res">.*?(?:<a\ href.*?>)?
(?# レス番号) (\d+)
(?:</a>)?.nbsp;名前:
(?# メール欄) (?:<a\ href="mailto:(.+?)">|<span\ style="color.*?>)?
(?# 名前) (.*?)
(?:</span>|</a>):
(?# 投稿日・ID) (.*?)
<p\ class="res_body">
(?# レス内容) (.*?)
</p>
`mikx

224 ◆/vmukiyuzw:2015/02/01(日) 00:32:00
http://anago.2ch.net/test/read.cgi/software/1418396135/890

このサイト見て
「そういやread.cgiにはrawモードてのがあったよな・・・
これ使えばhtmlからdatに変換しなくてもdat取れるんじゃ?」
と思って試してみたのですが、rawモードは廃止されてしまったのかな?
指定してもレスポンスは何も変わらないです。
dat直読みができなくなりそうな現状(まあポシャる気配も濃厚ですが^^;)
あったらよさそうな感じですけどね。

225 ◆/vmukiyuzw:2015/02/19(木) 22:25:20
http://anago.2ch.net/test/read.cgi/software/1424147714/19-20

htmltodatのfiddlerスクリプトで実現できていなかった差分取得を
このスクリプトでは実現できているので、とりあえず私の書いたスクリプトは
お役目終了かもしれません。
このスクリプトでいろんな専ブラで動作確認してみたんですがいくつかうまく動かないのがある。
どうも既存ログのサイズと新規に取得したサイズをきっちりチェックしてるものがうまく動かないようで、
responceCode = 206 となるケースで以下のコードが必要なようです。

oSession.oResponse.headers("Content-Range") = "bytes " + sbyte + "-" + (bodylength - 1) + "/" + bodylength;

と足したらうまく動くなるようになるものもありました。
手元で確認したものではJane系・V2C・ギコナビ・Live2ch・かちゅ〜しゃ は
新規取得も差分取得もうまくいってるようです。

「もうこのブラウザだめだ乗り換えよう」とか「.net以外に移住しよう」とか言っておられる方は
一度試して見られては。

226 ◆/vmukiyuzw:2015/02/19(木) 23:28:25
>>225
訂正。Live2chでは差分取得がうまく動きませんでした。
fiddlerスクリプトで差分取得かどうかを判定してレスポンスコードを書き換える場合

HTTP/1.1 206 Fiddeled

みたいなレスポンスになるんですがLive2chはそれを受け付けてくれないような?
(一般的には「206 Partial content」とかになる)

227 ◆/vmukiyuzw:2015/03/02(月) 00:55:46
htmltodatのfiddlerスクリプトなんですが、2点ほど壁にぶつかっていました。
・メール欄に全角文字が書かれていると文字化けする
・名前やレス本文にメールアドレスが書かれているとスレが壊れる

どちらもCloudFlareのemail-protection処理に起因する問題なのですが
なかなかやっかいでちょっとお手上げ状態で放置していました。
ところが、このemail-protection処理により2ch自体のread.cgiでも
スレが壊れたりセキュリティホールが発生したりという事態になって
emai-protectionは外されることになったようです。
よって、目の前の壁は勝手にどいてくれたかなという感じです。

これによってやれることはまだできたかなと思うのですが
まだまだ状況は流動的ぽいのでしばらくは様子見ですかね。

228名無しさん:2015/03/02(月) 04:03:37
ということはそのままで壊れなくなったってことか

229名無しさん:2015/03/02(月) 11:11:41
email-protection処理を無効化
変換は GET method だけ有効にする
で何となく動いている
当面これで乗り切れそう
ありがとうございます

230名無しさん:2015/03/19(木) 04:25:09
レス1だとレス取得が壊れることがあるのですが、
>>225はhtmltodatByFiddler1.03のどこにコピペすればいいんでしょうか?

231 ◆/vmukiyuzw:2015/03/19(木) 21:15:27
>>230さん

>>225のレスはhtmltodatByFiddlerについてのものではなく
http://anago.2ch.net/test/read.cgi/software/1424147714/19 さんの書かれた
スクリプト(以下19スクリプトと略す)についてのものだったんです。

で、19スクリプトのどこにコピペすればということになるんですが、
人の書いたスクリプトにケチをつけるようでなんなんですが
このスクリプトはhtmltodat変換の精度にやや問題があるような。
(メール欄の内容が失われたりレス本文の一部が特定の条件で欠けたりします)

ので、19スクリプトのまずい部分を修正するより、htmltodatByFiddlerに
差分取得ロジックを移植するほうが楽だし問題も少なそうなので
そうすることにしました。
次レスに続く。

232 ◆/vmukiyuzw:2015/03/19(木) 21:22:30
htmltodatByFiddlerを更新しました。(ver 2.00)
 ・差分取得に対応
 ・メール欄デコード処理は不要になったので削除
 ・USER-AGENTでのmonazillaの判定を外す
  (USER-AGENTを変更しても問題ないように)

readmeにも書いたのですが、
前バージョンまでで対応していなかった差分取得に対応しました。
ただ、その対応のためにdat変換処理を修正する必要があったため、
前バージョン以前を使って取得済みのログを更新しようとするとログ破損状態に
なってしまいます。
申し訳ないですが再取得してください。
もしくは、前バージョンで問題が起きていない場合は今回のバージョンアップは
見送るのでもいいと思います。
(Jane系の専ブラ等は自力で差分だけを取れるようになっているので
前バージョンでも問題なく動いてるはず)

233 ◆/vmukiyuzw:2015/03/19(木) 22:04:10
まあ差分取得とか言ってますが実際には全レス取得してブラウザには差分だけ返す
疑似差分取得です。
一般的な専ブラならログをローカルに保存してそこからの差分をリクエストするような
方式で動作してると思うのですが、それと同じようなことをやろうと思うと
やはりローカルに何らかの形で情報を保存しておかないと実現できないと思うんです。
実際その方向で実装しようと試行錯誤してたときもあったんですが、いろいろと面倒だし
多少重くはあるけど当面はこの形で行こうかと。

しかし、他にも専ブラ用プロキシソフトはいろいろよさげなものが出てきて
htmltodatByFiddlerなんてもうお役目御免かなくらいに思ってたのですが、
Fiddler(実績のあるプロキシソフト)+ソース丸見えのFiddlerScript
ていう安心の組み合わせはそれなりにニーズはあるのかな?
ダウンロード数が跳ね上がっていてちょっとビビってます^^;

234名無しさん:2015/03/19(木) 22:32:41
htmltodatByFiddler1.03(32bitWin7Xeno150312)で
>>230に似た症状が自分も出てたんですが
2.00にしたら無事直りました
個人的に使いやすいのでとても助かってます
ありがとうございました

235名無しさん:2015/03/19(木) 23:09:26
更新お疲れ様です

お絵描き機能の(http://maguro.2ch.net/oekaki/とか)
タグ除去置いておきます
BE周りの処置を弄っただけですが

//oekaki対応
oBody = oBody.replace(/<img src="http:\/\/(o\.8ch\.net\/.+?)">/ig,"http://$1");
//ここまで

//BE周りの処置と変換後の//1レス目にタイトルを付加の間に入れてます

236 ◆/vmukiyuzw:2015/03/19(木) 23:47:58
http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038588508/831-832

私が作ったものではないので積極的には推せなかったのですが
htmltodat-convert2 がようやく日の当たる場に出た感じですか。よかった。
あと、したらば過去ログがJaneStyleで読めないって方には
>>219 みたいなのもありますのでお試しいただければ。

237名無しさん:2015/03/21(土) 00:24:04
使い始めました。
感謝、感謝です。

238230:2015/03/21(土) 06:49:39
>>231
ありがとうございました!

239 ◆/vmukiyuzw:2015/03/22(日) 19:28:21
http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038588508/835 さん

http://anago.2ch.net/test/read.cgi/software/1426858616/907
にもありますが、

> 117のスレのように本文が長いレスが大量にある場合に起こるようです。
> read.cgiはdatの半角スペースの連続を1つの半角スペースに置き換える処理を行っていますが
> これを途中でやめてしまうのが原因のようです。

これに加えて、プロキシからはread.cgiに対し同じリクエストを投げているのに
返ってくるレスポンスでは半角スペースの連続を省略したりしなかったり
一定しない。これで416が発生するようです。
(read.cgiの潜在バグかもしれない)

とりあえず対処としては、半角スペースの連続を省略する処理を組み込んでしまって
read.cgi側でブレが出ても影響ないようにすることかと思いました。

oBody = oBody.replace(/ +/g," ");

↑これを

oBody = oBody.replace(/^(.*?<>.*?<>.*?<>.*?<>$)/m,"$1" + title[1]);

の後あたりに挿入。

対応したバージョンは追ってアップします。

240835:2015/03/22(日) 20:12:27
>>239
さっそくの対応ありがとうございます。
追加しまして無事に206にて取得できております。
ありがとうございました。

241 ◆/vmukiyuzw:2015/03/22(日) 22:33:01
htmltodatByFiddlerを更新しました。(ver 2.01、1.04)
 ・特定のスレで更新時に破損ログとなってしまう問題の対処ととして
  連続する半角スペースを1個に省略するよう修正

変更した部分は>>239のみです。
ver 1.xxで不都合がなくてまだお使いの方もいらっしゃると思うので
今回はver 2.xx、1.xx両方について更新しました。

ただ、今回もdat変換処理に修正が入っているため、
前のバージョンを使って取得済みのログを更新しようとするとログ破損状態に
なってしまう可能性があります。申し訳ないですが再取得してください。
(今回は長文が多くレス容量が大きいスレが危ないような)

242名無しさん:2015/03/22(日) 22:59:39
>>241
ありがとうございます!
chaika+htmltodatByFiddler2.00でフリーズしたことがあったので、1.03使ってました。
1.03で安定しているので、1.04使わせていただきます。

243 ◆/vmukiyuzw:2015/03/23(月) 00:25:38
http://anago.2ch.net/test/read.cgi/software/1427009587/56

200で返ってくるけど本来は404なり302になるようなやつをはじけば
いいのかな?

if (title[1] == "2ちゃんねる error 3001"){
oSession.responseCode = 404;
return;
}

こういうの入れとけばCPUが上がるのは避けられるような

244名無しさん:2015/03/23(月) 00:28:25
>>241
お疲れ様です!

2.01にてCPUが100%になるという書き込みがありましたので、
一応報告させていただきます。

専用ブラウザを助けるプロクシ作らね?7串目 [転載禁止]©2ch.net
http://anago.2ch.net/test/read.cgi/software/1427009587/56

56 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2015/03/22(日) 23:03:22.23 ID:8oJm1s6h0
htmltodatByFiddlerでCPU使用率が上がるのは
「datが存在しません。削除されたかURL間違ってますよ。」のスレを開いたときかな

245 ◆/vmukiyuzw:2015/03/23(月) 00:34:25
あ、>>243

//スレのタイトルを取得
var title = oBody.match(/<title.*?>(.*?)<\/title>/mi);

の後ね。
ちょっといろいろ試して問題なければバージョンアップします。

246 ◆/vmukiyuzw:2015/03/23(月) 02:28:49
http://anago.2ch.net/test/read.cgi/software/1427009587/156

確かにそうなのでこんな感じに修正したほうがいいか

if (!oBody.match(/<dl /)){
oSession.responseCode = 404;
return;
}

眠いので続きは明日以降に

247 ◆/vmukiyuzw:2015/03/23(月) 22:40:55
htmltodatByFiddlerを更新しました。(ver 2.02、1.05)
 ・2ch側で削除済みのスレを取得しようとするとFiddlerのCPU使用率が上がってしまう問題の対処として
  エラーと思われるhtmlが返された場合にステータスコードを404とするよう修正

今回もver 2.xx、1.xx両方について更新しました。
変更した部分は>>246のみです。
今まで自力で修正していて、今回も自力で反映させたいという方は

var oBody = oSession.GetResponseBodyAsString();

の後あたりに挿入していただければいいと思います。

248名無しさん:2015/03/23(月) 22:48:48
>>247
ありがとうございます!

249 ◆/vmukiyuzw:2015/03/24(火) 01:47:38
うわ、今気づいた
http://mukiyu.g.ribbon.to/
のトップを更新するの忘れてましたわ・・・
「バージョン変わってないじゃん?おかしいな〜」
という方は再度ダウンロードしていただければ・・・
ごめんなさい。

250名無しさん:2015/03/24(火) 05:31:48
>>249
乙です
一番使いやすい串なので使っております

251名無しさん:2015/03/24(火) 10:12:13
>>249
更新乙です。
fiddler+わかりやすいスクリプトはやはりいい!
愛用させてもらってます。

ところでこちらで生成したdatはLast-Modifiedがないようですがこれは取得が難しいのでしょうか?
chaikaで書き込みする際にフォームエラーが返ってきます。
ひとまずは下記のコードを追加して問題なく動作はしていますが
正確なLast-Modifiedの値ではないのでちょっとモヤモヤします。
oSession.oResponse["Last-Modified"] = oSession.oResponse["Date"];

datの仕組みはよく知らないので的外れかも知れませんが
最終レスのDATEをLast-Modifiedに返せれば正確な値となるのかな?と思っております。

252 ◆/vmukiyuzw:2015/03/24(火) 23:52:26
>>251さん

> 正確なLast-Modifiedの値ではないのでちょっとモヤモヤします。
> oSession.oResponse["Last-Modified"] = oSession.oResponse["Date"];
>
> datの仕組みはよく知らないので的外れかも知れませんが
> 最終レスのDATEをLast-Modifiedに返せれば正確な値となるのかな?と思っております。

Last-Modifiedを使ってエラーチェックをしてるブラウザがあるとは寡聞にして知りませんでした。
うーむ、思うにhtmltodat変換をしてる時点で正確なLast-Modifiedは存在しないわけで
最終レスの投稿日時とて=Last-Modefiedとなるとも100%は限らない
(ほぼイコールになるだろうとは思いますが)と思うので
それをやったところでモヤモヤは残るのでは。というか気分の問題かもしれませんね。
とかいいつつ以下のようなのも書いてみました。

var arr1 = oBody.split("\n"); //各行にばらす
for (var i = arr1.length - 2; i >= 0; i--){ //最終行が1001だと投稿日時が取得できないため後ろからなめる
var arr2 = arr1[i].split("<>");
var t = arr2[2].match(/(\d+)\/(\d+)\/(\d+).*?(\d+):(\d+):?(\d+)?\.?(\d+)?/); //投稿日時取り出し
if (t){
if (!t[7]) t[7] = "00"; if (!t[6]) t[6] = "00"; //古いログでは秒やミリ秒は存在しないものがあるため
var d = new Date(t[1],t[2],t[3],t[4],t[5],t[6],t[7]);
oSession.oResponse["Last-Modified"] = d.toUTCString();
break;
}
}

この前書いた

oBody = oBody.replace(/ +/g," ");

の後あたりに挿入してください。というかこんなのは関数化したほうがいいんだろうな。
htmltodatByFiddlerへの取り込みはちょっと考えさせてください。

253251:2015/03/26(木) 01:37:24
>>252
返信ありがとうございます。
Last-Modefied自体が元々存在しないとなると
最終レスの日付から取得しても偽データということなんですね。
となると言いだしっぺの私が言うのもあれですが
たかがその為に冗長的なコード増やすのは無駄だと思われますし
chaika限定かつ個人的な問題ですのでhtmltodatByFiddlerへの反映は不要だと思います。

ちなみにせっかく書いて頂きましたコードを追加しましたところ
最終レス日時の1か月後の日時がLast-Modefiedに格納されて
Last-Modefied>dateとなり不整合で結局エラーとなりました。
ひとまずは現状のLast-Modified=Dateで問題もないので
後は書いて頂いたコードを参考に自分でもう少し勉強してみます。
ご教示ありがとうございました。

254251:2015/03/26(木) 18:14:39
Last-Modefiedが1ヶ月ズレる件、解決できました!
dateオブジェクトの月は0〜11で表さなきゃいけなかったんですね。
なのでt[2]を-1することで正常な最終レス日時を返すことが出来て書き込みも可能と希望通りの結果となりました。
私の自己満足に付き合って頂き本当にありがとうございました。

255名無しさん:2015/03/26(木) 22:49:13
差分取得のちょっとした改善案です。

html変換のdatサイズより途中まで取得済みの正規のdatサイズの方が大きいがため、
本来追記されるであろう残りのレスがなくあぼーん分岐してしまうのを可能な限り防げるかと思います。

まず以下をスレタイ取得の前後何れかに入れる。

// スレサイズを取得(取得したサイズの方が小さい時の保険)
var aSize = oBody.replace(/<font color=red face="Arial"><b>(\d+) KB<\/b><\/font>/mg, "$1");
var getSize = parseInt(aSize, 10) * 1024;

で、差分取得処理のサイズ判定を以下の様にする。

if (sbyte > bodylength){



if ((sbyte > bodylength) && (sbyte > getSize)){

以上です。

256名無しさん:2015/04/11(土) 16:30:11
>>255
ちゃんとスレサイズ取れてなかったので訂正

// スレサイズを取得(取得したサイズの方が小さい時の保険)
var aSize = oBody.replace(/<font color=red face="Arial"><b>(\d+) KB<\/b><\/font>/mg, "$1");
var getSize = parseInt(aSize, 10) * 1024;



// スレサイズを取得(取得したサイズの方が小さい時の保険)
var aSplitBody = oBody.split('<font color=red face="Arial"><b>');
var aSize = aSplitBody[1].split('\n')[0].replace(/(\d+) KB<\/b><\/font>/, '$1');
var getSize = parseInt(aSize, 10) * 1024;

257名無しさん:2015/04/11(土) 20:56:12
動作確認を行った環境は
Windows 7 Professional (x64) Build 7601
.NET Framework 4.5.51209(← regeditのVersion)
(でもFiddlerで確認すると、.NET 4.0.30319.34209と表示)
Fiddler v4.5.0.0
htmltodatByFiddler 2.02

作者さんありがとう

258名無しさん:2015/04/17(金) 21:26:42
htmltodatByFiddler 2.02 ありがたく使わせてもらっています
先日2chのスレでftp://が書き込まれたスレが取得できない状態になってしまいました
何らかの形で対応できないものでしょうか

259名無しさん:2015/04/17(金) 23:32:31
>>258
Fiddlerと2chの間にはCloudFlareがあってだな
2chのread.cgiのバグを修正しない限りCloudFlareが誤動作するんだ
これは端末のツールでどうこう出来る問題じゃないんだよ

260 ◆/vmukiyuzw:2015/04/17(金) 23:51:11
>>259さん、フォローありがとうございます。

>>258さん
一応状況は把握していて、何か逃げ道はないかと考えていたのですが
htmlを取得して変換するという仕組み上、そこでエラーになる状況であれば
完全に回避することは難しいと考えます。
(どのレスにftp://が書かれてるかは読んでみないと分かりませんしね)
現状ではAPI対応のプロキシもいろいろあるようなんで
そちらをお使いいただいたほうがよろしいかと。

しかし、2ch.net側としても
read.cgi経由(htmlプロキシだけでなく汎用のwebブラウザでも)で
読めない状況はまずいと思われるので
そのうち対応されるだろうと期待して様子見してるのですが。

261名無しさん:2015/04/17(金) 23:55:59
横からですが、
そのうち、netに書き込まれた全てのftp://のレスがあぼんされるんじゃなかろうか

262名無しさん:2015/04/19(日) 21:56:19
多分CloudFlare側の対応で、read.cgi経由でftp://が表示出来るようになったよ。

263名無しさん:2015/04/19(日) 21:57:58
おお、本当だ

264 ◆/vmukiyuzw:2015/04/19(日) 22:20:59
>>262さん
CloudFlare側の対応というより、read.cgiの修正(というか多分バージョンダウン)で直ったんだと思います。
汎用ブラウザでスレを見ると、書き込みのところの「お絵かきLOAD」のボタンがなくなってますので
・お絵かき機能を追加するバージョンアップのときにバグを仕込んでしまった
・問題が発生していない元のバージョンに戻した
てところではないかと。
ただ、MANGO板を含むmaguro鯖ではまだエラー出るようですね。
まあちょっと特殊な鯖みたいなんであまり気にすることはないかな。

http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038588508/884
の結果を受けて、Fiddlerのスクリプトにびんたんからの取得を検討していたところだったんですが、
とりあえず無駄な作業になっちゃう前に何とかなってよかった。

265名無しさん:2015/04/20(月) 01:50:53
>>264
read.cgiの対処なら、↓の表記が全く変わらないのも何だかなって感じだね。
バグってたときと同じver.&日付だし。

read.cgi ver 05.02.02 2014/06/23 Mango Mang&uuml;&eacute; ★

266名無しさん:2015/05/28(木) 00:24:43
こういうのってhtmltodatByFiddler2.02で大丈夫なんですか?


730 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2015/05/27(水) 15:13:18.45 ID:4WQWcUci0
「提督業も忙しい!」にセキュリティ問題、警察庁も注意喚起
http://www.itmedia.co.jp/enterprise/articles/1505/27/news061.html
[FiddlerCore] Startup() のオプションの話
http://www.cat-ears.net/?p=39957

専用ブラウザを助けるプロクシ作らね?10串目 [転載禁止]©2ch.net
http://anago.2ch.net/test/read.cgi/software/1428850227/730
http://anago.2ch.net/test/read.cgi/software/1428850227/737
http://anago.2ch.net/test/read.cgi/software/1428850227/743

267 ◆/vmukiyuzw:2015/05/28(木) 00:54:34
>>266さん
FIddlerCore.dllを使ったアプリでは、デフォルトでは
外部からのプロキシ接続を受け付ける設定になってて
このセキュリティ問題になってるようですね。
Fiddler.exeのデフォルトでは
Options - Connections - Allow remote computers to connect
がオフになってるので、まあそれを信用するなら大丈夫なんじゃないでしょうか。
そもそもルータ等でいらんポートを塞いでれば問題ない気もしますが。

268 ◆/vmukiyuzw:2015/05/28(木) 21:16:01
ちょっと説明が雑だったかもしれないので補足。

FiddlerCoreっていうのは、Fiddlerの機能からUIの部分を取っ払って
プロキシサーバ機能のみを提供するもので、
プログラマがアプリを作るのにプロキシ機能を使いたい、てときに利用できるものです。
(自分で1からプロキシ機能作るのは作るのは大変なので)

で、FiddlerそのものとFiddlerCoreには「外部からのプロキシ接続を受け付けるか否か」
のオプションがあるんですが、これが(デフォルト状態では)
 Fiddlerはオフ、FiddlerCoreはオン
なようです。
FiddlerCoreのほうのオプションはプログラマが適切に設定しなければなりませんが
Fiddlerのオプションはユーザが操作でき、かつ、特殊な目的でもなければ
わざわざオンにする人もいないと思われるので
特に問題はないのではないかと思います。

269名無しさん:2015/05/29(金) 02:45:48
>>267-268
おお、問題ないのですね
ありがとうございました

270名無しさん:2015/09/03(木) 12:34:39
一部の鯖でエラー出るread.cgi復活してるみたいね

271名無しさん:2015/09/03(木) 20:02:16
あ、そういうことなん?
何か数日前くらいから読み込めないスレがちらほら出始めたんだよね

272名無しさん:2015/11/13(金) 23:40:01
potato.2ch.netのread.cgiが吐き出す出力は構造が大きく変わった

273名無しさん:2015/11/14(土) 10:16:01
>>272
http://anago.2ch.net/test/read.cgi/software/1437650830/796
ここのレスが修正のヒントになるよ

274 ◆/vmukiyuzw:2015/11/15(日) 06:50:49
htmltodatByFiddlerを更新しました。(ver 2.03)
 ・2ch側で特定のサーバでread.cgiの仕様が変更されHTMLの形式が変わったため
  それに対応。

変更されたread.cgiに対応した正規表現はさほど難しくなかったのですが
当面(いつまで?)新旧のread.cgiが共存すると思われるため、
どっちのcgiにも対応できるにはどうするかちょっと悩みました。

また、今回もdat変換処理に修正が入っているため、
前のバージョンを使って取得済みのログを更新しようとするとログ破損状態に
なってしまう可能性があります。申し訳ないですが再取得してください。

それと、ver 1.xx系列を合わせて保守するのはちょっとしんどいなと思えてきたので
今後はver 2xx系列だけでいかせていただけないかと思います。

275名無しさん:2015/11/15(日) 08:33:12
>>274
お絵描きのimgタグ除去は、新cgi関係なく共通なんだけど。

276 ◆/vmukiyuzw:2015/11/15(日) 22:50:30
>>275
ご指摘ありがとうございます。修正しました。(ver 2.04)
 ・お絵かき機能のimgタグの除去処理の場所を修正

277名無しさん:2015/11/16(月) 01:59:29
>>276

助かったよ、ありがとう!

278名無しさん:2015/11/16(月) 12:38:12
>>276
今のところ順調に動いてます
ありがとう

279名無しさん:2015/11/17(火) 13:44:42
こっちの問題じゃないんですが
read.cgi ver 06.0.0 には ttp: から始まるリンクに対しておかしなアンカーを生成するバグがある模様
真正の dat とバイト数が大幅に合わなくなる原因になるので一応書いておきます

280279:2015/11/19(木) 09:01:16
jump.2ch.net を呼ぶようになったので特別な対策は要らなくなりました
read.cgi が安定するにはしばらく時間がかかりそう

281名無しさん:2015/11/19(木) 23:47:05
>>244が再発してますね

282 ◆/vmukiyuzw:2015/11/20(金) 22:56:43
>>281さん
ご指摘ありがとうございます。修正しました。(ver 2.05)
 ・「datが存在しません」のレスポンスが返ってきたときの判定を修正

read.cgi 06系では「datが存在しません」の場合に
どういうレスポンスが返るのかよくわからなかったので
判定条件を適当に修正しちゃってバグを仕込んでしまいました。
とりあえず当面のread.cgi 06系の吐くHTMLでは
元の判定条件で大丈夫だと確認しましたので修正(というか元に戻す)しました。
>>243-247あたりも参照)

283名無しさん:2015/11/20(金) 23:48:44
>>282
対応ありがとうございます
バグは直りましたが今度はread.cgi 06が404になってしまい読めなくなっています

284 ◆/vmukiyuzw:2015/11/21(土) 00:30:43
>>283さん
失礼しました。テストが不十分でした。
一応修正したつもりのバージョン。(ver 2.06)

まだまだread.cgi 06系の仕様が読み切れてないので試行錯誤中です

285名無しさん:2015/11/21(土) 00:56:15
>>284
読めるようになりました
どうもありがとうございました!

286名無しさん:2015/11/30(月) 20:05:41
>>284
何か最近読めないページが出てきたな・・・
と思ってたら2.06でいけるようになりました。ありがとう

287名無しさん:2015/12/04(金) 23:33:54
なんか新着レスのとこで「ここ壊れてます」になります。
新スレ取得でもなぜかレスの2が壊れます。
多分、これだと思います。

対処よろしくお願いします。

119 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2015/12/04(金) 19:14:30.15 ID:q3g2YXGo0
まぐろ鯖のread.cgiで>>1に<br><br><div class="banner">から始まる広告が入った

専用ブラウザを助けるプロクシ作らね?15串目
http://potato.2ch.net/test/read.cgi/software/1448272459/119

288 ◆/vmukiyuzw:2015/12/05(土) 01:09:44
>>287さん
とりあえず修正してみました。(ver 2.07)
今回の対処は広告バナーを除去するようにしただけです。

若干説明したいことがあるのですがもう眠いのと
明日から用事が立て込んでるのでまた改めて。

289名無しさん:2015/12/08(火) 13:05:21
俺環かもですが例のレス内広告、BBSPINKではところどころ改行されててうまく取得できないようです
よく見ればすべてタグで括られてるので

replace(/<br><br>\n(?:<[^>]*?>\n?)*?<dt>/g,"<br><br>\n<dt>")

に変更したところ問題なくなりました
再検証のうえで修正版をお願いします

290名無しさん:2015/12/08(火) 16:39:30
>>288
いつもありがとうございます

>>289
replace(/<div class="banner"[\s\S]*?<\/div><br><br>/,"")

俺はこうしたけど正規表現はあまり詳しくありませぬ

291 ◆/vmukiyuzw:2015/12/08(火) 21:12:46
修正しました。(ver 2.08)

>>289さん、>>290さんご指摘ありがとうございます。
今回は、前バージョンからの修正が少なく互換性の検証が容易だった
>>290さん案を取り入れさせていただきました。

292名無しさん:2015/12/08(火) 21:50:51
>>290
そっちの方がシンプルですね

>>291
修正ありがとうございます


正規表現、俺もようわからん
「.*」も「[\s\S]*」もマッチするのは基本的に同じはずだけど
とりあえずサクラエディタ上でテストしたら「.」、「[\s\S]」と一文字だけを指す場合は前者は改行文字にはマッチしなかった


これ以上はスレチになるので退散

293名無しさん:2015/12/11(金) 09:59:26
新 read.cgi でも広告入るようになった

294名無しさん:2015/12/11(金) 16:43:27
>>293
05用の広告カットの定義を06用定義のところにコピペして

replace(/<div id="banner"[\s\S]*?<\/div><\/div><\/div>/,"")

に変更すればおk

ザックリ大雑把に言えばhtml上ではclassがidになり<br>が</div>になっただけ

295名無しさん:2015/12/11(金) 16:47:24
>>293
すまん294訂正。</div>が1つ多かった

replace(/<div id="banner"[\s\S]*?<\/div><\/div>/,"")

296名無しさん:2015/12/11(金) 17:11:22
>>293
すまん、もう1度修正

replace(/<div id="banner"[\s\S]*?(?:<div class="push"><\/div><\/div>)+/,"")

ザックリしすぎた……orz

297名無しさん:2015/12/11(金) 20:08:38
お絵描き画像のリンクが
 sssp://o.8ch.net/xxxxx.png
じゃ無く
 http://o.8ch.net/xxxxx.png
になってるな。

298297:2015/12/11(金) 20:32:47
あと、差分取得だが、

専ブラによっては差分取得が働かず、必ず全件取得になってしまう。
原因は、GETレスポンスのヘッダ情報に最終更新日時の"Last-Modified"ヘッダが無いから。
よって、GETリクエストのヘッダ情報に差分取得用の"Range"ヘッダが付加されないため、
BeforeResponse()内の差分取得処理がスルーされる。

また、新着無しの304を返す判定条件だが、
 if (sbyte == bodylength) {
だと、sbyte("Range"ヘッダの値)よりbodylength(dat生成後のバイト数)が必ず+1に
なるため、常にイコールにならない。
よって、新着無しの場合、304ではなく差分1バイトの206が返ってきてしまう。

299 ◆/vmukiyuzw:2015/12/11(金) 21:23:25
修正しました。(ver 2.09)

>>294-296さん
フォローありがとうございます。
結果は>>296のものと同じなんですが

replace(/<div id="banner"[\s\S]*?(?=<div class="post")/,"")

のようにしました。

>>296さん
ご指摘ありがとうございます。sssp:になるよう修正しました。

300 ◆/vmukiyuzw:2015/12/11(金) 22:12:09
>>299
> >>296さんご指摘ありがとうございます は
>>297さんの間違いでした。


>>298さん
> 原因は、GETレスポンスのヘッダ情報に最終更新日時の"Last-Modified"ヘッダが無いから。
> よって、GETリクエストのヘッダ情報に差分取得用の"Range"ヘッダが付加されないため、
> BeforeResponse()内の差分取得処理がスルーされる。

うーん、なんか違うような・・・
GETリクエストのRangeヘッダはわざわざ削除してるんですけど。
(htmlベースでは差分取得するのが難しいので全部取得して内部で差分を取る前提)
専ブラから送られたRangeヘッダは削除前にOnBeforeReqest()でoSessionオブジェクトに保存して
OnBeforeResponse()に引き継いでるので差分取得処理でスルーされることはないはずです。

あと、専ブラによっては差分取得時に取得済みのdatサイズの続きではなく
あえて-1をRangeリクエストするものがあります。
(返ってきたデータの先頭が改行でなければ破損ログとみなす判定のため)
私の知る限りではかちゅ〜しゃ、V2C、ギコナビ等がこの方式を取っていたと思います。
これらのブラウザでは新着レスがなくても304ではなく206が返るのが正常なレスポンスです。

お使いの専ブラではなにか不都合が出てるのでしょうか?
できたら専ブラの種類を教えていただきたく。

301298:2015/12/11(金) 23:13:04
>>300
使ってる専ブラは「禁断の壷」というWebベースのものです。

「GETリクエストに"Range"ヘッダを付加しない」のは専ブラ側の方です。
よって、OnBeforeReqest()での"Range"ヘッダ削除処理自体が行われません。
なので、必ずステータス=200で全件取得となってしまいます。

あと、304の件ですが、他の専ブラの仕様でそうなっているのは了解しました。

302 ◆/vmukiyuzw:2015/12/12(土) 00:16:26
>>301さん
「禁断の壺」ですか。
かつては2ch公式ブラウザと言われたものですね。
動作を確認しようと検索したのですが元々の配布サイトが消滅していて
(検索不足かもですか)今どこにあるのか確認できず。
Rangeヘッダを出力せずどうやって差分取得を行っていたのか・・・
現時点では確認しようがなくお手上げです。

303298:2015/12/12(土) 02:06:57
>>302
何かずっと誤解されてますが、
"Last-Modified"ヘッダがあれば、専ブラ側でその更新日時を元に"Range"ヘッダを付加して
差分取得を行います。
が、htmltodatByFiddlerでは"Last-Modified"ヘッダを付加して返してこないために、
専ブラが"Range"ヘッダを付加せず、結果差分取得が行われないのですよ。

304 ◆/vmukiyuzw:2015/12/12(土) 02:41:02
>>303
> "Last-Modified"ヘッダがあれば、専ブラ側でその更新日時を元に"Range"ヘッダを付加して
> 差分取得を行います。

それは「禁断の壺」独自の仕様では?
私の知ってる限りLast-ModifiedヘッダがなければRangeヘッダを返さないなんて専ブラは
聞いたことがありません。
それに、FiddlerのInspectorsタブ等で見ていただけるといいのですが
read.cgiからのレスポンスにLast-Modifiedヘッダはそもそも存在しません。
なので

> が、htmltodatByFiddlerでは"Last-Modified"ヘッダを付加して返してこないために、

そもそも付加しようがないと思います。

ですので、もし解決できるとするならご自分でLast-Modifiedを捏造して付加する
コードを書いていただくしかないのではないかと思います。
現時点で私には仕様が確認できないので何もできません。

305名無しさん:2015/12/12(土) 04:47:04
もしかして「壺」は更新の有無(Last-Modified)だけをまず確認して、それをもとに本丸の取得判定を行ってるのか?
昔のネット環境を考えればそういう挙動も理解できる
で、現在の2ch.netは更新の有無にかかわらず都度html生成するからLast-Modifiedは当てにならないんだなぁこれが

とりあえず、自分用に仕込んでたものだがOnBeforeResponse処理の適当なタイミングに以下を追記すればいいよ

// Last-Modifiedが空っぽの場合Dateを代入
if (!oSession.oResponse["Last-Modified"])
oSession.oResponse["Last-Modified"] = oSession.oResponse["Date"];

306298:2015/12/12(土) 11:21:31
>>304
過去にも、"Last-Modified"ヘッダについて遣り取りがあったみたいですね。
そこでは、、"Last-Modified"ヘッダは付けない方向との見解でしたので、
今回も同じ見解という事で、これで終わりにしたいと思います。

>>305
わざわざ、ご教示ありがとう御座います。
「禁断の壷」は、ローカル保存のDATに、"Last-Modified"ヘッダの更新日時を
保持しており、スレの新規取得時に、"Last-Modified"ヘッダの値も保存します。
で、DATに"Last-Modified"ヘッダの値が無いと本来の差分取得を行わずに、
新規取得と同様に全件取得を行う仕様のようです。

なお、"Last-Modified"ヘッダの値ですが、2chAPIの方の動作を確認しますと、
最終レスの日付情報と同じ値の様です。
でも、「禁断の壷」では"Date"ヘッダの値でも問題無く、"Last-Modified"ヘッダ
が付加されていれば、差分取得が行われるようになりました。

307 ◆/vmukiyuzw:2015/12/12(土) 21:23:28
>>306さん
>>251-254 あたりでのやりとりですね。つい最近なのにすっかり失念してました。

>>305さんはもしかしてその時ご意見下さった方かな?
フォローありがとうございます。
>>305のコードを取り入れて他の専ブラに影響が出ないかもう少し検証したいですが
問題なさそうであれば取り入れたいと考えています。

308名無しさん:2015/12/17(木) 23:50:03
read.cgi 05
まだ変わりそうだけどとりあえず消す
oBody.replace(/<div id="js--banners--thread" class="banner" style="width:100%;"><\/div>/,"")

read.cgi 06
httpsがhttpになってたのがhttpsになったので要再読み込み
関係ないけどブラウザでお絵描き表示されるのがssspだけに

309 ◆/vmukiyuzw:2015/12/18(金) 00:30:50
>>308さん ご指摘ありがとうございます。
修正しました。(ver 2.10)

read.cgi 05系の広告の入り方に変更があったので対応しました。
あと、ちょっと上で話が上がっていたLast-Modifiedヘッダについても
付加するようにしました。

> read.cgi 06
> httpsがhttpになってたのがhttpsになったので要再読み込み

なんか破損するスレがあるけど破損しないスレもあるのはなぜだろう
と思ってたらそういうことだったんですね。
これに関しては対応は難しそう・・・再読み込みしていただくしかないような。

310名無しさん:2015/12/21(月) 23:24:30
お疲れ様です
bbspinkでここ壊れてますになって気付いたんですが
FiddlerのTextviewを見るとレス数が1だけだとマッチせずに広告が残ってます
今は
bbspink read.cgi 05は>>290
2ch read.cgi 06は>>296
2ch read.cgi 05は>>308
を追加して消してます

311 ◆/vmukiyuzw:2015/12/22(火) 00:39:10
>>310さん ご指摘ありがとうございます。
修正しました(ver 2.11)

レス数が1だけだと広告除去の条件がうまく効いていませんでした。
レス数1だけのスレというのは板によっては結構出会うことが難しいんで
テスト不足でした。

312名無しさん:2015/12/22(火) 02:04:35
>>311
対応ありがとうございます

313名無しさん:2015/12/25(金) 21:12:13
> //oBody = oBody.replace(/<a href="http:\/\/jump\.2ch\.net.*?>(.*?)<\/a>/ig,"$1"); //これは必要か?後で検討

これを有効にしないとこのスレ(read.cgi 06)の>>1の一部(2ch外へのリンク等)が消えてしまうようです
http://potato.2ch.net/test/read.cgi/software/1422462757/

314 ◆/vmukiyuzw:2015/12/25(金) 23:52:25
>>313さん ご指摘ありがとうございます。
修正しました(ver 2.12)

ご指摘いただいた行(jump.2ch.netを外す)ではなく、その直下の
// レスアンカーに対するフルパスを相対パスに変換〜
のとこがよくなかったようです。
現状のread.cgi 06ではレスアンカーに対するパスはいつのまにか05同様相対パスになっているようなので
この変換処理は不要であると考えコメントアウトするようにしました。

315名無しさん:2015/12/26(土) 00:56:05
>>314
ありがとうございます

316名無しさん:2016/01/11(月) 17:24:30
以下のスレで指摘された新read.cgiのバグへの対応お願いします

専用ブラウザを助けるプロクシ作らね?15串目
http://potato.2ch.net/test/read.cgi/software/1448272459/809


以下のように修正したら上手く動きました
(?:<a href="mailto:(.*?)">)?

(?:<a href="mailto:(?:<a[^>]+>)?(.+?)(?:<\/a>)?">)?

317名無しさん:2016/01/11(月) 20:36:04
>>316の件ですがこの修正の仕方は決め打ち過ぎるので訂正します

以下のスレでいくつかのテストを重ねてみました
http://potato.2ch.net/test/read.cgi/software/1449192043/404-410

結果としてはdat形式への変換は元のまま、その前に名前・メール欄内だけ以下の変換を行なうことで問題がなくなりました

//名前・メール欄内の余計なAタグ除去(前処理)
oBody = oBody.replace(/(<b><a href="mailto:)(.+?)(<\/a><\/b>)/g, function(aStr, aTag1, aMailName, aTag2) {
var mailname = aMailName.replace(/<\/?a[^>]*?>/g, '');
return aTag1 + mailname + aTag2;
});

以上を踏まえ修正お願いします

318 ◆/vmukiyuzw:2016/01/11(月) 22:36:17
>>316-317さん ご指摘ありがとうございます。
htmltodatByFiddlerを修正しました(ver 2.13)

正直、>>316を読んだ直後には
「メール欄にURLとともににsageとか入力されたらどうなるんだろう」
「メール欄だけじゃなく名前欄にも影響ありそうな」
と懸念を抱きどうしたもんかと思ったのですが
>>317で検証いただいたようでありがたいです。

# 実はreplaceメソッドの引数にこういう形で関数を指定できるのを
# 知らなかったので勉強になりました

read.cgi 05系ではこの現象は発生しないことは確認したのですが
念のため05系、06系両方に適用するようにしてます。

319名無しさん:2016/01/11(月) 23:44:26
修正乙でした

320<削除>:<削除>
<削除>

321<削除>:<削除>
<削除>

322名無しさん:2016/03/10(木) 10:49:40
溶接工とか言う寿命削る仕事
http://bit.ly/1XshYYl

323名無しさん:2016/03/10(木) 17:57:41
>>320-322

324名無しさん:2016/03/15(火) 05:31:40
【絶望】ふらつくから病院行ってみたらwwwwwwwwwwww
http://bit.ly/1R5AiRC

325名無しさん:2016/03/26(土) 13:23:07
bbspink.com(2ch.netでも見た気がするが覚えてない)で最終レス末尾に広告枠が追加されたようなので

oBody = oBody.replace(/<\/div><\/div><\/div><div><div class="js--ad--bottom"[\s\S]*$/,"</div></div>\n");

バナー広告削除処理の辺りに入れてください
テストらしいテストはしてませんが……

326 ◆/vmukiyuzw:2016/03/26(土) 22:07:09
>>325さん ご指摘ありがとうございます。
htmltodatByFiddlerを修正しました(ver 2.14)

意味的にはほぼ同じなのですが以下のようにしました。

oBody = oBody.replace(/<\/div><div><div class="js--ad--bottom"[\s\S]*$/,"");

327名無しさん:2016/04/09(土) 09:52:53
【悲報】サメ映画、もはやなんでもあり【画像あり】
http://bit.ly/1R5A4tS

328名無しさん:2016/04/10(日) 19:38:57
彼女がディズニーランド行きたいって言うことで大喧嘩になった
http://bit.ly/1R5A6lu

329名無しさん:2016/04/20(水) 15:32:11
本当に出会える出会い系ランキング
ttp://bit.ly/1OgYRt7

330名無しさん:2016/05/08(日) 11:21:49
本当に出会える出会い系ランキング!
ttp://deai.erosoku.top/ranking/type2

331名無しさん:2017/03/07(火) 23:35:13
bbspinkのreadcgiが更新されたので対応願います
自分用に修正した点からヒントは

readcgi06の派生である
div構造からdl、dt、dd、span構造へ変更
レス1とレス2間に広告があるのは変わらないがsectionタグで解りやすくしてある
最終レスの広告はない
一部のclass名が変更されてる

というところでしょうか

332 ◆/vmukiyuzw:2017/03/08(水) 01:58:26
>>331さん ご指摘ありがとうございます。
htmltodatByFiddlerを修正しました(ver 2.15)

ちょっとやっつけ作業ぽいのですがとりあえずbbspinkでは動くと思います。
このread.cgiが2ch.netにも導入されるようだとまた考えないといけないかもしれません。

333名無しさん:2017/03/08(水) 14:55:47
>>332
更新どうもです
申し訳ないですが再修正を願います

beID周り処理が抜け落ちてます
ageレス時(だけかな?)の名前欄にfontタグが追加されていた
バナー削除の処理で若干ゴミが残る可能性があるので以下のようにするといいと思います
<\/section>.*?<\/div><\/div> → <\/section>.*?(?=<dl class="post")

334333:2017/03/08(水) 16:10:33
fontタグに関して

通常のageレスもしくは一部の★持ち(運営)のレス場合タグ付加
通常のageレスはcolor="green"、★持ちは個々人で違う色を指定してる

除去するのであれば前者のケースのみで

335 ◆/vmukiyuzw:2017/03/08(水) 18:16:48
>>333-334さん、ご指摘ありがとうございます。

まずbeID周りですが、beIDの入ったスレを私のほうで探すことができず
(bbspinkには疎いもので)、2ch.netのbeID周りと形式が同じかどうか
わからなかったので、入れてませんでした。
beIDが入ったスレ、および★持ちさんのレスが入ったスレのURLを
いくつか教えていただけると助かります。


あと多分もっと重大な問題として、(板によるかもしれませんが)
透明あぼーんが頻発するスレが散見され、(http://mercury.bbspink.com/hnews/等)
これがブラウザによってはスレが壊れる原因となっていると思われます。
(壊れないブラウザでもどのみちレス番がずれることになるので問題なのですが)

この問題は実は前から認識はしていたのですが結構大きな修正になってしまいそうなので
先送りにしてました。が、あまりレアケースでもなくなっているようなので
今回合わせて対応しようと思います。ちょっと時間かかるかもしれません。

336333:2017/03/08(水) 22:28:19
>>335
板だとここ
http://phoebe.bbspink.com/meow/
その中でも両方同時に確認できるのはこのスレですね
http://phoebe.bbspink.com/test/read.cgi/meow/1461076454/l25

このにゃあ板はpinkで一番エロくないおとなしい板で実験板も兼ねています

pinkでスレが壊れるのは仕方ないことですよ
自動あぼーんが機能してるんで宣伝レス等があればほどなく発動、「うふ〜ん」に置き換えられます
また2chより板が少ない分に削除人が動いてくれてます
なのであまり気にする必要ないかと思います

これまでのreadcgiならスレサイズが下部に記載されてたのでそれである程度あぼーん判定の補完ができたんですが

337 ◆/vmukiyuzw:2017/03/09(木) 00:01:25
htmltodatByFiddlerを修正しました(ver 2.16)

>>333さんにご指摘いただいた部分を修正しました。
また、透明あぼーんがあった場合にスレが壊れたりレス番がずれる
問題に対処しました。
(透明あぼーんがあった場合それを補う「透明あぼーん」レスが
追加されます。なので汎用ブラウザで見た時には存在しないレスが
表示されることになります)


>>333=336さん
いろいろご指摘・情報提供いただきありがとうございます。
bbspinkでスレが壊れる事情は多分仕方ないのでしょうが
>>335で挙げていただいたスレをAPIを使う専ブラで見るとレス番10や16が
「うふ〜ん」で表示されるのですが
新しいread.cgiが吐くHTMLだと透明あぼーんになってしまうようなのです。
(以前のread.cgiではどうだったのか知らないので新read.cgiでそうなったのか
どうかはわからないんですが)

ともあれ透明あぼーんがあるとdatデータの構造上専ブラではレス番がずれちゃう
状況はやはりまずいと思い、対応することにしました。

338名無しさん:2017/03/09(木) 00:55:12
>>337
更新お疲れ様です

透明あぼーんの件、こっちの理解不足でした
と同時に以前のreadcgiで自分でも対処しようとしたけど、結局放置してたのを思い出しましたf^_^;)

以前のものは透明あぼーんがある場合レス0番が存在してました
レス0がどういった内容だったかは覚えてませんが

339 ◆/vmukiyuzw:2017/03/12(日) 00:19:23
htmltodatByFiddlerを修正しました(ver 2.17)

>>338さんにご指摘を受けた「レス番0」の件ですが
一応認識はしていて、対策もしたつもりでいたんですが
http://potato.2ch.net/test/read.cgi/software/1488358985/51
で挙げられたスレを見てバグに気付きました。

レス番0は読み飛ばすようにしたのでこれで問題ないと思ったのですが
その前にレス1(これはレス番を見ていない単に最初のレス)に
スレタイを付加する処理を入れていたので
レス番0が存在した場合スレタイも消えてしまうというアホな事態になってしまってました。

スレタイを付加するタイミングを後にずらしたので多分問題解消したと思います。

340 ◆/vmukiyuzw:2017/03/25(土) 03:05:47
なんか差分取得で壊れるスレがあるなあと思ったら、
read.cgiが若干仕様変更された模様。
一応問題点はわかったのですが
今から修正するのは時間的にしんどいんで明日の夜やります。

341 ◆/vmukiyuzw:2017/03/25(土) 22:20:26
htmltodatByFiddlerを修正しました(ver 2.18)

read.cgiの仕様が若干変更され(今のところ2ch.netの06系だけのようですが)
BeアイコンやEmoticonやお絵描き機能の画像など、html上では <img src="〜"> で表される
(dat上では sssp://〜 となる)要素について、http: が省略されるようになったため
対応しました。

342 ◆/vmukiyuzw:2017/03/25(土) 22:28:24
>>341
おっとこのレスはブラウザによっては化けてしまうかも

> (dat上では sssp://〜 となる)要素について、
         ↑実際は半角

です。

343 ◆/vmukiyuzw:2017/04/09(日) 00:57:27
htmltodatByFiddler、と呼ぶのは長くて面倒になってきたので
勝手ながらこのスレでは今後 hBF と略して呼ぶことにします(鉛筆の濃さみたいですが^^;)

で、hBFを修正しました(ver 2.19)

・itest.2ch.net/xxx/〜 へのリクエストがあったら xxx.2ch.net/〜 に飛ばすよう修正
 (itest.bbspink.com についても同様)
・https://〜 へのリクエストがあった場合への対応

今回は OnBeforeResponse.txt だけでなく OnBeforeRequest.txt も更新してますのでご注意ください。
補足があるのですが長くなるかもなので次レス以降で。

344 ◆/vmukiyuzw:2017/04/09(日) 01:14:52
>>343 補足1
まずitestへのリクエストの変換ですが。
最近 itest.2ch.net へのリンクが貼られることが多くなってきたと思うのですが、
専ブラにとっては(というより itest 以外の全ての閲覧環境にとっては、かもしれませんが)
面倒だと思ったので、本来の 2ch.net のURLに変換するようにしてみました。

ただ一つ考慮事項として、専ブラの側で itest.2ch.net へのリクエストを
2ch.net へのリクエストとして認識してくれないと、このリクエストの変換は行われないです。
専ブラによっては「このURLは自分の仕事じゃない」と
汎用ブラウザ等に投げてしまうものもあるようです(となると当然hBFの処理も通らないので
どうしようもない)。

この話はいろいろ膨らむ要素がありそうですがとりあえずこの辺にしておきます。

345 ◆/vmukiyuzw:2017/04/09(日) 02:05:53
>>343 補足2
https: へのリクエストについてですが。

Fiddler自体は元から https: に対応しているのですが
現存する専ブラでは https://xxx.2ch.net/ 〜 のようなリクエストがあっても
プロキシに https: のまま投げてくるものはないようなので、
当面あまり意味はないです。
「もし対応したものが出てきたらこうしとかないとまずいかも」
という点を直しただけです。
今後対応してくるものもでてくるでしょうからそのときまた考えます。

346名無しさん:2017/04/10(月) 21:25:36
https対応は2ch鯖-Fiddler間で対応しないとマズイのでは?
現にegg鯖がhttpsがデフォになったし。

347 ◆/vmukiyuzw:2017/04/10(月) 23:45:43
>>346さん
すみません、「2ch鯖-Fiddler間で対応しないとマズイ」とはどういう意味ですかね?
もしかして「これからは https: がデフォになるから普通の http: での通信も https: にしないとマズイ」という意味?

>>345にもちょっと書いてますがFiddler自体は元から https: には対応してますし
専ブラではない別のクライアントで https: のリクエストをシミュレートして
「もし専ブラが https: へのリクエストを投げてきたら」も確認してます。
だが実際のところ https://xxx.2ch.net/test/read.cgi/ 〜 のリクエストを
そのままプロキシに投げてくる専ブラは私はまだお目にかかったことないので
それから考えようと思ってます。
そういうことではなくマズイと思われる点があればご指摘いただけるとありがたいです。

348名無しさん:2017/04/13(木) 16:16:30
>>347
2ch(CF)側がhttpsのみに対応した場合、httpしか対応してない専ブラが通信出来なく
なるかも知れないので、現在APIモード対応の串がやってる

専ブラ(http)<->(http)Fiddler(https)<->(https)2ch(CF)

という通信にも対応しておく必要がある。って意味です。

349 ◆/vmukiyuzw:2017/04/13(木) 23:30:40
>>348
なるほど、専ブラの対応に関わらず
Fiddler - 2ch 間のやり取りは今から https にしておいた方が良いということですね。
それは納得しました。

ただ、現在のところhBFでは read.cgi とのやり取りにしか介入してないのですが
> 2ch(CF)側がhttpsのみに対応した場合、
という状況を考えると、他にも bbs.cgi とか subject.txt とかとのやり取りも
考慮しないといけなくなるように思います。
この辺は今まであまり気にしていなかった部分なので、ちょっといろいろ
確認してみます。

350名無しさん:2017/04/15(土) 22:23:30
FiddlerのSSL対応のデフォはOS依存のようで
7以降は証明書生成にCertEnrollAPIとやらを利用出来るから何の問題もない
XPの場合はご存知かと思うが原則SHA1まで、SP3ならSHA256に一部対応してるそうだがFiddlerでは使えない
Vistaは分からないけど現状問題ないだろう
Fiddler拡張としてOpenSSL等利用するラッパー作ればいいらしいけど覚えることがたくさんだろうね

351 ◆/vmukiyuzw:2017/04/22(土) 07:27:29
https対応はまだのんびりでいいかと思ってたんですが
なんかread.cgiの変更があったようですね。まだ一部サーバのみ?
今日ちょっと用事が立て込んでるんで対応は遅くなるかもです。

352 ◆/vmukiyuzw:2017/04/22(土) 23:12:12
hBFを修正しました(ver 2.20)

 ・2chの一部のサーバでread.cgiがバージョンアップ(07.0.0)されたので対応

今のところagree鯖だけですかね?
対象の鯖で既得済みのログを更新しようとするとログ破損状態になる可能性があります。

353 ◆/vmukiyuzw:2017/04/23(日) 07:18:22
hBFを修正しました(ver 2.21)

前バージョンにバグがあり変換結果のdatにゴミが入ってしまっていました。
( read.cgi 07系のみ)
申し訳ありませんが差し替えてください。

354名無しさん:2017/04/23(日) 13:19:30
2.10だったのですがecho鯖へのアクセスで
(・∀・)ナンカエラーダッテ HTTP/1.1 404 Fiddledだったので
2.21にした所正常になりました。ありがとうございます

355名無しさん:2017/04/24(月) 08:02:52
ありがとうございます!

356名無しさん:2017/04/25(火) 23:10:00
取得済みのスレに新着があった場合や更新チェックした場合の新着レスが
スレを閉じると消えてしまうのですが何が原因か分かりませんか?
最初に読み込んだ所までは残ります。
2.21を入れてすぐはこのような症状はなかったと思うのですが
どうしてこうなったか見当がつきません。
無関係でしたらすみません。

357名無しさん:2017/04/26(水) 00:49:14
今日から?下のログに
(;゚Д゚)サイズが合わない・・・
と表示されるようになりましたね
でもレスは更新されてるからとりあえずおkかなw

358 ◆/vmukiyuzw:2017/04/26(水) 01:36:11
>>356さん、>>357さん
・どの板、どのスレで発生したのか(具体的なURL)
・どのブラウザ(できればバージョンも)で発生したのか
少なくともこの辺の情報がないと確認できないです。
問題なのかどうかすらわからないのでできれば詳細を再報告願います。

359357:2017/04/26(水) 01:52:19
URL制限あるぽいですね

360名無しさん:2017/04/26(水) 01:53:22
ブラウザ:JaneDoe View α ( build date: 1507130036 )
出る
http://mint.2ch.net/test/read.cgi/pav/1466221276/
http://echo.2ch.net/test/read.cgi/av/1492956696/
出ない
http://egg.2ch.net/test/read.cgi/jisaku/1487581901/
http://egg.2ch.net/test/read.cgi/smartphone/1492258777/

361名無しさん:2017/04/26(水) 01:55:12
>>360>>357です。
それほど大きな問題ではない(と思っている)ので時間がある時にでも・・・

362 ◆/vmukiyuzw:2017/04/26(水) 02:37:13
確かに read.cgi 07.0.0 の出力形式が微妙に変更されているようですね。
(わかりにくいから 07.0.1 とかにしろよ!と文句言いたいですが^^;)
>>360 の「出ない」のほうの2スレは 06系なので影響ないようです。

ちょっと時間も遅いので本格的にはもう少し確認・様子見の上で明日対応しますが
お急ぎの方は OnBeforeResponse.txt の 80行目(07系の後ろの不要な部分をカットしているところ)を

oBody = oBody.replace(/(<br>)?(<\/div><div class="push">)?<\/div><div class="pagestats">(.|\s)*$/,""); //後ろの不要な部分をカット

にして反映してください。

363357:2017/04/26(水) 02:50:02
>>362
反映した所正常になりました
遅くにありがとうございます

364 ◆/vmukiyuzw:2017/04/26(水) 02:50:19
>>362
あーこれ取り消します、正規表現のほうを変えないとダメだ

oBody = oBody.replace(/<div class="post".*?><div class="meta"><span class="number">(\d+).*?<\/span><span class="name"><b>(?:<a href="mailto:(.*?)">)?(.*?)(?:<\/a>)?<\/b><\/span><span class="date">(.*?)<\/span><\/div><div class="message"><span class="escaped">(.*?)<\/span><\/div><\/div><br>/ig,"$1<>$3<>$2<>$4<>$5<>\n");

眠いんであんま自信ないです・・・明日ちゃんとやります

365名無しさん:2017/04/26(水) 02:51:26
>>364
あら?w
はいゆっくりで大丈夫ですのでお休み下さい

366356:2017/04/26(水) 03:05:40
事情を説明しようと拙い文章をまとめていたのですが遅れてしまってすみません。
代わりに要点をまとめてくれた357さんにもお礼を言っておきます。
原因を特定していただけたようで助かりました。
急ぎでなくても問題ないので時間のあるときにお願いします。
本当にありがとうございました。

367 ◆/vmukiyuzw:2017/04/27(木) 00:00:05
hBFを修正しました(ver 2.22)

 ・read.cgi 07系に仕様変更があったので対応

>>357さんからご指摘があり>>364で暫定対応を考えたものの正式反映です。
内容としてはレスの間に<br>タグが入ることになったことへの対応だけです。
なんかいろんなところの情報見てるとかなり無理やりというか場当たり的?な
変更みたいですね。
read.cgi 07.0.0 についてはかなり不満の声も上がってるみたいなんで
まだまだ変更はあるかもしれませんね。

ところで>>356さんのご報告はこれとは別件のように最初感じたのですが
同じ原因ということで本当に良かったのでしょうか。

368356:2017/04/27(木) 01:19:12
うまく説明できるか分からないのですが。
昨日の症状は例えば700番までレスがついたスレを開いた後
更新して新着レスがあった場合に、スレを開いている間は新着が表示されますが
一度閉じて再度開くと新着部分が消えてしまうという現象でした。
(表示されるのは最初に取得した700番までということです。)
自分の使っているブラウザはJaneXeno 161205です。
すべての板ではなく特定の板でのみ起きることを後から気づいたのですが
どの板でおきるのか調べたり説明が難しかったりして報告が出遅れてしまいました。

2.22にしてから上記の現象は起こらなくなりましたので
同じ原因だったのだと思います。
対応していただきありがとうございました。

369 ◆/vmukiyuzw:2017/05/04(木) 02:57:35
read.cgi 07.0.1 が出てるようですね。例によってagree鯖で実験中?
汎ブラでの見た目はあんま変わらないようですが、レス番のゼロサプレスはやめたみたいですね。
hBFとして影響あるのはIDの前に </span><span class="uid"> が入るようになったとこくらいか。
もう少し調べてから対応します。もし他にお気づきの点があればご報告いただけると有り難いです。

370名無しさん:2017/05/04(木) 14:10:20
そこを事前に半角スペースに置き換えるだけで問題なさそう

371 ◆/vmukiyuzw:2017/05/04(木) 20:29:24
hBFを修正しました(ver 2.23)

 ・read.cgiがバージョンアップ(07.0.1)されたので対応

修正箇所は>>369で書いた追加されたタグの除去のみです。
また修正したのは OnBeforeResponse.txt のみです。OnBeforeRequest.txt は修正してませんので
ご自分でUA等修正されてる方は上書きしないようご注意ください。


今のread.cgi 07.0.1 にはまだいろいろ不具合あるようなので近いうちにまた修正されると思われます。
私の把握してるものでは

・IDの代わりにリモホが出る板(シベリア)で投稿日・IDが「NG NG」と表示される
・嫌儲で特定のBEの投稿日・IDが「NG NG」と表示される

うーむ・・・read.cgi修正してる人、頑張れ^^;

372 ◆/vmukiyuzw:2017/10/02(月) 05:44:29
5chてのはなんなんだ?
背景を知りたいとこですがとりあえず急ぎ対処が必要でしょうね。
今日中には何とかしたいな・・・。

373 ◆/vmukiyuzw:2017/10/02(月) 23:53:22
hBFを修正しました(ver 2.24)

一応 5ch.net への暫定対応ということになりますが本当に暫定でしかないです。
"2ch.net"とハードコーディングしていた部分を"[25]ch.net"として
どちらが来ても一応対応できるようにしただけです。

今後、読みも書きも 5ch.net に移っていくことになると思われるのですが
まだ現状では書き込みは 2ch.net に対してはできるようですし
読み込みはAPI経由では 2ch.net に対してもできるようです。
(read.cgi での 2ch.net の読み込みはもう無理みたいですが)

であれば、専ブラとしてはまだ 2ch.net にアクセスしてるつもりで
(板一覧はまだ 5ch.net に対応してないものを使う、Replace.str等で5chを2chに読み替える)
hBFとしては読み込みだけ 5ch.net にすり替える手が当面使えるかもしれません。
そのための処理をコメントにしてますが一行仕込んでます。
現状私はこの形でXenoで読み書きできるようにしました。

もう一つ、読み込みは 5ch.net に対して行うとしても
書き込みは 2ch.net に対して行うという手も当面使えるかもしれません。
JaneXenoとかはクッキーの問題で 5ch.net には書き込めないけど
2ch.net には書き込める(書き込むスレの実体は同じ)ことがあるようで
このための処理もコメントにしてますが一行仕込んでます。

いずれにせよ明日にでもはしごを外されても不思議はない状況かなと思います。
正直言うと専ブラ側で何らかの対処がないと今後厳しいかなと思います。
("2ch.net"をハードコーディングしてる部分は山ほどあるでしょうから)

374名無しさん:2017/10/03(火) 00:42:10
JaneDoe View α ( build date: 1507130036 )
の環境で2.24を試してみましたが、下記のログが出てNGでした
Doe Viewはさすがにもうダメかなぁ… 上手く出来てる人いるかな?

(・∀・∀・)
(・∀・)サテオシゴト ε三三(; ・∀・)鯖マデオツカイ
HTTP/1.1 302 Moved Temporarily
HTTP/1.1 302 Moved Temporarily
HTTP/1.1 302 Moved Temporarily
HTTP/1.1 302 Moved Temporarily
( ・∀・)(・∀・ )オツカイオワリ 三三3
(・∀・∀・)
(・∀・)ナンカエラーダッテ HTTP/1.1 302 Moved Temporarily
(・∀・)カンリョウ!!

375名無しさん:2017/10/03(火) 00:43:52
Fiddlerのログでは下記のように感じです

http://egg.2ch.net/test/read.cgi/jisaku/1487585295
http://egg.2ch.net/test/read.cgi/jisaku/1487585295
http://egg.2ch.net/test/read.cgi/jisaku/1487585295
http://egg.2ch.net/test/offlaw2.so?shiro=kuma&amp;bbs=jisaku&amp;key=1487585295&amp;sid=sid

376374:2017/10/03(火) 00:53:31
すいません、いつものようにお気に入りから開こうとしたのがまずかったです
ボード一覧取得URLを5chに変えて、板一覧の更新をして
それから新規に板とスレを取得に行ったらOKでした

作者さんありがとう

377名無しさん:2017/10/03(火) 21:34:06
すりかえ行のコメントを外したら2chのままで取得できてます
ありがとう

378 ◆/vmukiyuzw:2017/10/12(木) 21:42:07
5chのread.cgi 7系のバージョンが上がったようで
差分取得時にログ破損が発生するケースが出ているようです。
まだ詳しくは調査中ですが、とりあえず<title>タグでのスレタイトルの表現が
若干変わっているようなので、当面以下の様なのでしのげると思います。

//スレのタイトルを取得

このコメントを検索
その下の一行を

var title = oBody.match(/<title.*?>(.*?)\n?<\/title>/mi);

var title = oBody.match(/<title.*?>(.*?)\s*?<\/title>/mi);

に書き換える。

379名無しさん:2017/10/12(木) 22:27:05
しのげるようになりました㌧クス

380 ◆/vmukiyuzw:2017/10/14(土) 22:40:34
hBFを修正しました(ver 2.25)

今回は>>378の分の反映のみです。
なので自力で書き換えて対応済みの方は取り込む必要はないと思います。

381 ◆/vmukiyuzw:2018/02/13(火) 21:55:30
bbspink.com の一部鯖(今のとこmercuryのみ?)が 5ch.net の read.cgi 07系に変わったようですが

read.cgi ver 07.2.0 2018/01 Walang Kapalit ★
Cipher Simian ★

と独自のバージョンアップがされているようで、専ブラによってはログ破損するケースが出ているようです。
もう少しテストしてから修正版をリリースします。

382 ◆/vmukiyuzw:2018/02/14(水) 01:45:18
hBFを修正しました(ver 2.26)

 ・bbspinkのread.cgiがバージョンアップ(07.2.0)されたので対応
  (バナー広告の除去)

今回の修正はOnBeforeResponse.txtのみです。
影響は今のところ多分bbspinkのmercury鯖でログの取得がおかしい
ケースだけだと思われます。

なんか泥縄的対応でイマイチだなあというのはわかっているのですが
精進します。

383名無しさん:2018/02/15(木) 03:21:05
乙です
pink見てないので放置してますがw

384 ◆/vmukiyuzw:2018/04/01(日) 23:52:40
5chの一部鯖(今のとこagreeのみ?)で read.cgi のバージョンアップが行われたようです。

read.cgi ver 07.2.1 2018/04 Walang Kapalit ★
Cipher Simian ★

今のとこ影響あるのは、>>1 みたいなレスアンカーの前に付くアンカータグの内容が
<a href="../test/read.cgi/operate/1507551280/8" rel="noopener noreferrer" target="_blank" class="reply_link">
みたいに、最後に class="reply_link" の部分が追加された点のようです。
この class=ほにゃらら の部分はAPIで取得したdatには含まれないようなので
htmltodat変換の結果をできるだけ元datに近づけようと思うと対応すべきなんでしょうが
多分多くの専ブラでは表示上特に影響はないと思われるんです。
もちろんdatサイズは変わってきてしまうので、既得ログの差分取得をしようとすると
破損する可能性が高いのですが。

のでちょっと様子見。
もし対応が必要となれば、後処理の最後くらいで

oBody = oBody.replace(/(target="_blank") class="reply_link">/g,"$1>");

こんな感じのを入れてやればいいかな。

385名無しさん:2018/06/02(土) 14:54:17
Fiddler公式にLinux版Fiddlerがあるのですが、これに対応したhtmltodatbyFiddlerを作っていただけないでしょうか?
CustomRulesを見ると微妙にWindows版と違ってて、そのままhtmltodatbyFiddlerのソースを貼ってもスレが読めません。
ちなみに当方のLinux環境(Ubuntu18.04LTS使用)では、JaneXenoをWineで動かしています。

386 ◆/vmukiyuzw:2018/06/03(日) 00:23:24
>>385さん
これは「自分のところにLinux環境を作って検証しろ」という案件かと思って一瞬頭がくらっとなったのですが・・・

Linux版Fiddlerをダウンロードして見てみるとCustomRules.csはJScriptではなくC#で書かれてるようです。
スクリプトのコメントを見ると

//注:これはC#版のスクリプトで、WindowsおよびMonoで使用できます。
// Windows上でのみ使用できるJScript.NETスクリプトとは異なります。 使用するために
// MonoのJScript.NETスクリプトをC#で書き直す必要があります。

とあります。(googleの翻訳)
(Monoってのは.NET環境をWindows以外でも動かすためのものらしい)
C#はコンパイルして動かすだけじゃなく最近ではスクリプトとして動かすことができるようになった
らしいので、それが取り入れられたんですかね。
気づいてなかったんですが、Fiddlerのオプションにも、スクリプトをJScriptかC#かを選べるのが
いつの間にか追加されてますな。

ということで、これは「htmltodatByFiddlerをC#に移植する」という案件だと理解しました。
面白そうなのでやってみますが多分時間かかると思います。
C#はやったことないですがオブジェクトの扱い方とかそんなに変わらないかなと思いましたが
キモの正規表現の部分で互換性の問題とか出ないかなと少し気になったりします。

387名無しさん:2018/06/03(日) 21:45:49
>>386
ありがとうございます。

一応、当方の環境
Windows7 home 64bitにVmware Workstation14Playerインストールして
VmwareのゲストOSでUbuntu18.04LTSを使用。

その後、UbuntuにmonoとWine、Fiddler(Linux版)を入れて
$ mono Fiddler.exeでFiddler起動
$ wine Jane2ch.exeでJaneXeno起動
です。

FiddlerとJaneXenoは確実に動いてます。
(JaneXeneは文字化けするのでwinetricksっていうのインストールしないとだめらしいです。)

JaneXenoからプロクシ設定127.0.0.1:8888で確実にFiddlerを通してくれます。
ただ、FiddlerがCustomRules.csを読み込みません。
これがCustomRules.csを読み込んでいないのか、
そのまま.jsのhtmltodatbyFiddlerをコピペしたからなのかは私にはわかりません。)

時間は気にしませんのでよろしくお願いいたします。!
ご苦労おかけしまして申し訳ありません。

388 ◆/vmukiyuzw:2018/06/20(水) 01:10:18
C#への移植はほぼできたと思うのですが、テストが十分でない部分がいくつかあります。

元々最初作ったころ2chのread.cgiのバージョンが06系で、過去ログは05系という状況
だったと思うのですが、その後07系が現れたり、bbspinkの独自形式が現れたりして
4パターンに分岐していたのです。
でも現状、ライブな板は(5ch,bbspink含め)全て07系のようです(07系の中でも違いはあるので
注意は必要なのですが)。
過去ログを探そうとしてもほぼ05系です。06系、bbspinkの独自形式にはなかなか出会えないので
今のところ動くかどうかテストできてないのです。
でもまあ「テスト出来たら教えてください」とユーザさんに投げるのもどうかと思うし
まあ見つかってから考えるしかないか。

389名無しさん:2018/06/23(土) 19:47:17
>>388
お疲れ様です。
C#版の公開はいつになるでしょうか?
公開してくれると嬉しいです。
5chでも公開して欲しい人いるみたいですし、ぜひお願いいたします!

390 ◆/vmukiyuzw:2018/06/23(土) 21:19:46
>>389さん
ubuntu+monoの環境で最低限の動作確認くらいはしておきたいと思ったので
今日環境構築やってたんですが、まだ時間かかりそうなんで先にC#版出すことにします。
導入手順が若干変わります。その他にもいろいろあってう〜ん明日中にはなんとか。

391 ◆/vmukiyuzw:2018/06/24(日) 20:21:52
hBFをバージョンアップしました(ver 3.00)

 ・スクリプトを JScript.NET から C# に移植
 ・一部サーバでread.cgiがバージョンアップ(07.2.1)されたので対応
  (タグ、要素の追加)
 ・書き込みの処理を見直し

>>386からやってたC#版です。
上にも書いてますが導入手順が若干変わります。
readme.cs.txt に書いてますのでお読みください。
大雑把に言うと
・Fiddlerの設定でスクリプトをC#に切り替える必要がある
・スクリプト中に取り込むファイルが2つ増える
ということになります。

あと、今日の18:00頃に一旦新バージョンを公開したのですが
バージョンアップの手順をミスってテスト版を公開してしまいました。
20:00頃に正式版を公開しなおしたので、申し訳ないですが
それ以前にダウンロードされた方はダウンロードしなおして
差し替えてください。

392 ◆/vmukiyuzw:2018/07/01(日) 23:35:49
まあ今更感もあるのですが、動作確認してみたかったので>>387さんの情報を参考に
ほぼ同等の環境 Windows8.1にVmware+Ubuntu+Mono+Fiddler+hBF(+Wine+JaneXeno)
を作ってみました。
一番手こずったのはWineの文字化け対応ですかね。

で、肝心のFiddler+hBFの動作ですが。
読み込みに関しては特に問題なくWindows版と同様に動作するように感じました。
書き込みも試してみると、なぜか私の環境ではXeno自体がエラーで強制終了してしまう。
Fiddlerのログを見ると、書き込み自体はうまくいっているようなのですが、
書き込み後のリロード処理でレスポンスを受け取った時点?で何故かお亡くなりになる。
うーん、これはFiddler+hBFの問題からは離れるかもなのでどこまで踏み込んだものか...
時間を見つけて調べてみますが、何か情報をお持ちの方がいれば教えてください。

393名無しさん:2018/12/01(土) 19:57:08
5chのread.cgiがver0.7.2.3にアップしました
新たな広告がレス間に入りました (id="horizontalbanners○○")
AA用classの追加 (class="AA")
返信アンカー(レスポップアップ)用classの追加 (class="reply_link")

bbspink read.cgi(ver0.7.2.0)
新たな広告がレス間に入りました (id="announcement")

以上の対応お願いします

394 ◆/vmukiyuzw:2018/12/02(日) 02:19:31
>>393
すみません、その辺の問題はver 3.00(C#版)で解決できたと思っていたのです。
「新たな広告」問題は「広告をカットするのではなくマッチするものだけ抜き出す」ように変更して対応したし、
「AA用class」は>>391時点で判明していたんで対応していたつもりです。
「対応がうまくいってない」「JScript版じゃないと嫌だ」とかいう話ならまたご相談ください。

395名無しさん:2018/12/02(日) 11:24:02
JScript版からC#版3.00に移行してみましたが、
どのスレも取得しようとすると302 Moved Temporarilyになってしまいます。
Fiddlerはエラーを出していません。

396名無しさん:2018/12/02(日) 11:35:54
2chへの読み込みリクエストを5chへの〜
がコメントアウトされていたのが原因でした。
失礼しました。

397名無しさん:2018/12/02(日) 12:34:34
余談ですが、コメントアウトされている
『5chへの書き込みリクエストを2chへの書き込みリクエストに変換』
のところに謝りがあるようです(ダブルクオーテーションの不足)

398名無しさん:2018/12/02(日) 14:48:32
別人ですが何とか上手く行きました
今までは「Jscript.NET」で運用
<環境>
win10 pro 1709
.NET Framework 4.7.1
Fiddler v5.0.20182.28034 for .NET 4.6.1
JaneDoe View α ( build date: 1507130036 )

<貼り付ける時にやったことと気づいた点>
1.readme.txtに
 ・メソッド
  public static void OnBeforeResponse(Session oSession)
  の最後(次の public static 〜 に直近の } の上)に OnBeforeResponse.cs.txt を挿入
 と記載されているが、
  の最後(次の static void 〜 に直近の } の上)に OnBeforeResponse.cs.txt を挿入
 でした。
2.>>397さんが指摘してますが、以下修正
   oSession.url = oSession.url.replace(@".5ch\.(net)/,".2ch.$1");
   oSession.url = oSession.url.replace(@".5ch\.(net)",".2ch.$1");
3.>>396さんと同様に
   //2chへの読み込みリクエストを5chへの読み込みリクエストに変換 5ch対応の板一覧を使っていれば多分不要
   //oSession.url = oSession.url.replace(@".2ch\.(net)",".5ch.$1");
   //5chへの書き込みリクエストを2chへの書き込みリクエストに変換
   //oSession.url = oSession.url.replace(@".5ch\.(net)",".2ch.$1");
 この2行のコメントアウト//を削除
4.janeで以下エラーが出るけど、ログを削除すれば正常に動作(削除が面倒だけどw)
 ( ・∀・)(・∀・ )オツカイオワリ 三三3
 (・∀・∀・)
 (・∀・)ソンナニナガクナイッテ HTTP/1.1 416 Fiddled
 (・∀・)カンリョウ!!

作者さんありがとう

399 ◆/vmukiyuzw:2018/12/03(月) 01:09:20
>>397さん、>>398さん
ご指摘ありがとうございます。
指摘いただいた点(readmeの記述とOnBeforeRequestの記述)を修正し
アップしました。
バージョンUPというほどのものではないのでバージョン番号は3.00のままです。

>  public static void OnBeforeResponse(Session oSession)
>  の最後(次の public static 〜 に直近の } の上)に OnBeforeResponse.cs.txt を挿入
> と記載されているが、
>  の最後(次の static void 〜 に直近の } の上)に OnBeforeResponse.cs.txt を挿入
> でした。

これは私の思い込みで間違えました。申し訳ありませんでした。
「次の関数の開始の直前の」という意図で「次の public static 〜 に直近の」と書いたのですが
現状では次の関数の開始は
static void OnReturningError(Session oSession)
という行なのですが、ここはプログラム上はコメントになってる部分なんです。
( /* と */ で囲まれている)
自分の開発環境ではコメント部分は色が変わって表示されるので
脳内で無いもの扱いしてしまい、その後プログラム上有効になる
public static void Main()
を意図して「次の public static 〜 に直近の」と書きました。
でもこういう書き方をした以上、素直に読めばご指摘の通りなのです。

なんかバージョンアップのたびにこういうあれこれでご迷惑をおかけするのも
心苦しいので、更新をある程度自動化できないかといつも考えるんですが
単純な差分ツールとかでは難しそうで。何かいいアイデアあれば教えてください。

400398:2018/12/04(火) 23:09:58
他の人は分かりませんが私は迷惑と思ったことは一度もなく感謝しかないです
プログラムやスクリプトは20年以上まともに触ってないから今更触れませんしw
人間は間違える生き物だと認識してますからこの程度なんてこと無いと思ってます
お役に立てず申し訳ない

401 ◆/vmukiyuzw:2019/09/01(日) 22:45:31
hBFをバージョンアップしました(ver 3.01)

 ・一部サーバでリクエストURLの末尾が"/"でないとエラーになるケースが
  出てきたので対応

http://xxx.5ch.net/test/read.cgi/yyy/1234567890

のようなURLは410等のエラーになり

http://xxx.5ch.net/test/read.cgi/yyy/1234567890/

のように最後に"/"がないといけなくなった、という状況のようです。


修正箇所は OnBeforeRequest.cs.txt の中の

oSession.url = v.g(1) + "/test/read.cgi/" + v.g(2) + "/" + v.g(3);



oSession.url = v.g(1) + "/test/read.cgi/" + v.g(2) + "/" + v.g(3) + "/";

にしただけなんで、わざわざ最新バージョンをダウンロードして通常のメンテナンス手順を
とっていただくよりも CustomRules.cs を直接修正していただく方が多分楽だし
間違いも少ないかもしれません^^;

402名無しさん:2019/09/01(日) 23:00:54
>>401
ありがとうございます

403名無しさん:2020/04/05(日) 22:37:46
書けるかな?

404 ◆/vmukiyuzw:2020/05/23(土) 01:19:56
なんか壊れるスレがあるなあと思って調べてみたら
名前欄に<img src タグが(これはどうやったら書き込めるのかまだわからないのですが)
入れることができるようになっていて、これがhBFの潜在バグに引っかかったようです。

もうちょっと調べますがとりあえず

// お絵かき機能やEmoticonのimgタグを除去。dat上では除去されてるのでそれに従ったがブラウザによってはなくてもいいかもしれない
oBody = oBody.replace(@"<img src="".*?(//.*?)"">","sssp:$1");

と記述した oBody = の行はコメントアウト(先頭に // を付ける)したほうがいいと思います。

405 ◆/vmukiyuzw:2020/05/23(土) 21:29:10
>>404
> と記述した oBody = の行はコメントアウト(先頭に // を付ける)したほうがいいと思います。
とか書きましたが、

// お絵かき機能やEmoticonのimgタグを除去。dat上では除去されてるのでそれに従ったがブラウザによってはなくてもいいかもしれない
oBody = oBody.replace(@"<img src=""[^/>]*?(//.*?)"">","sssp:$1");

とするほうがよさそうです。もう少しテストして確認後リリースします。

406 ◆/vmukiyuzw:2020/05/25(月) 00:09:51
401 ★自分 名前: ◆/vmukiyuzw[sage] 投稿日:2019/09/01(日) 22:45:31
hBFをバージョンアップしました(ver 3.02)

3.02 (2020/05/24)
 ・5chの仕様変更?により名前欄にimgタグが入るようになり、それに伴い
  一部の正規表現が不具合を起こしてスレが壊れるケースが出てきたので対応

結局、修正したのは OnBeforeResponce の

// お絵かき機能やEmoticonのimgタグを除去。dat上では除去されてるのでそれに従ったがブラウザによってはなくてもいいかもしれない
oBody = oBody.replace(@"<img src=""[^/>]*?(//[^""]*?)"">","sssp:$1");

の部分のみです。(>>405よりさらに用心しました)

修正前は <img src="".*?(// としていた正規表現に対し、名前欄に入るようになった imgタグは
<img src="/images/susu-16px.png">
のようになっていて、これにはマッチせず、同じレス中にURL等が含まれるとそちらの http:// の // に
.*? が意図せぬ長さでマッチしてしまい変換がおかしくなっていたようです。
(もともとマッチさせるのを意図していたのは <img src="//o.5ch.net/1kbww.png"> みたいなものだった)

.*? て正規表現は便利なパターンでついつい使ってしまいがちですが
こういう罠?もあるんで気を付けないといけないなと思いました。

407 ◆/vmukiyuzw:2020/05/25(月) 00:24:38
>>406
一行目はコピペのゴミです^^;気にしないでください

408名無しさん:2020/05/25(月) 22:08:58
更新ありがとうございます。

409名無しさん:2020/06/04(木) 01:33:34
なんか調子が悪いなと思ってスレを覘いたら更新来ていました。
いつもありがとうございます、更新お疲れさまでした。

410 ◆/vmukiyuzw:2020/06/08(月) 21:08:15
とりあえずまだ調べ中ですが多分今までhttp://でのリクエストを許していたのを
https://にリダイレクトするようになって不都合が出ているようです。
(対象は多分subject.txtとread.cgと,bbs.cgi)

まあ対処としてはOnBeforeRequestに

oSession.oRequest.headers.UriScheme = "https";

こういうのを入れることになります。
どういう条件で入れるか検証中。

411 ◆/vmukiyuzw:2020/06/08(月) 22:49:41
hBFをバージョンアップしました(ver 3.03)

3.03 (2020/06/08)
 ・5chの仕様変更により http:// によるリクエストが全て https:// にリダイレクト
  されるようになったので、5chに対するリクエストは最初から https:// にするよう変更

修正したのは OnBeforeResponce の最後(//ここまでの直上)に

//5chへの読み書きは全てhttpsになったので対応
if (oSession.url.ismatch(@"(?:\.[25]ch\.net|\.bbspink\.com)/(test/|[^./]*?/subject\.txt)")){
oSession.oRequest.headers.UriScheme = "https";
}

を足しました。>>410で書いた対象を https 対応にするものです。

これは前から>>346さんとかに指摘されてたことなんですよね。専ブラ - Fiddler 間だけでなく
5ch鯖 - Fiddler 間はデフォで https にしておくべきだと。
現実に問題になってやっと対処したという感じです。

412 ◆/vmukiyuzw:2020/06/09(火) 02:07:50
こういうときに限って(かどうかわからないけど) ribbon.to 繋がらないな・・・
あと、今でも 2ch.net のアドレスじゃないとアクセスできない専ブラもあるので
そこも対応しないといけないのかも

413名無しさん:2020/06/12(金) 19:31:04
ここの掲示この板をみつけたときからずっとアク禁だったのが初めて書きこめました。
まずは公開してもらってずっと更新してもらってありがとうございます。

早速不具合報告で申し訳ないですが
板一覧の更新に対してhttps対応が上手く行ってないようです。

私の設定の問題か何かの勘違いなら申し訳ないですが無視してくださっても大丈夫です。

414 ◆/vmukiyuzw:2020/06/12(金) 21:31:09
>>413さん
板一覧の更新!完全に失念してました。
個人的に、公式じゃない板一覧を使ってたり自動追尾に頼ったりしてたもので・・・
menu.5ch.net/bbsmenu.html へのhttps対応ができてないということですよね。

>>411での対応は対象を subject.txt と読み書きのcgiに限ったものでしたが
これに bbsmenu.html を加えるのも一案だと思いますが、いっそ
5ch.net , bbspink.com のサーバについては対象を限らず全部 https にしてしまっても
問題ないように思えてきました。その方向でもう少し検証してみます。

ただ、あくまでこれを書いている今の状況ですが、
menu.5ch.net/bbsmenu.html は http でも https でもアクセスは可能なようです。
http://mercury.bbspink.com/test/read.cgi/erobbs/1490249679/527- あたりから
話題に上がってますが、全 https 化したが対応できない専ブラがあったので
とりあえず一旦戻した(http でのアクセスも有りにした)という話のようです。

ので、不具合の状況(どの専ブラで、どういう設定をしてどういう不具合が
起きたのか)がわかると修正の参考になるかもしれませんので、
差支えない範囲で教えていただけると幸いです

415413:2020/06/13(土) 00:41:42
レスありがとうございます。
先に環境を書くべきでした。申しわけないです。

windows7 64bit

JaneDoe View α build date: 1507130036
(最新版は181014βのようですが公式サイトが閉鎖で手に入れられてません)

ボード一覧取得URLの設定は http://menu.5ch.net/bbsmenu.html です。
ちなみに https://menu.5ch.net/bbsmenu.html にしても同じ結果になります。

一覧を取得すると
ステータス欄は「HTTP/1.1 200 OK」の場合と「ボード一覧更新無し」の場合があるのですがどちらの場合も板一覧は空になります。

http://mercury.bbspink.com/test/read.cgi/erobbs/1490249679/527-についてですが
ボート一覧の不具合に気づいたのが6月11日ですので6月9日の「httpでもアクセス可能に戻した」という発言後での現象となります


現在以下の方法で回避できていますので全く急ぎませんが、もしよろしければ対応お願いします。
(リンク先はJane StyleのスレですのでJane Styleでもバージョンによっては同じ現象が起きているようです。)
http://egg.5ch.net/test/read.cgi/software/1590427365/679


余談ですが、久々に丁寧な文体で文章を書いたので何か慇懃無礼な感じになってる気が…なってたらすみません。

416413:2020/06/13(土) 01:49:50
追記
どうやらこれがjaneのボード取得の挙動らしいです。
http://egg.5ch.net/test/read.cgi/software/1590427365/680

417 ◆/vmukiyuzw:2020/06/13(土) 03:15:36
なるほどー、色々テストしてもfiddlerからはまともなhtmlが返ってくるのに
なんで何で専ブラ側で表示できないんだろう?と思っていたら、
専ブラ側の表示(というか解析力?)に問題があったわけですね。
(専ブラ(View)はbbsmenu.html を解析して jane2ch.brd の形式に変換してるのだが
https:// の形式のURLは多分対応していないので変換できない)
Styleでも起きてるのならXenoでも起きるんだろうな。。

・・・うーむ、となると話はかなり違ってきて、hBFとしては
「bbsmenu.html 内の https// :は全部 http:// に変換しとけば当面はうまくいくのかな?」
を検討しろって話になりますね。5ch側や専ブラ側の対応も今後どうなるのか
わかりませんが。

418名無しさん:2020/06/13(土) 06:18:33
一応JaneDoeView181014βはWebarchiveから落とせます

原因は同じだと思うのですが
httpsの掲示板に対応しているJaneDoeView181014βではmenu.5ch.net/bbsmenu.htmlでjane2ch.brdは作成されますが
板のURLがhttpsになっているのでjane2ch.brdのhttps://を削除しないとFiddlerを通らず読めないという問題があります

419 ◆/vmukiyuzw:2020/06/13(土) 21:59:19
>>418さん、ご指摘ありがとうございます。

私が検証用に入れてたViewも>>413さんと同じ 150713 だったので、
JaneDoeView181014βをwebarchiveから落として使ってみたところ、
menu.5ch.net/bbsmenu.htmlからjane2ch.brdは生成されることを確認しました。
(http://でもhttps://でも)

で、ウチの環境では生成されたままのjane2ch.brdからでもスレ一覧に飛べるし
そこからのスレ表示にも動作は問題ないように思います。
(もちろんhBFは>>411の対応をした状態で)
つまりViewを181014βにしたらとりあえず>>413さんがご指摘くださった問題は
クリアされて普通に使えるようになってしまったのではないかという状況です。

ので、>>418さんの

>>板のURLがhttpsになっているのでjane2ch.brdのhttps://を削除しないとFiddlerを通らず読めないという問題があります

の「問題」に私はたどり着けていません。うーむ、もう少し状況を
教えていただけると何かできるかもしれないですが。

ちなみに、Xenoでも(今使ってるのは 200505 で最新ではないですが)
板アドレスにhttps://を含むbbsmenu.htmlでも問題なく動作するのは確認しました。

420名無しさん:2020/06/13(土) 23:34:41
ギコナビで板のURLがhttpsになっているボード一覧を取得すると
板移転扱いされるのにスレ一覧とログが見えなくなり、
さらにキャビネットのカテゴリから板を開けなくなるので
置換の必要がありました
(とりあえず自力で暫定対策済)

421420:2020/06/13(土) 23:39:38
JScript.Net版暫定対策

if (oSession.url.match(/(?:menu\.[25]ch\.net\/bbsmenu\.html)/)) {
oSession.utilDecodeResponse();
oSession.oResponse["Content-Type"] = "text/plain; charset=Shift_JIS";
if (!oSession.oResponse["Last-Modified"]) {
oSession.oResponse["Last-Modified"] = oSession.oResponse["Date"];
}
var oBody = oSession.GetResponseBodyAsString();
//oBody = oBody.replace(/<A HREF=\"(\w*?)\"/ig,"<A HREF=$1");
oBody = oBody.replace(/https\:/ig,"http:");
oBody = oBody.replace(/\.5ch\.(net)/ig,".2ch.$1");
oBody = System.Text.Encoding.GetEncoding("shift-jis").GetBytes(oBody);
oSession.ResponseBody = oBody;
}

422413:2020/06/14(日) 03:30:42
181014βをダウンロードして試したところ
>>418さんと同じ状況になりました。

そしてこの時点で
「hBFとは関係なく専ブラの種類やバージョンによってボード一覧取得の挙動が大きく変わってしまう」
ということが明らかとなったので、hBF側での一律の対応は非常に面倒という判断から
勝手ですが私からの「ボード取得問題への対応」という要望は取り下げとさせて下さい。

もちろん作者様の負担の問題もありますが、
バージョンアップ時などに「○○を使ってる人はこの行のコメントアウトを外して〜」という運用よりも
非公式の板一覧を使ったほうがスマートだという私側の事情です。

お騒がせした上に勝手でまことに申し訳ないです。
ごめんなさい。




以下は何も新しい情報はないですが、一応試したことを書きます。
>>411は適用済みです

上書きインストールした場合と
新規インストールで「プロキシ設定」と「ボード一覧取得URL」のみを変更した場合のどちらも同じ動作でした。

jane2ch.brdの中身が

----------------------------------------------------------------
地震 0
headline.5ch.net bbynamazu 地震headline
egg.5ch.net namazuplus 地震速報
----------------------------------------------------------------

となるはずのところが

----------------------------------------------------------------
地震 0
https://headline.5ch.net bbynamazu 地震headline
https://egg.5ch.net namazuplus 地震速報
----------------------------------------------------------------

という形式になっています。
スレ一覧の取得までは問題ないのですがスレッドを取得しても表示は空白になりました。

423 ◆/vmukiyuzw:2020/06/14(日) 06:48:12
まずJane2ch Viewを新しいフォルダにインストールする。
Programs Filesの下とかは絶対ダメ。適当でいいけど新しいフォルダを作る。
そこにJaneなんたら.zipの内容を全部解凍する。
そしてJane2ch.exeを起動する。多分「ボード一覧がないから取りに行っていいですか?」
てメッセージが出るが「いいえ」を選ぶ。
で、何もない画面がでるがメニューの「設定」から「プロキシを使う」をチェックして
プロキシの「鯖」に「localhost」、ポートに「8888」を入力。
ボード一覧取得URLには「http://menu.5ch.net/bbsmenu.html」 (httpd://でもOK)
このときFiddlerも起動しておく。(hBFも仕込んでおく)
でメニューの「板欄」から「板一覧の更新」を選べば板一覧は取得できるはずなんだけどなあ

424 ◆/vmukiyuzw:2020/06/14(日) 06:52:55
>>423
>> (httpd://でもOK)
https:// や!何でこんなあほな間違いするんや

425418:2020/06/14(日) 08:06:09
FiddlerのDecrypt HTTPS trafficはどうなっていますか?
自分はオフなのですがもしかしたら復号しているので
View-https-Fiddler-https-5chでも読めているのかなと
>>421の対策(https→http)が気になりますが自分はC#版で試せていないです

426 ◆/vmukiyuzw:2020/06/14(日) 21:22:35
>>425
私のとこではオンにしてます。多分ご指摘の通りの理由で読めているのでしょう。
これまで「できます」と書いていたのはここがオンのため環境が違ってたということ
になるのか・・・
確かそれをオンにするとFiddlerが生成する証明書を認証させるための若干の手続きが
必要になったような記憶があります(詳細は忘れてしまいましたが・・・)
でも、httpsが全盛の現状ではオンにしておいたほうがFiddlerをトラブル少なく
使っていけるのではと勝手に思うのですが。

>>420-421さんの対策(httpsをhttpに変換する)は、いずれにせよ
httpsを含むbbsmenuに対応してない専ブラがある以上はやる必要があると
思うので、C#版で対処したものを出します。ちょっと検証する時間を下さい。

427 ◆/vmukiyuzw:2020/06/14(日) 22:27:51
あと、>>420-421さんにいくつかご質問したいのですが
よろしかったら教えてください。

・https→http 変換だけじゃなく 5ch→2ch 変換も入れてますよね。
これはギコナビが5ch.netのurlを認識しないということだと思うんですが
OnBeforeRequest のほうにも2ch→5chの変換が多分必要になりますよね。
どう対処されてるのか教えていただければと思います。

・ギコナビって、Jane系やV2C系にあるようなReplaceStr的な機能が
ないじゃないですか。
(dat自体は書き替えず、表示されるテキストのみを置き換える機能。
今回の件で言えば、表示上 https→http や 5ch←→2ch も可能。
これがあると、スレ上でhttpsのスレへのリンクが張られていても
専ブラとして有効なリンクとして認識できないので飛べない、という
状況を解決できる)
その辺をもしかしてhBF使って何とかされてるなら参考にさせて頂きたいと
思います。

428420:2020/06/14(日) 23:16:00
ご本家の方に晒すには恥ずかしいコードですがこんな感じです

・OnBeforeRequest
if (oSession.url.match(/(?:\.[25]ch\.net|\.bbspink\.com)\//)) {
oSession.oRequest.headers.UriScheme = "https";
oSession.url = oSession.url.replace(/\.2ch\.(net)/ig,".5ch.$1");
oSession.oRequest["User-Agent"] = "Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko";
if (oSession.url.match(/bbs.cgi$/)) {
oSession.oRequest["Accept"] = "text/html";
oSession.oRequest["Accept-Language"] = "ja";
//ギコナビだとPOSTの末尾に付く改行を削除。これが原因の書き込み拒否への対応
oSession.utilSetRequestBody(oSession.GetRequestBodyAsString().replace(/(\r|\n)/ig,""));
//これも↑の書き込み拒否への対応だったかも知れない
var headers = oSession.oRequest.headers;
headers["Referer"] = headers["Referer"].replace(/test\/read\.cgi\/.*?/ig,"test/bbs.cgi");
}
}

・ReplaceStr的機能
//ギコナビのreplace.iniだと正規表現が使えなかったのでここでリンクになっているものだけ書き換えるようにしたはず
oBody = oBody.replace(/ttps*:\/\/(\w*?)\.[25]ch\.net/ig,"ttp://$1.2ch.net");

こういった付け足しをしていったらC#版hBFへの移行が大変になったので、
C#版hBFを参考にさせていただいてJScript.NET版を修正しています

429 ◆/vmukiyuzw:2020/06/16(火) 00:13:57
hBFをバージョンアップしました(ver 3.04)

3.04 (2020/06/16)
 ・bbsmenu.html内のURLの記述で「https://」や「5ch.net」の記述に対応していない
  ブラウザへの対応。
  OnBeforeResponse で、 bbsmenu.html からのレスポンス内容を
  https:// → http:// 、5ch.net → 2ch.net に変換する処理を入れた。
  (デフォルトではコメントにしているので適宜コメントを解除してください)
  OnBeforeReqest では 2ch.net への リクエストは全部 5ch.net へのリクエストに
  変換するようにした。


とりあえず>>413から始まった bbsmenu.html の取得に対しての対応です。
bbsmenu内でURLがhttps://で記述されているとそもそもbbsmenuの解析に失敗して
板一覧の生成ができない(ギコナビ、View150713等?)、または
板一覧の生成はできるがbbsmenu内のhttps://に対応できてない?ため
そこからスレ一覧やスレに飛べない専ブラに対する一応の対処です。

OnBeforeResponse のほうは、最初の方に420さんが>>421さんが書いてくださったものを
ほぼそのままC#に書き替えたものを入れています。
現状うまく動いてる環境には影響が出るので、該当の処理はコメントにしています。

// bbsmenu内のurlの記述が「https://」に対応していない場合は次の行のコメントを外す
//oBody = oBody.replace(@"https:","http:");
// bbsmenu内のurの記述が「5ch.net」に対応していない場合は次の行のコメントを外す
//oBody = oBody.replace(@"\.5ch\.(net)",".2ch.$1");

の部分です。必要に応じてコメントを外してください。

OnBeforeReqest のほうは、>>428のご指摘も参考になったのですが
とりあえず現状2ch.netへのリクエストは全部5ch.netに飛ばして問題ないかと
以下のようにしました。

//2ch.netへのリクエストはとりあえず全部5ch.netに向ける v3.04
if (oSession.url.ismatch(@"(?:\.[25]ch\.net/)")){
oSession.url = oSession.url.replace(@".2ch\.(net)",".5ch.$1");
}

あと、>>425-426のFiddlerのオプションDecrypt HTTPS traffic は
どうなの?って問題があるのですが、自分はずっとオンで運用してきたので
オフにすると何ができなくなるか、オンにすると何が問題なのか、
この辺は時間不足で検証できていません。

430 ◆/vmukiyuzw:2020/06/16(火) 01:25:44
>>420さんのようにJScriptで頑張ってる方もサポートしていくべきなんでしょうが
ちょっと現状では両方やるには力不足で・・・ごめんなさい

431418:2020/06/16(火) 20:04:00
>>429
更新ありがとうございます
無事https://の無いjane2ch.brdが出来ました
念のためにmenu.5ch.net/bbsmenu.htmlのhttps強制に備えて
「5chへの読み書きは全てhttpsになったので対応」の部分を
if (oSession.url.ismatch(@"(?:\.[25]ch\.net|\.bbspink\.com)/(test/|[^./]*?/subject\.txt|bbsmenu\.html)")){
にしてDecrypt HTTPS trafficはオフのままで問題なく使えています

432 ◆/vmukiyuzw:2021/10/03(日) 00:16:19
htmltodatサポートスレッドを久々にレスをしたので、ついでにと言っては何ですが
ByFiddlerのほうの現況も報告しておこうかと思います。
結果だけ言うと、何も進展していません^^;

春ごろからですか?5chで理由不明のエラーで書き込み不可になり同時にBBx(?)
送りになってしまう状況になりました。この状況になった方は多いのでは?
で、そもそも書き込めないので原因を調べることもなかなかできず、しばらく何も
できませんでした。
そのうちいきなりBBx送りというのはなくなったようですが「PROXY変ですよん」とか
「余所でやってください」とかの意味不明のエラーエラーで書き込めないことが
多くなりました。
「プロキシ変ですよん」は大体理由がわかってそれの改善をしようかといろいろ
試したりしてたのですが、「余所でやってください」は理由が分からず今でも出ます。
その状況で下手に修正とかしても事態を悪化させるかもしれないので当面何もしない
ことにしました。

現在、自分では大丈夫そうなUAを使って書き込みはしてます。でもそれでも
「余所でやってください」は時々出ます。

433 ◆/vmukiyuzw:2023/06/23(金) 23:26:53
行きがかり上、先に向こうに書いてしまったのですが、
hBFをバージョンアップしました(Ver 3.05)

http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038588508/1088-1089

まあまあご無沙汰になってしまったのですが、その間
5chの書き込みに結構シビアな縛りがかかるようになってしまい、
hBFで対応するのはちょっと面倒すぎるかなと思ってあきらめて
いました。個人的には今でも書き込みには別のプロキシ通してます笑
ここは今後改善される望みはないので、書き込みには別のプロキシ
使ってください。申し訳ない。

434 ◆/vmukiyuzw:2023/07/13(木) 22:57:11
ここ数日いろいろありましたがとりあえずざっくりまとめると

・JaneStyleが5chのサポートをやめて、talkという掲示板専用になった
・5chはJaneStyleが仕切ってたAPIが使えなくなるので、APIの使用を
 中止(廃止?)した。
・結果、APIに対応しておらずプロキシ通さなければ使えなくなっていた
 専ブラが、元の仕様で使えるようになった。

これはある意味、APIに対応してないブラウザを救済するための手段だった
プロキシソフトの終焉なのかもしれません;;
まあ2ch←→5chとかhttp←→httpsとかの読み替え等は今でももあるので
全く不要になることもないような気もしますが。
私は、現行ログと過去ログをシームレスにアクセスできるのを便利に感じて
るので(それを意図して作ったわけではないのですがw)、
htmltodatByFiddlerを使い続けたいなと思ってます。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板