rep2 part72

1名無しさん@お腹いっぱい。
垢版 |
2025/03/02(日) 09:21:06.16ID:CUiO5x2V0
※■公式p2はこのスレでは扱っていません■※

ブラウザから 2ちゃんねる、まちBBS、JBBS@したらばBBS 等の
掲示板を快適に閲覧するためのPHPスクリプトです。
Mac OS X、UNIX、Linux、Windows などで動くマルチプラットフォーム設計。
ソースは公開されています。

※このスクリプトを動作させるためには、サーバを動かしてPHPを走らせる必要があります。
※荒れる元なのでレンタル鯖やVPSにp2を設置する話題はしない&スルーしてください。
※不具合は怒らず煽らず落ち着いて報告しましょう。

■公式ページ
rep2 expack 全部入り for PHP 8.x by (´・ω・) ス
https://github.com/mikoim/p2-php/
rep2 expack 全部入り by open774
https://github.com/open774/p2-php
p2 - PHPでつくった2ch Viewer
http://akid.s17.xrea.com/
p2Wiki
http://akid.s17.xrea.com/p2puki/

■前スレ
rep2 part71
http://egg.5ch.net/test/read.cgi/software/1710391399/
2025/03/28(金) 15:22:37.30ID:z/MKOOjw0
ほんとだ落ちてるな

>>68
PEARの問題はどうするの?
解決できないから誰もやりたがらないと思ってたが
2025/03/28(金) 15:39:09.70ID:2RAkzq8K0
根本はメンテされてないクッソ古いライブラリに依存してるのが問題だよね?
2025/03/28(金) 21:44:21.64ID:TD0gKQmX0
>>73
クッソ古いなら更新される見込みないし、同梱すればいいんじゃね?
2025/03/29(土) 10:48:30.68ID:lvPCVhvD0
>>71
復帰したよ
2025/03/29(土) 15:41:55.06ID:E/PLDzp10
闔会スョ隲??ウ郢晄ァュ縺咏ケ晢スウ邵コ?ァubuntu24.04陷茨ス・郢ァ蠕娯?サ隴?隴?スー邵コ?ョcomposer邵コ?ァ隶堤距?ッ蟲ィ??邵コ?ヲ邵コ?ソ邵コ貅倪裸
2025/03/29(土) 15:54:12.13ID:E/PLDzp10
>>68だけどmikoim版をcloneして最新のcomposerでエラーなく依存ライブラリを
集められるようなjsonにはしてみた
適当な素人仕事ですまんが
https://pastebin.com/PkZhSU5s

書いてみたら>>76のように化けたし、HTTP_Request2のパッチだけじゃだめだな
他にもいろいろパッチが必要だから誰かまとめて
2025/03/29(土) 17:41:53.63ID:E/PLDzp10
前スレに残ってたのを集めた

ログイン関係
https://pastebin.com/4wnyTXf0

文字化け
https://pastebin.com/aYBAWC3X

http_request2
https://pastebin.com/vZ71USTf
79名無しさん@お腹いっぱい。
垢版 |
2025/03/30(日) 10:23:08.29ID:NbHsfpaZ0
>>78
この文字化け対策知らなかったわ
サンクス
2025/03/31(月) 16:16:57.07ID:7Oi9mZSd0
どんぐりシステムを組み込み始めて、とりあえずrep2のログイン管理のところにログインUIつけてログイン認証も成功し、
書き込みの●の横にどんぐりのチェックボックス付けてdangoを送るようにするところまできたんですが、
実際にはこのログインしたどんぐりが反映されないんですよね
どんぐりの書き込み時の認証の仕組みってどこかに書いてます?
2025/04/01(火) 08:43:26.95ID:eadzHJ7s0
今のところブラウザで作ったどんぐりアカウント(UPLIFT連携)とは別なアカウントになってしまうけれど、
Cookieの有効期限切れにはならないようにはなったかもしれない?
2025/04/01(火) 08:44:13.54ID:eadzHJ7s0
どんぐりチェックつけずに投稿
2025/04/02(水) 22:25:40.36ID:RRVIcebg0
rep2のクッキー処理ってどうなってるかわかる方います?
2025/04/02(水) 22:27:45.15ID:kpia/Kkd0
SQLiteで管理されてる
2025/04/02(水) 22:44:22.17ID:RRVIcebg0
なるほど…
じゃあどんぐり関連弄るにはSQLite周りをいじらなきゃいけないのかー
2025/04/03(木) 08:53:09.53ID:BIa3uMpN0
phpinfoだとcURL、OpenSSLが有効になってるのに、5chログイン時にエラーになる。
原因がわかるエスパーの方いますか?
2025/04/03(木) 09:10:32.30ID:fDobFX2P0
MonaTicket壊れる対策ないかなあ
日に5~6回cookie消すの面倒
2025/04/03(木) 09:56:16.11ID:9afakG7T0
何で壊れるんだ?UA変える以外に壊れることある?
「削除してください」ってメッセージ出すときに、
MonaTicket を期限切れにして返してこいって話だが、
rep2側で強制的に削除してもいいかな
2025/04/03(木) 12:07:39.49ID:F9E8WlcG0
rep2側でどのブラウザからアクセスしても同じUAを返すようにすればいいと思うけど
今ってUA設定できるの●ログイン周りだけだよね
2025/04/03(木) 21:17:42.16ID:92zRlK+o0
UAは昔のp2規制時にいじってそのままだな
91名無しさん@お腹いっぱい。
垢版 |
2025/04/04(金) 12:13:20.01ID:QCX8Q0Ry0
クッキー承諾画面でacron取得できなくなちゃったな
こまった
2025/04/04(金) 12:45:17.98ID:PvreAws20
imgurあぼーんしてる人は見えないかもしれないけど、
どんぐりログイン(でacorn取得)と書き込み時にどんぐり使う(でMonaChiket取得)改変まではできた

