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

テストその2

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

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 〜 に直近の」と書きました。
でもこういう書き方をした以上、素直に読めばご指摘の通りなのです。

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

400 398 :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 でのアクセスも有りにした)という話のようです。

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

415 413 :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


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

416 413 :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になっているボード一覧を取得すると
板移転扱いされるのにスレ一覧とログが見えなくなり、
さらにキャビネットのカテゴリから板を開けなくなるので
置換の必要がありました
(とりあえず自力で暫定対策済)

421 420 :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;
}

422 413 :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:// や!何でこんなあほな間違いするんや

425 418 :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使って何とかされてるなら参考にさせて頂きたいと
思います。

428 420 :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で頑張ってる方もサポートしていくべきなんでしょうが
ちょっと現状では両方やるには力不足で・・・ごめんなさい

431 418 :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はオフのままで問題なく使えています


新着レスの表示


名前: E-mail(省略可)

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

■ したらば のおすすめアイテム ■

レッドブルエナジードリンク 250ml×24本 - レッドブル・ジャパン

フルチャージ!

この欄のアイテムは掲示板管理メニューから自由に変更可能です。


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