Code Monkey home page Code Monkey logo

2chapiproxy's People

Contributors

onihusube avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

2chapiproxy's Issues

どんぐりについて

拾ったコピペ

■なにはともあれやっておくこと
・まだやってない人は名前欄に「!donguri」で何か書き込む
・初回書き込みは自動的に「どんぐりを埋めました」エラーになる(これでCookie初期化完了)
なんにしてもまずはここから

■で?
これであなたのどんぐりは5chに埋まったので、あとはほっとけば「どんぐりのレベルが勝手に育っていく」
今のレベルを確認したいときは名前欄に「!donguri」で何か書き込めば見れる
今はまだ何の役にも立たないけど、今からやっとけば今後どんぐりシステムが稼働した際に「高レベルのどんぐりでスタートできる」
 どんぐりモードやハンターシステムが実装されてから慌てて育てても時間で育つんで追いつくの大変やし
 今からやっとけば「強くてニューゲーム」できるというお話やな

■わかってるような気がすること
・レベルは時間で上がる
・どんぐりは全板共通
・IPアドレス変わっても大丈夫
・端末ごと、さらにはブラウザ・専ブラごとにどんぐりを埋めておくべし
・最初に一度!donguriしておけばレベル確認以外で!donguriする必要はない
・「ERROR: Acorn Error [broken_acorn]」が出たらCookieを削除してみる(※レベルはリセットされるかも)
・chmateからも行ける。俺はいけた。
・mae2cじゃ駄目(作者さんに期待)
・ハンターはUpLift持ちだけがなれる→ http://donguri.5ch.net
・「専ブラでハンター」は専ブラの対応待ち
・まだテスト中、とりあえず入れてレベル上げておけ

■どんぐりシステムはたぶんこうなる(のかな?)!(現在プロトタイプ絶賛開発中)
・普段は今までと同じ5ch。どんぐりは何も影響しない。
・連投荒らしとかが出没した板は自動的に「どんぐりモード」に移行する
・どんぐりモードで稼働している板では
 ・どんぐり持ってないと書き込みできない
 ・どんぐりのレベルによって書き込み間隔や書き込み容量が制限される
 ・ハンターがどんぐりを狩れる(レベルダウン? どんぐり抹消? HP制? 即死制?)

情報はクッキーで管理されている。初回書き込むとどんぐり初期化メッセージとともに

acorn=(英数字の羅列、めっちゃ長い); expires=Sun, 14-Apr-2024 00:00:00 GMT; path=/; domain=.5ch.net

みたいなクッキーが送られてくる。

以降は、これを書き込み時に送り返せばいいはず

Accept-Encodingの変更?

cloudflare内での鯖移転の話があったけど
それがきっかけみたい

htmlとかをネットワーク上で泳がせる時に転送量を減らすために圧縮して送ります
でV2C側からどんな形式で圧縮してくれれば受け取れますって情報を送るんだけど
V2Cからはgzipやdeflateやbrって形式なら受け取れます
(この3つにしたのはかなり以前の書き込み対応の修正でfirefoxからそのままコピペしただけ)

以前の鯖はgzipって圧縮形式を優先で出してたんだけど
今度の鯖はbrって圧縮形式を優先で返すみたい

B11はgzipなら解凍できるんだけどdeflateやbrは解凍できないので
br圧縮で送られてきた情報を平文に戻せなくて文字化けが起きたって感じ
(bbsmenuもread.cgiでのDat取得も)

ようは自分で解凍できない圧縮形式でもOKだよ前から言ってて
cloudflareの鯖移転前はgzip圧縮だったから問題が起きなかったけど
移転後はbr圧縮が送られたきたもんで解凍できなくて撃沈しました

要確認の予感

Xenoで途中まで取得してdat落ちしたスレの変換がきかない?

途中まで取得したスレのdat落ちの判定がなんかおかしい気がする