ttps://i.imgur.com/G9fpndn.png
ttps://i.imgur.com/nv6PTzC.png

ただ、●のsid送信見てもCookie処理が見つけられなくてわかってなかったので、
ここからこれをCookieに反映させる処理に入る
2025/04/04(金) 15:26:52.49ID:PvreAws20
>>91
投稿時刻がおかしいとかいうエラーで書き込めないけど関係してる?
>>92の通り、ログイン認証ではacorn取得できてるから、これをCookieにセットして書き込む仕組みまで作ればいけそう
ただ、Cookie処理がまだ見つけられずにいる
lib/P2KeyValueStore.phpは値を保存したり取得したりしてるだけっぽいし
2025/04/04(金) 15:56:27.87ID:VDNVyMd/0
投稿時間がおかしいのエラーはたぶん5ch鯖側の問題で解決してると思う

俺はハンター垢で書きたいときと警備員垢で書きたいときとがあるから
前に出てた外部コマンドでクッキー書き換えるやつをいじって使ってる
今のところそれで十分だ
95名無しさん@お腹いっぱい。
垢版 |
2025/04/04(金) 21:49:52.43ID:bLpECELU0
ERROR: 投稿時刻がおかしいです。時計が狂っていませんか?(Diff:-33049)
2025/04/04(金) 22:09:05.49ID:VDNVyMd/0
>>95
治ってなかった
何度か時刻おかしいエラーでたから●外して書いたら書けたけど
その次●つけたらUPLIFT連投エラーになった
2025/04/04(金) 23:13:15.61ID:9Y/0tI3W0
Webブラウザで直接書き込むと時刻があってないエラーは出ないからrep2がからんでる気はするが…
2025/04/04(金) 23:48:00.41ID:ZfAiIACt0
俺のところでもダイレクトだとエラーにならんな
rep2の環境はいじってないしネットワーク絡みの問題の気がする
2025/04/04(金) 23:51:35.27ID:9Y/0tI3W0
きょうの0時ごろに5chでサイレント仕様変更入ってrep2側が対応できてないとか
2025/04/05(土) 00:35:43.65ID:Qt1Z1zO70
5ch側でなにか変えたっぽいね
https://agree.5ch.net/test/read.cgi/operate/1743695918/
2025/04/05(土) 01:52:58.55ID:TKDpX8ad0
>>93>>94
http://agree.5ch.net/test/read.cgi/operate/1743695918/33
投稿時刻エラーの原因はこれだけど、rep2 の場合は、うちのでは、
lib/post_form_options.inc.php の $fake_time 辺りで、
わざと過去の時刻をセットしてるから、
$time を現在時刻(の数秒前くらい)になるようにする必要があるかと
2025/04/05(土) 02:02:11.56ID:TKDpX8ad0
書き込み直前に現在時刻をセットし直した方が、リロード不要でいいか
2025/04/05(土) 07:49:19.56ID:jaLwqa0f0
なるほどなおった
104sage
垢版 |
2025/04/05(土) 08:41:54.22ID:mWgHpCfq0
どこいじるの?
2025/04/05(土) 08:48:22.99ID:0Zfmdg9P0
$time = time() - 5; ってやったら書けたわ。
2025/04/05(土) 09:25:54.22ID:Qt1Z1zO70
>>101のファイルの先頭のほう
#$fake_time = -10; // time を10分前に偽装
#$time = time() - 9*60*60;
#$time = $time + $fake_time * 60;
ってなってるのを単純に
$time = time();
にするのね
これはそれで書いてる

