onihusube / 2chAPIProxy

2ch(5ch)のAPI未対応専ブラに代わってAPIアクセスや書きこみを行うローカルプロクシ
MIT License
32 stars 6 forks source link

要望とか #6

Open onihusube opened 2 years ago

onihusube commented 2 years ago

メモ、なんかあったらご自由にお書きください。

実装するとは言ってない・・・

onihusube commented 2 years ago

settings.xmlにMonakey保存して欲しい 今はバッチで設定切り替え プロファイル切り替えの度にMonakey更新時の規約同意確認の手間と待たされるのを無くしたい 出来れば串本体でプロファイル切り替え可能になって欲しい

2e49b6b7ba5b98b9df42ee52e1604f1794a99920 で一部実装。プロファイル切り替えは要望が強ければ・・・

onihusube commented 2 years ago

Kakikomeruyouni Nattakedo Mojibake Simakuri. Mojibake Naosu Houhou Tanomu. UTF-8 de Kakikomu Ni check Ireteru.

>>756 rep2 Tokaiu Kaseki Dakarana- Senbura Iranaikara Benride Yameraren Moutyotto Ganbaru

元々UTF-8エンコーディングで送ってた?よくわからない・・・

8f695869eb2b7387bbcf034bac18cfda24a8832e で一応対処?確認方法がない

onihusube commented 2 years ago

吸い込み型のNGワード(例えば「おとしだまくじ」を漢字で)を投稿すると、 「書きこみが終わりました」と表示されるが、実際には書き込まれておらず、 BBQになると同時に、Set-Cookie: TAKO=ODORI が返ってくる この Cookie を送信して投稿すると、タコが付く(タコ付きでも書ける板では)

013fd6dcc17deee7f7adfb405e5342ab9fb63a48 で削除するようにしてみた。

BBC規制:リロードを過剰におこなった場合に発生する規制、読込自体が出来なくなる BBQ規制:プロキシサーバーに由来する規制、書き込みが出来なくなる BBX規制:NGワードを書き込んだことによる規制、BBQ規制と同時に発生することもある BBN規制:BBX規制とほぼ同じ BBM規制:特定のIPアドレスまたは端末IDから大量の投稿があった場合に規制、書き込みが出来なくなる

onihusube commented 2 years ago

これ

【C#】ショートカットから起動するとDirectoryクラスのカレントディレクトリが違う問題 - らくの遊び場

単にショートカットからなら問題なくて、スタートアップ起動時に特にシステムディレクトリになってるらしい。

onihusube commented 2 years ago

(・∀・)ナンカエラーダッテ HTTP/1.1 504 504 Gateway Timeout (・∀・)カンリョウ!!

Xeno x64 220330 + 20220425test 問題ない

Xeno x64 220330 + 20220502test 新スレが読み込めない、過去ログが読み込めない、書き込めない

全く同じ設定なのだけど何が違うんだろうな

もしかしたら、APIからの返答が変わってる可能性がある?要調査

504ってなんだ

書けない 新着読み込まない 過去ログ読めないだったけど いつの間にかにできるようになってた