1000まで行っていないスレを読み込む
1000まで行った後にだいたいdat落ちするまで待つ
開いているスレの新着をチェックする
串側で以下のエラーが出てxeno側は「誰もカキコしてない・・・」とステータスバーに表示される
https://i.imgur.com/HvI8KUI.png
https://i.imgur.com/9n92ZLd.png

UA別プリセットの検討

基本構想

preset.yamlのようなファイルを導入して、ここにUA別にプリセットを書いておいて読み込ませて使用するようにするとする。

- style
  - UA : Monazilla/1.00 JaneStyle/4.23 Windows/10.0.19044
  - Appkey : ****
  - HMkey : ****
  - PostFiledOrder : submit&FROM&mail&MESSAGE&bbs&key&time
  - ThreadPostFieldOrder : submit&FROM&mail&MESSAGE&bbs&key&time
  - NonceType : Sec
  - RefererType : Board
  - KeepAlive : false
- mate
  - ...

みたいな構文を想定。

BoardSettings.yamlの各設定には新しいPresetのようなプロパティを追加して、これによって板毎に参照するUA設定を制御する。

  • メリット
    • 板毎設定とUA/キー関連設定を分離できる
    • プロファイル的な使い方に拡張可能
  • デメリット
    • 設定ファイルが増える
    • 書き込み関連設定のほとんどがUIから制御できなくなる
      • UIの設定は読み込みに関するもの、という分離にはなる・・・?
    • UIと設定項目の重複がある
    • 設定変更に再起動が必要