他のスレは書けたけどこのスレはToo many requestsになるわ
2025/04/05(土) 09:48:06.67ID:BzsVJzZK0
てす㌧
2025/04/05(土) 10:04:57.71ID:Qt1Z1zO70
あとはリロードしなくてもいいようにpost時に最新時刻にできればいいが…
2025/04/05(土) 10:40:27.92ID:9F4zG4dT0
>>106
やってみた
書けるかな
2025/04/05(土) 10:46:11.97ID:8rku5F+W0
そもそもなんで偽装してたんだ?
2025/04/05(土) 11:21:14.63ID:g/sCV25z0
いけるか?
2025/04/05(土) 11:59:19.62ID:9F4zG4dT0
>>106 で時刻エラーで書けなくなっていた板全部書けるようになった
感謝
2025/04/05(土) 12:09:55.39ID:Tt2MLvRe0
書けるかな
2025/04/05(土) 13:00:46.48ID:H2Txos7P0
この板のテストスレは書けたけれどこのスレは
2025/04/05(土) 14:43:14.92ID:Qt1Z1zO70
スレ開いてから3分以内に書かないといかんぞ
2025/04/05(土) 15:59:36.33ID:jaLwqa0f0
スレとか板によって時間おかしいが出るなあ
2025/04/05(土) 16:32:53.98ID:0Zfmdg9P0
>>116
>>115じゃないの?
2025/04/05(土) 18:19:02.75ID:0Zfmdg9P0
>>92
ほしい・・・
2025/04/05(土) 19:56:42.54ID:Qt1Z1zO70
>>110
完全に予想ではあるが、未来の時刻だと蹴られるのは前からだから
タイムゾーンの設定を間違えても大丈夫なように9時間遅らせて
さらにrep2鯖の時計がずれてても蹴られないようにさらに10分遅らせてるとかだったり
2025/04/05(土) 21:01:43.70ID:H2Txos7P0
三分経過後
2025/04/06(日) 09:11:30.22ID:uKLRUcEn0
こういった意図のわからんコードもいろいろあるから
大々的に手を入れづらいんだよねえ
2025/04/06(日) 09:52:34.14ID:71SD2/4g0
あとはpost時に時間を書き換えることができるか…(書き込む直前のリロードの手間をなくす)
2025/04/06(日) 18:24:25.49ID:6MOWijZy0
--- a/rep2/post.php
+++ b/rep2/post.php
@@ -121,6 +121,11 @@
+if (!empty($_POST['p2_post_confirm_cookie']) && isset($_POST['time'])) {
+ $time = $_POST['time'];
+} else {
+ $time = time();
+}

--- a/lib/post_form.inc.php
+++ b/lib/post_form.inc.php
@@ -134,7 +134,6 @@
-<input type="hidden" name="time" value="{$time}">

としてみたけど書けるかな?
2025/04/06(日) 18:25:56.33ID:6MOWijZy0
いけたのでこれで多分リロードしなくても行けるね
書き込み時に
・Cookie確認画面がなければ、現在時刻取得して送信
・Cookie確認画面が出た場合は、最初の投稿時刻を送信
してる
12592
垢版 |
2025/04/06(日) 18:33:56.38ID:6MOWijZy0
>>118
書き込み時刻周りの対応を先にやってた
これから少しずつCookie周りを弄ってみるのでもうしばらく待って
2025/04/06(日) 19:10:19.68ID:71SD2/4g0
>>123を反映して、3分以上待って書いてみた
2025/04/06(日) 19:22:31.73ID:71SD2/4g0
>>123のpost_form.inc.php inputは消しちゃいかん気がするが…
12892
垢版 |
2025/04/06(日) 19:39:49.57ID:6MOWijZy0
>>127
post_form.inc.phpのinputはフォーム表示時の時刻を入れてるだけで結局使わないし、
post.phpの方で新たな時刻取得してPOST送信してて、その値をCookie Confirmation画面でもinput hiddenで保持してるから大丈夫
むしろ残すともとの$fake_timeもinputに入って送られてしまう
$fake_timeのところをコメントアウトするのとinputを消すのはほとんど同義
2025/04/06(日) 19:41:38.54ID:71SD2/4g0
あれそうなん?
消したら「フォーム情報が不正です」って怒られたんだが
13092
垢版 |
2025/04/06(日) 19:53:34.91ID:6MOWijZy0
うちのは削除して問題なく動いているな・・・
残すなら$fake_time周りは消しておいた方が安全かもしれない
2025/04/06(日) 19:59:31.35ID:81EQAqNU0
>>123
公開はありがたいが、修正部分の前後数行は見せてくれないと修正箇所が間違ってないか不安。
13292
垢版 |
2025/04/06(日) 20:21:08.05ID:6MOWijZy0
>>131
すまんね、開発環境がごちゃごちゃしてて、
どんぐりログインで変更加えてるやつにそのまま追記しちゃったから前後に関係ないの入ったり行数違ったりするのやだなって