良かった(なんでだったんだろう??

onihusube commented 2 years ago

xenoと組み合わせて使っているんだけど 既にタブで開いているスレがdat落ちしてる場合に更新するとこの串だと「誰もカキコしてない」になって過去ログを読みに行かない スレ一覧を更新した後だと読みに行くんだけどここらへんの挙動を変えるオプションとかありますか? apixyの場合は過去ログは普通に過去ログ読みに行きます

7 関連っぽい

onihusube commented 2 years ago

今更だけどこれ最新版を入れるとBoardSettings.yamlが上書きされるんだな BoardSettings.test.yamlとかにしておけばいいのに

はい・・・

onihusube commented 2 years ago

220504testにしたらXenoのオートリロードがすぐ停止するようになった

試しに元(220412test)に戻したらちゃんと維持してくれてるみたい それに元の方は停止したらエラー音鳴るんだけど新しい方は音鳴らずにひっそり停止してる

そしてこの報告するためにまた新しいのに差し替えなければ書けない くそーw

よくわからないけどexeだけ最新に差し替えてAPIDLLは古いままにしたら 書き込みできてオートリロード維持もできるようになった! お騒がせしました

5 関連かなあ

7 関連?

onihusube commented 2 years ago

「X-2ch-UAヘッダを送信する」と「nonce値にミリ秒を付加する」にマウスカーソルを近づけた時の ツールチップの表記が間違ってる

onihusube commented 2 years ago

リクエストとレスポンスをログで表示して欲しい 書き込めない時、何が原因なのか どんなリクエストを送ったのか確認したい

onihusube commented 2 years ago

トランスポートのコネクションは一致させれないの?

BoardSettings.yamlのKeep-AliveをfalseにするとConnectionの行自体が消えるな

うーんこれどうやら無理っぽいなあ・・・

onihusube commented 2 years ago

プロキシ設定が再起動後に反映されてない気がする プロキシ設定をちょっと変更して保存→元に戻して保存 ってするとちゃんと反映される

これの「プロクシ設定」の話です。 https://i.imgur.com/e3Ocih3.png

43f7442 マジでした・・・

onihusube commented 2 years ago

monakey保存は既に実装されてる なのでsettings.xml差し替えるだけなのでバッチでも簡単に出来る プロファイル切り替え機能の実装は要望が多ければ…と作者さんは言っていたが 串を起動し直さなくても良いように通知領域のアイコン右クリメニューにsettinngs.txtの読み直しとかcuiから再読み込みとか出来るようになると少し便利かもだが そこまでやるならプロファイル機能実装の手間と変わらん気もする

onihusube commented 2 years ago

連投荒らしについてはそのうち新仕様関係無く同一IPからの連投規制がどうせ入るだろうからそこを配慮する必要無いでしょ プロファイル機能は書けなくなったりなどの問題が生じた時の原因の切り分けが楽になるからメリットの方が大きいと思う なのでプロファイル機能実装には賛成

onihusube commented 2 years ago

>クッキー確認の無限ループですよね>ピンク > >5chのAPIモード書き込みはCookie:yuki=akariが必須ではないみたいだけど >ピンクは必須みたいです >今の挙動は5chに合わせてピンクにもCookieを送ってません

ほんまか・・・?

onihusube commented 2 years ago

要望 Monakey更新後、直ぐにsettings.xmlに保存して欲しい 現状settings.xmlへは串の終了時に保存しているようです Monakeyが更新されていた場合、BSODやOS自動更新などで強制終了になるとMonakey再取得になってしまいます Monakey発行は短時間(24時間?)で4回まで(5回目でBBx)という規制があるようですので

上記が可能でしたら以下は無視して下さい taskkillで通常終了させると通知領域のアイコンが消えるだけでバックグラウンドプロセスは終了されず残ってしまい、終了処理?のsettings.xmlへのMonakey保存もされません taskkillで強制終了させた場合はバックグラウンドプロセスも終了出来ますがその場合Monakeyの保存はされずkeyが更新されていた場合再取得になります taskkillの通常終了命令を受け取って正常終了(settings.xmlへのMonakey保存)出来るようにして欲しいです

楽な方で構いませんのでご検討お願いします 急を要する訳ではありませんので次回更新時にでも可能であれば

398は知らない人です、念のため

onihusube commented 2 years ago

2chA*IProxy11 http://egg.5ch.net/test/read.cgi/software/1623141723/390-391 これにすげぇハマってた 作者さんsampleかreadmeに注意書きしておいて欲しい

BoardSettings.yamlで「Accept : */*」と設定するとyamlエラー

yamlで一部の記号は1文字目に書くと特殊文字になるのでそういう時は引用符でくくる Accept : '*/*'

onihusube commented 2 years ago

webブラウザからですら書けない板だって在るらしいから書けない場合があるのはどれでも条件同じ それぞれの設定を用意して切り替えるのが最もストレス少ない yamlとxml差し替えるだけなんだからバッチかスクリプトとかでプロファイルモドキを作れば楽になるぞ 俺はバッチでローテーション てなわけで作者さん、以下2点何とかなりませんか? ・設定やMonakeyに変更があったら都度settings.xml保存 ・2chA*IProxy.exe /reload とかcuiから設定再読み込みの指示を受け付ける (上が出来ればtaskkill→startすれば良いので優先度低)

つかここ最近はMateとLiveと***のKeyでずっと書けてるがどこの板の話よ?

onihusube commented 2 years ago

yaml2つ読んでくれるようにならないかな _default : だけxmlの方に保存でもいいけど pink と 板別設定は一律だけど _default : だけはkeyと結び付いてるので

どゆこと・・・?

理解した

onihusube commented 2 years ago

2/chAPIProxy 20220528にしたら書き込みができなくなった

今日やったのはXeno220528x64をXeno220330x64に上書き この時点では問題なく読み書きができ、過去ログも拾えた

2/chAPIProxy.20220504testの設定を2/chAPIProxy 20220528にそのまま書き換えたら 読み込むし過去ログも拾えるけど、書き込みにエラーがでる。

-------------------- 書込み中・・・ -------------------- 書込みに失敗した模様 -------------------- HTTP/1.1 404 404 NotFound --------------------

なんでだろー?

onihusube commented 2 years ago

やっぱtaskkillはバックグラウンドだけ残る時がある 条件不明 でもkeyは更新即保存されるようになったので/fしても大丈夫ぽいのでおk

onihusube commented 2 years ago

作者さん ログではRock54された時とその後の書き込みで2回Monakey更新されてるっぽいのが気になるけど これってもしかして1回目は更新じゃなくて「初期化」なのかな?設定保存した時も出てて気になってたんだけど 短時間で5回更新したら不正取得になるらしいので ビクビクしちゃって心臓に悪いのでログの「初期化」と「更新」分けて欲しいです

リセットじゃなくて更新といわれているなら2回更新されてると思う。なんで?

onihusube commented 2 years ago

ところでファイルの中で「起動しない場合」ってあるでしょ これやってもダメだったんだけど 1つの条件に拡張設定の「専ブラexeのパス」のところで 仮にC:\Program Files\Xn220330x64\Jane2ch.exeと入れるところを 'C:\Program Files\Xn220330x64\Jane2ch.exe'なんて「''」で囲んだりすると 起動してもすぐに落ちてしまう 設定しようとマウスを当てると青いアイコンが消えるよ

onihusube commented 2 years ago

ERROR: 鍵の有効期限が切れています。

って回避?できないのかな 規制されたのかと思ってちょっとドキッとするんだけど こんなドキドキはいらない

俺も最初、自動でやってくれりゃ良いのにと思ってたけど 串が勝手にリトライして鍵更新&再投稿するのはそういう機能を実装すれば可能だと思うぞ 設定で「鍵期限切れ時の自動リトライ」とか一見便利そうに思えるけど ただそうなると、鍵が更新された事がユーザーに分かり難くなるのと 専ブラ側のTimeOutの設定を余程大きく出来ないと「書き込み失敗」と表示してTimeOut扱いにしてしまうだろう スレを手動更新で確認せずに再投稿し2重投稿する奴が続出しそう スレ見ても、動作を理解して使ってるのなんて極一部で大半がバカだから今の仕様の方が良いと思うけどな

onihusube commented 2 years ago

作者さん、Nonceのミリ秒を.000固定にするオプションをお願い

onihusube commented 2 years ago

余所規制と同じ状態になって来たのでやっぱ板別設定出来るようになって欲しいな 設定別に多重起動しておいて専ブラ側で手動でポート切り替えるのはちょっと手間。切り替え忘れて鍵無効なるし

UAのWinVerとか泥のDalvikを複数登録しておいて書ける組み合わせを自動で探して板別設定として保持してくれたら完璧 その際、不正取得なったらこれも自動でIP変えてくれたら神 IP変えられるかどうかは契約回線サービス次第だけどIP変更してくれるソフトとかあるから技術的に不可能てことは無いと思うんだが

ただ、新しい書き込み仕様の噂も立ってるから使い回せなくてガックリ来るような機能の実装は避けた方が良いだろうけど板別の機能は無駄にはならないと思うんよね 作者さん頼りで申し訳ないが頑張って欲しい

モチベ湧かんなら寄付の窓口用意してみるとか 更に下がる可能性もあるが

onihusube commented 2 years ago

BoardSetting.yamlでヘッダに 「Accept : /」を追加するとエラーになってしまう *以外から始まる文字列なら大丈夫なんだけど、なにかエスケープ文字とかが必要なのだろうか

>>719 説明を誤解してたわ 行の先頭に*とかがきた場合の話なのかと思ってた

>>718 Accept '/' が正解だった

onihusube commented 2 years ago

Spyleといえばリファラーの再現の仕方が良くわからなくて放置してたわ

>>723 普通なら Referer : http://egg.5ch.net/test/read.cgi/software/1654371551/ みたいになる奴が Spyleの場合は Referer : http://egg.5ch.net//software/ になるって話だよね

俺もどうしたらいいかわからん

onihusube commented 2 years ago

>>741 En2chだけど Content-Type : application/x-www-form-urlencoded; charset=utf-8 を明示的に指定しておくとNonceのミリ秒を000固定にしないでも書けてはいるのよ (ただし文字化け)

本当はBoadSettins.yaml上のContent-Typeの指定は Content-Type : application/x-www-form-urlencoded だけにして charset=utf-8 は2hAPIPrxyに任せちゃいたいんだけど それをすると Content-Type : application/x-www-form-urlencoded; charset=UTF-8 って大文字になって、それだと不正串扱いみたいな

onihusube commented 2 years ago

>>742 こちらでも書き込めるのを確認しました。有益な情報ありがとう

En2ch オリジナルは Content-Type : application/x-www-form-urlencoded; charset=utf-8 yamlで上記を設定していても 2chAPIProxyの書き込み設定「UTF-8で書き込む」を オンにすると UTF-8 と大文字で上書きされ不正な串 オフだと utf-8 となり書き込めるが、当然 UTF-8エンコードされずに UTF-8 として送ることになり文字化け

「UTF-8で書き込む」のGUI設定を廃止してyamlの Content-Type に charset=UTF-8 charset=utf-8 があるかどうかで UTF-8エンコードを オンオフしてくれるようになればEn2chでも書き込めるようになるね

ただその場合、yamlをちゃんと設定出来ていない多くの人達が不正な串になるかもだけど

まあ廃止しなくてもyamlにutf-8がある場合にそちらを優先して上書きしないようになってくれれば良いね

onihusube commented 2 years ago

他の鯖は問題ないんだけど、krsw鯖の過去ログをギコナビで取得しようとすると302エラーが出て取得できないんです Chromeで確認してもGoneとかにもなってなく普通に閲覧できるのですが原因何かわかります?

例えば↓みたいにdat落ちしたスレ http://krsw.5ch.net/test/read.cgi/ff/1655901107/

>>206 訂正 proxyにちゃんだと取得できたから鯖じゃなくて串の問題かも

2chからのリダイレクトが機能している鯖だから APIProxyで取れないのは串の問題っぽいな

HTMLが1行に全部詰まるようになってて、これまでの本文とタイトル等ヘッダ部が別行に分かれてたのと形式が違う

幸いなことに1行に詰まってる以外は現在主流の形式と同じだった

HTML変換部分だけなので先行してここに置いておきます HtmlConverter.zip

onihusube commented 2 years ago

過去ログをHTMLから取得してるけど krsw鯖(というかghardとff板)はなぜかHTMLが最初の数レスしか表示されないから取得できないのでなんとかしてほしい http://krsw.5ch.net/test/read.cgi/ff/1660114079/ http://krsw.5ch.net/test/read.cgi/ghard/1660378997/

ただ、後ろに?v=pcをつけるとちゃんと表示されるっぽい http://krsw.5ch.net/test/read.cgi/ff/1660114079/v=pc http://krsw.5ch.net/test/read.cgi/ghard/1660378997/v=pc

レス番指定しで ff/1660114079/1- ghard/1660378997/1- とすれば問題ない

/1-で古いスレを変換しようとすると、旧HTML形式が若干異なるらしくうまく変換できなくなる・・・
いやそんなことなかった

onihusube commented 2 years ago

2chAPI串でSocksプロキシ設定してみたけどなんか上手く動かんな これって動作実績大丈夫なんかな

少し下にあるようにfiddlerに丸投げでテストしてない・・・

onihusube commented 2 years ago

過去ログ変換中にエラーが出るのですが何が原因でしょうか? .dllは更新しました

をHTMLから変換中にエラーが発生しました。 System.Net.WebException: リモート サーバーがエラーを返しました: (308) Permanent Redirect 場所 System.Net.WebClient.OpenRead(Uri address) 場所 2chAPIPr0xy.HtmlConverter.HtmltoDat.Gethtml(String URI, Int32 range, String UA, Boolean CRReplace, String LastMod)

最後に試したスレです http://egg.5ch.net/test/read.cgi/jisaku/1656028767/

>>401のスレが取得出来ないな masterを自分でビルドした奴なんだが

Edgeだと開けるからHtmlConverterの問題だと思うんだが、はて?

onihusube commented 2 years ago

krsw鯖でdat落ちしたスレを読み込むとスレの書き込みが1件とかになってふっ飛ぶな だいぶ前にdat落ちしたスレは問題無いんだけど、ごく最近のは書き込みが消える

>>44 http://mao.5ch.net/test/read.cgi/linux/1597723812/506-507

[ Linux ] 2chproxy.pl Part2

506 名前:login:Penguin [sage]: 2022/08/16(火) 02:56:03.25 ID:ZRxE3b/7 krsw鯖とか書けないどころが読めない(スレのdatが取り寄せられない)みたいだけどおまかん?というか設定が悪いのかな

507 名前:login:Penguin [sage]: 2022/08/16(火) 04:30:10.96 ID:ZRxE3b/7 あー・・・ krsw鯖の新しくたったスレはトップ近辺に「勢いグラフ」?みたいなのが設置されてて そのついでか「の前に改行が入って」ない構造になってるわ 俺の使ってる2chproxy.plは「の前に改行が入って」ることを前提にして書かれてる版みたいなのでうまく動いてないようだ

onihusube commented 2 years ago

最近になって浪人に入れないことが判明 プロクシ設定ダウンロードをオフにすれば入れるけど今度はログが取れなくなる なのでログインした後にまたプロクシをオンにするという面倒な設定に

俺はBeログインできなくなってるね ログイン代行にチェック入れても

onihusube commented 1 year ago

串の「2chのhttpsをhttpに置換する」「5chのリンクを2chに置換する」をチェックして 板一覧更新を久々にしてみたら、なんか各板URLの前後にダブルクォーテーション(")のゴミが付くようになってた board.2ch開いてダブルクォーテーションを除去したら直ったけど、ギコナビ新規導入する人には色々面倒な時代になったものだ

onihusube commented 1 year ago

通常ブラウザで開いたときのページが変わったからか HTMLで過去ログが読めへん

スレURLに/c/を付けると以前のhtml読み込めるらしい test/read.cgi/c/

ただ改造方法わからない

onihusube commented 1 year ago

最近bbsmenuの使用が変わったからね jsonでとってくれというのが公式見解

串がjsonを従来形式に変換してくれたらいいんだけど

jsonで取るやつってどれ・・・?

これか

https://menu.5ch.net/bbsmenu.json

onihusube commented 1 year ago

ストリートファイター6を起動すると串のせいで解像度が変更できませんでしたって出るんだけどおま環?

いや、串をゲームで使ってるわけじゃなくてゲームを起動するとヌビディアのコントロールパネルの警告が出て 詳細をみると「ディスプレイモードの変更をブロックしているアプリケーション」に串が表示されるのよ

onihusube commented 1 year ago

とりあえず/c/にアクセスを振り返る暫定対応のものです

HtmlConverter.zip

onihusube commented 1 year ago

2023.06.21 test版に以前とまったく同じ設定して 書き込んだら不正なproxy201

あわてて元のバージョンに戻したら書き込めた

同じ設定で新しいバージョンにすると不正で 古いバージョンだと書けるとかあるんだな

DAT落ちしたら過去スレ取得できないが 古いバージョン使うか…

書き込み用Agentの後ろの方はいじってる

あとピンクはずっと書けてない

>>357 2023.06.21 test版でスレ取得はできた 書き込みが不正201でできなかった

>>358

を消すと不正201が出て書けなくなって

結局元に戻して5chだけ書き込んでた

ちなみに〇ch〇ate/0.8.10.158でそろえてる

359の書き込みだけだと日本語不自由な人みたいだな

を消す前だと何度もピンクで「この書き込みで本当にいいですか?」が

何度もでて書き込めない

を消すとピンクも5chも不正201がでて書き込めない

結局#を元に戻して5chだけで書いてる

>>359 俺も同じ、test版が書き込めなかったから、元に戻した。

onihusube commented 1 year ago

dat読みにAPIを使わないとりあえずのやつ

2chAPIProxy.zip

これは

つまり、dat読みでAPIを使用しないようにした以外は今まで通り