検討項目

  • 使用するプリセットの選択について(いくつか実装が考えられる
    1. 書き込みUAとプリセット名のマッチングをとって、使用するプリセットを自動選択する
    2. 書き込みUAは無視してBoardSettings.yamlで使用するプリセットを指定する
    • UIから指定できるようにするとして、板毎設定の共通設定との関係をどうするか?
    1. 1と2を両立する
      • 共通設定の扱いはどうするか?
  • プリセットに必要なプロパティ
  • YamlDotNetは列挙値をデシリアライズできるのか?
    • 普通にできた
  • 各プリセット毎のmonakeyをどこに保存するか?
    • yamlは読み込み専用にしたい気持ちがある
    • settings.xmlに1つの文字列にして保存
  • 板別設定の共通設定の扱い
    • 全て無視されるようになるため、必要なくなる
    • プリセットが存在しない時のフォールバック先にする?
  • UI上の設定との優先度付けなど
    • 書き込みUAの扱いをどうするか
      • プリセットが無い場合と旧書き込み方式でのみ使用される
  • 実装時の優先順位
    • 指定されたプリセットを常に使用する
    • 板別設定はプリセット指定とUAのみを上書きする
    • プリセットが無い場合に、旧(現在の)書き込み設定を使用
    • 旧書き込み方式では旧(現在の)の設定を使用
  • 現在の設定項目の後方互換性について
    • 少なくともエラーにならないようにする必要がある
    • プリセットが無い場合にのみ既存設定を使用する

関連

#2 #6

ご意見等ありましたらご自由にどうぞ

書き込み仕様変更について

X-PostNonce: 現在のunix時間
X-MonaKey: 書き込み確認画面のレスポンスヘッダにある
X-PostSig: リクエストボディとかのハッシュ?

一番最初の書き込みは
X-MonaKey: 00000000-0000-0000-0000-000000000000
で投げて
書き込み確認のレスポンスが帰ってくるからそのヘッダにある
X-MonaKey: ???
を使って改めて書き込み
そしてX-MonaKeyを保持して次からの書き込みに使い回す
X-MonaKeyの寿命は604800秒(一週間)
荒らすとそのX-MonaKeyがBANされて書き込み不可に
ってとこか
X-PostSigの算出が分かれば解決しそう
APIってより書き込みの際のbbs.cgiのヘッダを変えただけかな
webブラウザからはどうするんだろ

XP対応終了の検討

5ch APIがTLS1.2を要求するようになって、XP環境で使用できなくなっている(らしい?

2chapiproxy使ってるけど、起動するとログにセッションIDの取得に失敗しましたとあって、スレを
読み込もうとするとdatの取得に失敗しましたと出る
もう半年くらい何も設定弄ってないんだけど、5ch側でなにかやったんだろうな

まったく同じ症状と設定だな

>起動するとログにセッションIDの取得に失敗しました
やっぱこれか~、APIの新作でも駄目ぽいねぇ

TLS1.1が切られてXPが弾かれてるなら串で対応はめんどくさそうだな

SSL1.1系切られたのが原因なんだからAPIスレ云々しても意味ないでしょ

パッチ当てて
チェックサイトでIEから5ch.netにTLS1.2で通信できるのを確認して
8.1で動いてる環境を戻してもダメだった

うちも昨日からSSLエラー401で使用不可になった
一覧から開いても「認証されていません」でスレが読み込めない
あと「セキュリティで保護された接続の確率に失敗しました」で一覧の更新すらできな板も複数ある
どう対処すればのだろう?

Detourなら専スレで情報上がってる
WinSockがどうたらとかSSLを使うとダメとかあるらしい

proxy2chのパッケージに同梱されてるdllで特に問題なく動いてるけどな
API使った読み書き・read.cgi経由の読み込みいずれも問題なし@win10 22H2
同梱のcurlはWinSSL依存で配布curlはだいたいOpenSSL依存だから
dll置き換えたら行けるとすればWIndowsが古くてTLSが安全な暗号スイートに非対応とかそれ系の問題じゃない

SChannel/WinSSLで5ch.netにTLS接続ができない環境があるという件
調べてみるとプロトコルバージョンの問題でも暗号強度の問題でもなく
Client HelloのextensionでSNI対応宣言をしてないのが原因だな
OpenSSL等にしないとどうにもならないのはたぶんXP以下だけ

多分対応無理なので、完全に動かなくなったのであればXPを考慮しないことにするかな・・・

dat直アクセスへの対応

  • dat落ち時過去ログ変換
  • dat取得時リンク置換
  • dat取得時©マークの置換
    • これって現存してる? -> してた

要望とか

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

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

新形式のHTMLへの対応検討

2023/06/14早朝ごろから?

https://egg.5ch.net/test/read.cgi/software/1683972382/だとモダンなページが表示され
https://egg.5ch.net/test/read.cgi/c/software/1683972382/だと従来のページが表示される

現状はとりあえずHTML取得時に下のURLに切り替えて対処しているが、いつまで従来のページがサポートされるか不明なこととすべての板がこの形式に移行しているか(すべてのスレURLで下の形式が有効か)わからないため新しい形式への対応が必要

  • pinkはまだの様子(23/06/18)
  • 過去ログ倉庫に入ってるようなスレは古いまま表示される

JaneViewで更新のないスレの更新確認時に416が返る?

(・∀・)ソンナニナガクナイッテ HTTP/1.1 416 Requested range not satisfiable

特に問題は無いんだけど、読み込みの終わった新着レスの無いスレを読み込むと
JaneViewのログに上のエラーが出てる
書き込みはできないけど2chapixyだとこのエラーは出ない

俺もViewでそのエラー出てるけど実害無いので放ってたわ。
どのスレでも読み込みしてレスが無かった場合に出るね。

うちのviewも新着チェックして新着レスがないスレはどの板のスレでも416エラー出てるな
だから何か困るってわけでもないんだけど

今回の件で2chapixyから2chAPIProxyにしたので
元から2chAPIProxyではそうなのか、新環境によるおま環なのかは分からん

httpsを有効にすると板一覧が取得できなくなる?

色々試してたけど「2chへのアクセスにhttpsを利用する」にチェック入れてるとコネクションエラー出てスレ一覧更新出来なくなった(既に開いてるスレ単体は更新出来る)
おま環かもしれんけど他人の設定丸コピはいかんね不具合出ても原因分からん

TLSにするとスレ欄読み込まない理由は多分Sikiとかだとsubject.txtじゃなくてmodifyなんとかっていうファイルを取得するようになってるのが原因かもしれん

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.