post.php
--
// submit は書き込むで固定してしまう(Beで書き込むの場合もあるため)
$submit = '書き込む';

+if (!empty($_POST['p2_post_confirm_cookie']) && isset($_POST['time'])) {
+ $time = $_POST['time']; // 再送時は前回のものを使う
+} else {
+ $time = time(); // 初回送信時はUNIXタイムスタンプで現在時刻
+}

$post = array_combine($post_send_keys, compact($post_param_keys));
--

post_form.inc.php
--
<input type="hidden" name="bbs" value="{$bbs}">
<input type="hidden" name="key" value="{$key}">
- <input type="hidden" name="time" value="{$time}">

<input type="hidden" name="host" value="{$host}">
--
2025/04/06(日) 21:08:25.52ID:81EQAqNU0
>>132
感謝!
2025/04/06(日) 21:32:22.47ID:rKmi7mS40
すばらしい
2025/04/06(日) 22:31:36.13ID:6MOWijZy0
できたかな?

どんぐりチェックON(アカウントによっては●チェックも入れる必要ある?)
→この書き込みのようにUPLIFT付きどんぐりで書き込み
どんぐりチェックOFF
→明示的にはacornを送信しない(匿名の警備員垢で書き込み)
2025/04/06(日) 22:31:52.88ID:6MOWijZy0
どんぐりチェック外したらこんな感じ
13792
垢版 |
2025/04/06(日) 23:04:55.56ID:6MOWijZy0
概ねできたけどCookie Confirmation周りでまだ不具合あるな
あとはまた明日以降
2025/04/07(月) 00:16:01.52ID:9x9cufm70
なんかまだいじってるな
一瞬書き込みできなくなった
2025/04/07(月) 08:55:46.19ID:Yd5k2vvR0
MonaTicketのエラーってUA変わると出るらしいが
rep2のUAってどこで変えるんだっけ
2025/04/07(月) 22:14:41.48ID:dGCcsA2A0
>>132
やってみたどうだ?
2025/04/07(月) 22:14:56.55ID:dGCcsA2A0
できた!ありがとう!
2025/04/08(火) 17:09:47.04ID:v3hWMn1/0
proxy2chにもタイムスタンプ調整が盛り込まれたな
2025/04/08(火) 17:25:55.42ID:tOP+6dF+0
×盛り込まれたな
○ 盛り込まれているな
2025/04/17(木) 09:11:05.88ID:vrG4+dWe0
>>132
GJ!!
2025/04/17(木) 14:45:28.33ID:yFuhPsjj0
Too many requestにならなくなったな
2025/04/17(木) 18:17:38.52ID:vrG4+dWe0
proxy使わないと400エラー出る
2025/04/18(金) 12:45:33.78ID:9dpAfeCo0
Ubuntuをアプデというかphp8.4にしたらスレ一覧、スレの内容が表示されなくなった
戻すのめんどくせえしどうすっかな
2025/04/18(金) 13:05:35.33ID:eWPFmsXc0
webサーバーのerror.logにphpのエラーが並んでるんじゃないかな
2025/04/18(金) 13:23:12.30ID:9dpAfeCo0
警告は元からたくさん出てるがエラーはなさそう
display_errors = Onにしないと分からんかも
明日時間がある時に見るか
どっちにしろコードいじらんと直らん
つうかもう使うのやめるか
騙し騙しでやってきたが疲れた
150名無しさん@お腹いっぱい。
垢版 |
2025/04/18(金) 14:31:07.13ID:bnUCzhL30
chatGPTにソース読ませて8.4に対応しておけ
と言えば桶
2025/04/18(金) 14:40:13.31ID:h45MsuPA0
rep2はファイル数が多すぎてPro契約でもメモリエラー起こして解析しきれない
152名無しさん@お腹いっぱい。
垢版 |
2025/04/18(金) 14:42:19.61ID:bnUCzhL30
githubのURL渡せば解析してくれるぞい
2025/04/18(金) 16:12:13.92ID:eWPFmsXc0
ちょっと前に自分のやつを更新したときにちゃんと表示されなかったのは、
ロケールか何かにかかる警告が出てて、ブラウザ側にcontent-typeヘッダより
前にこれが渡ってたみたいなやつで、php.iniをいじったか何かした記憶がある
2025/04/18(金) 16:21:54.06ID:9dpAfeCo0
pear/Net_URL2が古かったようだ
php scripts/p2cmd.php update
したら直ったわ
これで書き込めてる
2025/04/18(金) 17:18:49.70ID:B3CNNLnx0
PHPじゃなくてPCRE2のバージョンアップで動かなくなったやつだね
正規表現中のメタ文字で¥x00を¥xと省略しても通ってたのが通らなくなった
2025/04/18(金) 18:35:43.62ID:9dpAfeCo0
php9になったらこんなもんじゃ済まなさそうだ
未定義変数のオンパレードだから
2025/04/19(土) 07:36:35.66ID:BQ8pB/IK0
たまに出る
ERROR: Cookie の内容が壊れていますのでいったん削除してください。[Delete Cookie, "MonaTicket"]
ってのもどうにかならないか?
158名無しさん@お腹いっぱい。
垢版 |
2025/04/19(土) 09:50:47.48ID:yVJXL3rX0
sikiって専ブラを試しに使ってみたら
未読まとめ読みできないからめんどくさいな
いちいちスレタブをクリックして更新しないといけない
やっぱrep2がいい・・・
2025/04/19(土) 10:46:14.55ID:QfSPSJ910
>>157
「削除してください」って言うなら、有効期限切れのクッキー返してこいって話だが、
rep2 側で対処するなら、post.php の PostIt() 内で書き込み後、
Cookieを取得してるから、その後くらいで、こうでもしとけば良くないかな

if ($response->getHeader('X-Chx-Error') == "E3000 Delete your cookie.;") {
$p2cookies['expires'] = time() - 60;
}

同じサイトのクッキー全部消えるけど、まあいいか
ちゃんとするならクッキーごとに expires を処理する修正も必要だな
$cookie_key に UA を含めるかして、UA ごとに MonaTicket を保存した方がいいのか?
どんぐりは UA 別でもいいのか、UA 変わっても同じクッキー使った方がいいのか
2025/04/19(土) 11:36:12.57ID:fvmKzbfJ0
Sikiはcode-serverみたいに鯖で動かせればrep2の代替になりそうだなと思ったことはある
2025/04/20(日) 16:50:56.89ID:cnLjdy960
一瞬5ch落ちてたな
2025/04/22(火) 19:45:38.53ID:MFc2QxcX0
また落ちた
2025/04/26(土) 19:41:23.34ID:lk1msGMH0
今更って感じだけど今までデータをHDDに置いてたんだけど
SSDに置いたら爆速になった
2025/04/26(土) 21:54:10.32ID:CEoR6m7E0
Diskの速さは体感に大きく影響するからな
CPUが速くてもDiskの回転数が遅かったらもっさり感がある
2025/04/26(土) 22:14:58.47ID:UV0YaGpe0
JIT有効にしてHTTP/3にするともっと速くなるよ
2025/04/28(月) 09:09:18.04ID:mCnsk0mt0
やって公開してくれ
2025/04/28(月) 09:23:39.11ID:WbRhaoUs0
ここ最近の修正・更新分を全部あてたforkをだれか作ってくれんかな。
環境変わるたびにスレ読み直して充てるのめんどい。
2025/04/28(月) 09:58:38.73ID:8EX54L570
スレ読み直して充てるときにやっといてくれよー
2025/04/28(月) 11:42:51.65ID:6K/fjveo0
自分用のレポジトリ作って差分取ればよいだけでは。。。
2025/04/28(月) 20:54:20.93ID:XyjrXwOS0
できる人たのむ
2025/04/29(火) 10:46:22.65ID:JDUUWS/A0
PCからとスマホからでUAが変わるとMonaTicket破損扱いになるようになったな
これはもうめんどくさすぎるからrep2のUA固定する設定つけなきゃダメぽい
レスを投稿する

16歳の水野カイトが封印の刀を見つけ、時間が裂けて黒い風と亡霊の侍が現れ、霊の時雨と契約して呪われた刀の継承者となる場面

ニューススポーツなんでも実況