※■公式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/
rep2 part72
1名無しさん@お腹いっぱい。
2025/03/02(日) 09:21:06.16ID:CUiO5x2V02026/01/17(土) 13:21:05.35ID:kP7Mhnkw0
429 は文字通りアクセス多すぎで IP が規制されてる
テスト投稿とか頻繁にしてるうちに引っかかったのでは?
テストなら 429 に引っかかってない他の板ですればいいと思うが
429 と SSL 対応は別問題だから分けて考える
2ch_ssl.postをしないにすると書き込みが終わりましたと出るのは rep2 の誤判定
現状書き込みに SSL は必須
一時書けるようになったのなら、429 に引っかかってなければ書けるのでは?
テスト投稿とか頻繁にしてるうちに引っかかったのでは?
テストなら 429 に引っかかってない他の板ですればいいと思うが
429 と SSL 対応は別問題だから分けて考える
2ch_ssl.postをしないにすると書き込みが終わりましたと出るのは rep2 の誤判定
現状書き込みに SSL は必須
一時書けるようになったのなら、429 に引っかかってなければ書けるのでは?
2026/01/17(土) 14:13:07.47ID:StL1t9R/0
串スレでは昔から話題になってるけど
429はhttpsなアドレスでbbs.cgiにPOSTしてるのにhttpなリファラを送ってるとよく出る
だから別問題ではない
それ以外にも出る条件はあるんだろうけど
429はhttpsなアドレスでbbs.cgiにPOSTしてるのにhttpなリファラを送ってるとよく出る
だから別問題ではない
それ以外にも出る条件はあるんだろうけど
2026/01/17(土) 14:42:03.53ID:kP7Mhnkw0
その説は見たことあるけど、再現しないんだよな
「よく出る」ということは、必ず出るわけではないということだから、
リファラが原因なのではなくて、POST しすぎてよく出てるだけなんじゃないかな
「よく出る」ということは、必ず出るわけではないということだから、
リファラが原因なのではなくて、POST しすぎてよく出てるだけなんじゃないかな
2026/01/17(土) 14:51:00.31ID:StL1t9R/0
リファラ不一致で429が出るかは板による (鯖単位かもしれんけど)
今news4vipでわざとhttpにして試したら一発で429行きされたので再現性はある
今news4vipでわざとhttpにして試したら一発で429行きされたので再現性はある
2026/01/17(土) 15:22:16.80ID:kP7Mhnkw0
なるほど VIP だと再現するな、こちらでも確認できた
rep2 は mikoim 版は問題なさそう(pink の除外は必要?)
open774 版は http 決め打ちだから修正しといた方がよさそう
https://github.com/mikoim/p2-php/blob/php8-merge/rep2/post.php
> 427: if (P2HostMgr::isHost2chs($host) && !P2HostMgr::isHostBbsPink($host) && $_conf['2ch_ssl.post']) {
https://github.com/open774/p2-php/blob/master/rep2/post.php
> 402: $req->setHeader('Referer', "http://{$host}/{$bbs}/{$key}/");
rep2 は mikoim 版は問題なさそう(pink の除外は必要?)
open774 版は http 決め打ちだから修正しといた方がよさそう
https://github.com/mikoim/p2-php/blob/php8-merge/rep2/post.php
> 427: if (P2HostMgr::isHost2chs($host) && !P2HostMgr::isHostBbsPink($host) && $_conf['2ch_ssl.post']) {
https://github.com/open774/p2-php/blob/master/rep2/post.php
> 402: $req->setHeader('Referer', "http://{$host}/{$bbs}/{$key}/");
2026/01/17(土) 16:03:34.39ID:uleCl64H0
だから串使えばいいのに
2026/01/18(日) 00:32:30.10ID:WRfsA81X0
pengo/rep2:px2cのproxy2ch経由だとReturned status code 503 to clientなのは何らかのオプション足りてない?proxy2chが古すぎる?
PX2C_ACCEPT_CONNECT: 1
PX2C_FORCE_HTTPS: 1
PX2C_DIRECT_DAT: 1
PX2C_CHUNKED: 1
の
20220522 with curl 7.80.0 (TLS/SSL backend: OpenSSL/1.1.1o)でだめだった。
PX2C_ACCEPT_CONNECT: 1
PX2C_FORCE_HTTPS: 1
PX2C_DIRECT_DAT: 1
PX2C_CHUNKED: 1
の
20220522 with curl 7.80.0 (TLS/SSL backend: OpenSSL/1.1.1o)でだめだった。
2026/01/18(日) 01:06:04.93ID:WoHGpGAi0
20220522って山下の乱より前のバージョンだよ
PX2C_DIRECT_DATって--direct-dat相当だとしてそんなオプションはまだ実装されてないし
read.cgiの出力も変わってるから動作しようがないよ
PX2C_DIRECT_DATって--direct-dat相当だとしてそんなオプションはまだ実装されてないし
read.cgiの出力も変わってるから動作しようがないよ
2026/01/18(日) 01:15:15.79ID:qafK3Iwj0
Dockerなんてメンテしなくなったら終わりだよ
ちゃんと本質を理解して使った方がいいぞ
ちゃんと本質を理解して使った方がいいぞ
2026/01/18(日) 02:12:14.72ID:WRfsA81X0
はーなるほど。
ビルドし直す必要があるしすれば動く可能性も高そうなんだな。
ありがとう!
ビルドし直す必要があるしすれば動く可能性も高そうなんだな。
ありがとう!
2026/01/18(日) 08:06:51.04ID:Md7OtlMK0
最新版 Version 20230713
今見たらgit404やん
持ってるからいいけど
もう更新されないのそれとも新たなgitリポジトリあるの?
今見たらgit404やん
持ってるからいいけど
もう更新されないのそれとも新たなgitリポジトリあるの?
2026/01/18(日) 08:15:59.64ID:x0PDF1D00
最新版のURL貼ろうとしてもgitのユーザー名NGになってて貼れないんだよ
codeberg.org proxy2ch検索で最新版見つけられる
因みに最新版はVersion 20250614
codeberg.org proxy2ch検索で最新版見つけられる
因みに最新版はVersion 20250614
2026/01/18(日) 08:25:10.42ID:8EkktKZQ0
サンキュー更新した
Version 20250614
安定版
NanashiNoGombe がこれをリリース 7 か月前 | 9件のコミット が、このリリース後 master に追加されています
https接続時の証明書検証をデフォルトで行うように
https接続時の証明書検証を無効にする-kオプションを追加
https接続時の証明書検証に使うPEM形式のCA証明書バンドルのパスを指定する--ca-bundleオプションを追加
MITM機能のバックエンドにwolfSSLとmbedTLSを利用可能に
5chが返すSet-Cookieヘッダの形式が微妙に変わった影響で2ch.netなドメインで接続するクライアントに対して正しいドメイン名のcookieを返せなくなっていた問題を修正
--ca-bundleオプションにはパスを与える代わりに、次の特殊な引数を与えることができます。
--ca-bundle @curl
libcurlのビルド時に決まる既定のCA証明書バンドルのパスを利用します。
--ca-bundle @system
proxy2chのデフォルト動作です。libcurlのビルド時に決まる既定のCA証明書バンドルのパスに加え、可能であればシステムのルート証明書ストアも検索します。システムの証明書ストアが利用可能かはOS・libcurlのバージョン・利用するバックエンドの組み合わせに依存しており、詳しい条件はここを参照してください。
Version 20250614
安定版
NanashiNoGombe がこれをリリース 7 か月前 | 9件のコミット が、このリリース後 master に追加されています
https接続時の証明書検証をデフォルトで行うように
https接続時の証明書検証を無効にする-kオプションを追加
https接続時の証明書検証に使うPEM形式のCA証明書バンドルのパスを指定する--ca-bundleオプションを追加
MITM機能のバックエンドにwolfSSLとmbedTLSを利用可能に
5chが返すSet-Cookieヘッダの形式が微妙に変わった影響で2ch.netなドメインで接続するクライアントに対して正しいドメイン名のcookieを返せなくなっていた問題を修正
--ca-bundleオプションにはパスを与える代わりに、次の特殊な引数を与えることができます。
--ca-bundle @curl
libcurlのビルド時に決まる既定のCA証明書バンドルのパスを利用します。
--ca-bundle @system
proxy2chのデフォルト動作です。libcurlのビルド時に決まる既定のCA証明書バンドルのパスに加え、可能であればシステムのルート証明書ストアも検索します。システムの証明書ストアが利用可能かはOS・libcurlのバージョン・利用するバックエンドの組み合わせに依存しており、詳しい条件はここを参照してください。
2026/01/18(日) 16:37:35.32ID:aRTXt1Ip0
2026/01/23(金) 23:20:49.96ID:nI1h3ltk0
PHP8に対応したmikoim/p2-phpと5chはいつでもhttps接続に対応したma8ma/2chproxy.plをベースにdockerコンテナにした
https://github.com/fukumen/docker-rep2
PHP8.5まで上げた挑戦者向け
proxyありでもなしでも5chでスレ読んでテストスレに書くぐらいは大丈夫そう
https://github.com/fukumen/docker-rep2
PHP8.5まで上げた挑戦者向け
proxyありでもなしでも5chでスレ読んでテストスレに書くぐらいは大丈夫そう
2026/01/24(土) 00:24:24.35ID:GfUyAZGR0
2026/01/24(土) 01:35:11.46ID:55yGdCkE0
情報が助かるけど、Composer 2.9の横のリンクを踏んで泣いた
知らずに自分でjson修正してた
pear/net_urlって使ってないのか
pear/net_useragent_mobileってフォーク先があったのか
pear/dateはどうしてるんだろ、使って無さそうだから自分は消したけど
HTTP_Request2の話も過去にあったみたいね
PHP8関係なく駄目だろうし当然か
自分はGeminiくんが考えてくれたのをrep2側に入れてHTTP_Request2のバグが爆発しないようにした
知らずに自分でjson修正してた
pear/net_urlって使ってないのか
pear/net_useragent_mobileってフォーク先があったのか
pear/dateはどうしてるんだろ、使って無さそうだから自分は消したけど
HTTP_Request2の話も過去にあったみたいね
PHP8関係なく駄目だろうし当然か
自分はGeminiくんが考えてくれたのをrep2側に入れてHTTP_Request2のバグが爆発しないようにした
2026/01/24(土) 04:50:03.20ID:RMzA7uNa0
php8.5でも動くのか
しばらくは安泰だな
しばらくは安泰だな
2026/01/24(土) 06:32:00.93ID:o9CXgBDw0
みなさんおつです
ありがとうございます
ありがとうございます
2026/01/26(月) 03:40:02.35ID:INovGr8q0
>>400
あざす
あざす
2026/01/26(月) 08:41:52.76ID:pLfps8AS0
2026/01/26(月) 13:46:45.38ID:i2/Y+wl50
>>400 を実行してみたけど、読みに行って戻ってこないスレが多いな
ほぼ間違いなく俺環だけど、何が悪いのかを確認する方法すらわからん・・・
ほぼ間違いなく俺環だけど、何が悪いのかを確認する方法すらわからん・・・
2026/01/26(月) 14:24:34.37ID:41CpcShA0
docker logsくらいはやってみろ
2026/01/26(月) 15:13:00.38ID:i2/Y+wl50
ログ見てエラーっぽいところをcopilotに食わせてみたらschema_locationが設定されていないのが原因といわれた
PHPの知識が無いから、なんじゃそりゃ状態
片手間での対応は無理だな
PHPの知識が無いから、なんじゃそりゃ状態
片手間での対応は無理だな
2026/01/26(月) 15:22:14.46ID:Q7vI5A4w0
PHPの知識が無いなら片手間ですらないような
2026/01/26(月) 15:57:49.99ID:pLfps8AS0
>>407
俺も最初そうなったけどphpのメモリを512から1024に変更し1度削除して入れ直したら何とか上手く動いたよ。
俺も最初そうなったけどphpのメモリを512から1024に変更し1度削除して入れ直したら何とか上手く動いたよ。
2026/01/26(月) 17:26:04.87ID:i2/Y+wl50
2026/01/26(月) 21:21:12.07ID:FZ4oe8Su0
memory_limit? 1GBもいるってまじすか?
2026/01/26(月) 22:30:59.59ID:41CpcShA0
俺のところは512Mにしてるな
デフォの128Mじゃ足りんってのはわかるが…
デフォの128Mじゃ足りんってのはわかるが…
2026/01/27(火) 00:22:50.53ID:oTB9kcDZ0
試しに計測してみたら頑張っても20Mぐらいしか使ってくれなかった
ActiveMonaとか使ってないからかな
512Mで足りないってのは何が起きてるんだ・・・
ActiveMonaとか使ってないからかな
512Mで足りないってのは何が起きてるんだ・・・
2026/01/27(火) 11:53:40.06ID:uSFMA4LU0
UBUNTUに入れていますが、dockerだとHTMLの転送が遅いのですが、dockerの仕組み上仕方ないのでしょうか?
25レス表示にしていますが、スレをクリックして表示しおわるまで5秒ほどかかってしまいます。
UBUNTUに直接インストールしているものは1秒もかからない。
25レス表示にしていますが、スレをクリックして表示しおわるまで5秒ほどかかってしまいます。
UBUNTUに直接インストールしているものは1秒もかからない。
2026/01/27(火) 18:02:17.04ID:fOp2vUD20
Claude Codeとかで全部書き直すのとか難しいのかな、よく分からないけど
2026/01/27(火) 19:40:33.86ID:oTB9kcDZ0
1秒未満なのがDockerのせいで5秒になるってことはない
遅くても動いてるなら何かのタイムアウトかなあ
400のやつならproxyありなし変えてみるとか
400のやつのrep2単体で入れたときに問題ないか
IPv6ありなら殺してみるとか
遅くても動いてるなら何かのタイムアウトかなあ
400のやつならproxyありなし変えてみるとか
400のやつのrep2単体で入れたときに問題ないか
IPv6ありなら殺してみるとか
2026/01/27(火) 19:53:55.08ID:oTB9kcDZ0
5秒だとIPv6で繋ごうとしてタイムアウトしてやっぱりIPv4で接続のパターンな気がする
2026/01/27(火) 20:12:08.09ID:oTB9kcDZ0
docker compose exec rep2php8 ip -6 r
をやってみてdefaultが出るようだとそれが怪しい気がする
/etc/dockerに何か用意しているならenable_ipv6: trueにしてあるなら消してみるとか
をやってみてdefaultが出るようだとそれが怪しい気がする
/etc/dockerに何か用意しているならenable_ipv6: trueにしてあるなら消してみるとか
2026/01/28(水) 09:10:29.86ID:U6+AkppU0
アドバイスありがとうございます。
外からのアクセスはTailscale経由で行っていたのですが、これがダメだったようで、自宅の別PCからなら問題なくアクセスできました。
ipv6も教えていただいたコマンドを実行しても、何も表示されなかったので無効なのだと思います。
現在、ubuntuのphpで動いている方はnginxで動作しているので、これをリバースプロクシにしてアクセスして確認しようと思います。
外からのアクセスはTailscale経由で行っていたのですが、これがダメだったようで、自宅の別PCからなら問題なくアクセスできました。
ipv6も教えていただいたコマンドを実行しても、何も表示されなかったので無効なのだと思います。
現在、ubuntuのphpで動いている方はnginxで動作しているので、これをリバースプロクシにしてアクセスして確認しようと思います。
422400
2026/02/05(木) 18:45:38.42ID:V9ph5oD+0 5chのどんぐりシステムの警備員●に対応しました
認証関係のハッシュや暗号化を強化によりdata/prefのp2_auth_user.phpとconf_user.srd.cgiが従来のrep2では全く読めなくなります
バックアップをとっておいてください
認証関係のハッシュや暗号化を強化によりdata/prefのp2_auth_user.phpとconf_user.srd.cgiが従来のrep2では全く読めなくなります
バックアップをとっておいてください
2026/02/05(木) 19:50:09.14ID:VFq9qNO70
どんぐり対応とは頑張ったわね
延命だけじゃなくて機能追加までしてもらえて助かる
延命だけじゃなくて機能追加までしてもらえて助かる
2026/02/05(木) 20:36:37.65ID:4nvPMNat0
2026/02/06(金) 11:00:58.66ID:a/KvMGr+0
とりあえずgit cloneして新規で環境作り、セットアップしてうまく行ったら既存のconf data rep/icをコピーしてみるか
confは変えてないみたいだし
明日やってみよう
confは変えてないみたいだし
明日やってみよう
2026/02/06(金) 11:52:20.38ID:j81EX27v0
427400
2026/02/06(金) 11:57:44.70ID:HhQZcWre0 confは400の公開時点からも追加があるのでマージが必要
変わってないように見えるならブランチが間違ってるかも
デフォルトブランチを見てください
変わってないように見えるならブランチが間違ってるかも
デフォルトブランチを見てください
2026/02/06(金) 12:15:05.06ID:a/KvMGr+0
2026/02/06(金) 13:03:20.93ID:0rCIt1JZ0
「環境変数のSECRET_KEYに32バイトの16進の文字列(暗号キー)を設定してください」って出たから export SECRET_KEY='xxxxx'ってやったけどエラーが消えない・・・
2026/02/06(金) 13:13:03.05ID:a/KvMGr+0
www.confで
env[SECRET_KEY] = "xxxxx"
って設定するのだろうな
env[SECRET_KEY] = "xxxxx"
って設定するのだろうな
2026/02/06(金) 13:23:15.64ID:0rCIt1JZ0
2026/02/06(金) 15:55:28.57ID:HhQZcWre0
環境変数SECRET_KEYをどうすればよいか環境によってまちまちなので
geminiに説明してもらって整形したのを用意した
https://github.com/fukumen/p2-php/blob/php8-merge-mbstring/doc/README-SECRET_KEY.md
geminiに説明してもらって整形したのを用意した
https://github.com/fukumen/p2-php/blob/php8-merge-mbstring/doc/README-SECRET_KEY.md
2026/02/06(金) 16:08:40.65ID:0rCIt1JZ0
2026/02/06(金) 16:15:01.94ID:HhQZcWre0
rep2が接続したいproxy?
ユーザ設定のETCにあるproxy_use以下の設定を見直すぐらいしか無いと思うけど
リバースproxyじゃないよね?
何でハマっているんだろ
ユーザ設定のETCにあるproxy_use以下の設定を見直すぐらいしか無いと思うけど
リバースproxyじゃないよね?
何でハマっているんだろ
2026/02/06(金) 16:20:56.09ID:0rCIt1JZ0
>>434
rep2でエラーになってる。
動いているDocker版のログを見るとGETの後はUAを設定しているんだけど・・・
[0|1689] HTTP: request received.
[6|939] HTTP: 127.0.0.1 | GET http://egg.5ch.net/software/dat/1740874866.dat
[6|1415] SCRAPING: rewrite_uri: http://egg.5ch.net/test/read.cgi/software/1740874866/
[6|1213] PROXY: change user-agent:Monazilla/1.00 (rep2-expack_allinone/200101.0000)->Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0
[6|604] COOKIE: set cookie for .5ch.net
[6|1241] 2ch to Nch: rewrite_uri: http://egg.5ch.net/test/read.cgi/software/1740874866/
[6|1073] HTTP: HTTP/1.1 301 Moved Permanently | GET http://egg.5ch.net/test/read.cgi/software/1740874866/
[6|1173] PROXY: change response
[6|1446] HTTP: Server didn't return 20x
[6|1194] HTTP: finish connection.
[0|1689] HTTP: request received.
[7|939] HTTP: 127.0.0.1 | GET http://egg.5ch.net/software/SETTING.TXT
[7|1213] PROXY: change user-agent:Monazilla/1.00 (rep2-expack_allinone/200101.0000)->Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0
[7|604] COOKIE: set cookie for .5ch.net
[7|1241] 2ch to Nch: rewrite_uri: http://egg.5ch.net/software/SETTING.TXT
[7|1073] HTTP: HTTP/1.1 301 Moved Permanently | GET http://egg.5ch.net/software/SETTING.TXT
[7|1194] HTTP: finish connection.
rep2でエラーになってる。
動いているDocker版のログを見るとGETの後はUAを設定しているんだけど・・・
[0|1689] HTTP: request received.
[6|939] HTTP: 127.0.0.1 | GET http://egg.5ch.net/software/dat/1740874866.dat
[6|1415] SCRAPING: rewrite_uri: http://egg.5ch.net/test/read.cgi/software/1740874866/
[6|1213] PROXY: change user-agent:Monazilla/1.00 (rep2-expack_allinone/200101.0000)->Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0
[6|604] COOKIE: set cookie for .5ch.net
[6|1241] 2ch to Nch: rewrite_uri: http://egg.5ch.net/test/read.cgi/software/1740874866/
[6|1073] HTTP: HTTP/1.1 301 Moved Permanently | GET http://egg.5ch.net/test/read.cgi/software/1740874866/
[6|1173] PROXY: change response
[6|1446] HTTP: Server didn't return 20x
[6|1194] HTTP: finish connection.
[0|1689] HTTP: request received.
[7|939] HTTP: 127.0.0.1 | GET http://egg.5ch.net/software/SETTING.TXT
[7|1213] PROXY: change user-agent:Monazilla/1.00 (rep2-expack_allinone/200101.0000)->Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0
[7|604] COOKIE: set cookie for .5ch.net
[7|1241] 2ch to Nch: rewrite_uri: http://egg.5ch.net/software/SETTING.TXT
[7|1073] HTTP: HTTP/1.1 301 Moved Permanently | GET http://egg.5ch.net/software/SETTING.TXT
[7|1194] HTTP: finish connection.
2026/02/06(金) 16:41:32.39ID:UGY4XHN/0
httpはもうだめです
2026/02/06(金) 16:45:16.91ID:HhQZcWre0
httpからhttpsへの書き換えに失敗している
docker-rep2と付属のdocker-compose.ymlで使ってそんなログ(301)にならないはず
もしdocker-rep2のログなら2chproxy.plの設定から下が抜けていそう
dockerではなくて2chproxy.plを実機で動かしているならdocker-rep2が見ている2chporxy.plを使う必要がある
最低限ENABLE_ALWAYS_HTTPS_FOR_2CH: 1にする必要あり(http->https書き換え)
docker-compose.ymlの設定を参考にして欲しい
5ch以外はどうなるか知らないけど、とりあえずproxy無しにすればいいのでは?
proxy_use: しない
2ch_ssl.subject: する
2ch_ssl.post: する
2ch_to_5ch: する
http_post_method: HTTP_Request2コンパチ
docker-rep2と付属のdocker-compose.ymlで使ってそんなログ(301)にならないはず
もしdocker-rep2のログなら2chproxy.plの設定から下が抜けていそう
dockerではなくて2chproxy.plを実機で動かしているならdocker-rep2が見ている2chporxy.plを使う必要がある
最低限ENABLE_ALWAYS_HTTPS_FOR_2CH: 1にする必要あり(http->https書き換え)
docker-compose.ymlの設定を参考にして欲しい
5ch以外はどうなるか知らないけど、とりあえずproxy無しにすればいいのでは?
proxy_use: しない
2ch_ssl.subject: する
2ch_ssl.post: する
2ch_to_5ch: する
http_post_method: HTTP_Request2コンパチ
2026/02/06(金) 17:05:04.14ID:0rCIt1JZ0
>>437
動いているdockerからコピーしたファイル(2chproxy.pl/2chproxy.conf)なんで、古いとか間違っているとかは無いと思う。(confの方はポート付け足したけど)
教えていただいた設定で書き込めているみたいなので、当面はこの設定でやるけど、2chproxy.plの動きも確認したいので、ログを埋め込んで追ってみる。
動いているdockerからコピーしたファイル(2chproxy.pl/2chproxy.conf)なんで、古いとか間違っているとかは無いと思う。(confの方はポート付け足したけど)
教えていただいた設定で書き込めているみたいなので、当面はこの設定でやるけど、2chproxy.plの動きも確認したいので、ログを埋め込んで追ってみる。
2026/02/06(金) 17:44:12.56ID:HhQZcWre0
docker-rep2のコンテナ内から2chproxy.plと2chproxy.confを取り出して単体で動かしているのかな?
それだとENABLE_ALWAYS_HTTPS_FOR_2CHが0になっていそう
フォーク元での対応内容なんだけど、2chproxy.plが環境変数を優先して見るようになっている
環境変数 > 2chproxy.conf > 2chproxy.pl先頭の定義
docker-compose.ymlに書いてある環境変数が最強なので2chproxy.confや2chproxy.pl先頭の設定より強い
それだとENABLE_ALWAYS_HTTPS_FOR_2CHが0になっていそう
フォーク元での対応内容なんだけど、2chproxy.plが環境変数を優先して見るようになっている
環境変数 > 2chproxy.conf > 2chproxy.pl先頭の定義
docker-compose.ymlに書いてある環境変数が最強なので2chproxy.confや2chproxy.pl先頭の設定より強い
2026/02/06(金) 20:40:13.32ID:QvhD/zKz0
みんなもうドッカーン使ってるのか寂しいのう
441名無しさん@お腹いっぱい。
2026/02/07(土) 04:26:01.92ID:+AGhoWYb0 みんなか?俺は使ってないな
dockerに入れるメリットよくわからん
dockerに入れるメリットよくわからん
2026/02/07(土) 10:13:26.73ID:bLEjOoE10
mikoimからfukumenに移行した
IC2のサムネが表示されない問題はgetImageMatteが非推奨だということなので
lib/Thumbnailer/Imagick.php
の116〜118行目をコメントアウトした
IC2のサムネが表示されない問題はgetImageMatteが非推奨だということなので
lib/Thumbnailer/Imagick.php
の116〜118行目をコメントアウトした
2026/02/07(土) 14:15:03.09ID:rpx03j+E0
>>442
情報サンクス
*Matteじゃなくて*AlphaChannelを使えって話みたい
getImageMatte -> getImageAlphaChannel
setImageMatte -> setImageAlphaChannel
ただ、getImageAlphaChannelの戻り値がintになったりboolになったり変更してるようで
もういきなりsetImageAlphaChannelしてしまうのが良さそう
method_existsで定義を確認しつつコールするようにしてみた
情報サンクス
*Matteじゃなくて*AlphaChannelを使えって話みたい
getImageMatte -> getImageAlphaChannel
setImageMatte -> setImageAlphaChannel
ただ、getImageAlphaChannelの戻り値がintになったりboolになったり変更してるようで
もういきなりsetImageAlphaChannelしてしまうのが良さそう
method_existsで定義を確認しつつコールするようにしてみた
2026/02/07(土) 18:59:29.69ID:bLEjOoE10
>>443
乙
マージして問題ないことを確認した
だけどIC2のメモ欄(スレタイ)が文字化けするのは何故なのか分からない
mikoimだった時もハマってたがいつの間にか自然治癒して再現しなくなったのでそれ以上追わなかったんだよな
あれはなんだろうな、composer updateやってたら直ったような気がする
乙
マージして問題ないことを確認した
だけどIC2のメモ欄(スレタイ)が文字化けするのは何故なのか分からない
mikoimだった時もハマってたがいつの間にか自然治癒して再現しなくなったのでそれ以上追わなかったんだよな
あれはなんだろうな、composer updateやってたら直ったような気がする
2026/02/07(土) 21:52:32.19ID:rpx03j+E0
>>444
気づいてなかったです。確かにうちでも化けてる。
ic2への登録処理でCP932で持ってるスレタイをCP932->UTF-8を2回やってた。
パッチあてはできるだろうけど、なんでこうなったのかとかおっかけたほうが良さそうなのでちょっと解析に時間掛かりそう。
どうもPHP8とかで変更も入っていなさそうなので、元からこういう実装になっていてPHP側の変換を2回やったときの挙動が変わったってバグが表面化したパターンがありそう。
気づいてなかったです。確かにうちでも化けてる。
ic2への登録処理でCP932で持ってるスレタイをCP932->UTF-8を2回やってた。
パッチあてはできるだろうけど、なんでこうなったのかとかおっかけたほうが良さそうなのでちょっと解析に時間掛かりそう。
どうもPHP8とかで変更も入っていなさそうなので、元からこういう実装になっていてPHP側の変換を2回やったときの挙動が変わったってバグが表面化したパターンがありそう。
2026/02/08(日) 00:22:51.95ID:EMz6zJ/E0
ic2のメモ欄の文字化けの修正をコミットしました
表示の文字化けではなくDBに登録する前で文字化けを起こしていたので登録済み文字化けのは救えません
あとic2内で数値文字参照がそのまま表示されていたのを修正しました(目についた範囲で)
🌱←みたいなやつが&〜みたいな文字で表示されてしまう現象です
表示の文字化けではなくDBに登録する前で文字化けを起こしていたので登録済み文字化けのは救えません
あとic2内で数値文字参照がそのまま表示されていたのを修正しました(目についた範囲で)
🌱←みたいなやつが&〜みたいな文字で表示されてしまう現象です
2026/02/08(日) 01:27:26.71ID:Rw3Rf6x80
なんか変だと思ってたら1月に5ちゃんのIPv4アドレスが変わってた
2026/02/08(日) 11:04:47.46ID:3bhbfazK0
2026/02/08(日) 11:14:13.10ID:3bhbfazK0
画像が表示されないのは302のレスポンスがおかしいせいか?
ホスト名が消えてる
Location: https:/ic/6464/00205/95452_44409f3d4480890dbaae189ed25b5ab4.jpg
ホスト名が消えてる
Location: https:/ic/6464/00205/95452_44409f3d4480890dbaae189ed25b5ab4.jpg
2026/02/08(日) 12:52:31.60ID:EMz6zJ/E0
imgurにアップしたURLを書き込んだだけってこと?
書いた後は普通にスレ読んでるだけのはずだけど、
何でそんなことなるんだろ
書いた後は普通にスレ読んでるだけのはずだけど、
何でそんなことなるんだろ
2026/02/08(日) 14:41:52.56ID:EMz6zJ/E0
2026/02/08(日) 15:17:47.66ID:3bhbfazK0
>>451
テストスレってこれか?
https://egg.5ch.net/test/read.cgi/software/1769775860/
確かに191で俺がカキコしたやつで、書き込み直後だとこうなってしまう
再読み込みすると表示される
https://imgur.com/a/0M6NvDd
多分このimgurもカキコ直後は表示されない
テストスレってこれか?
https://egg.5ch.net/test/read.cgi/software/1769775860/
確かに191で俺がカキコしたやつで、書き込み直後だとこうなってしまう
再読み込みすると表示される
https://imgur.com/a/0M6NvDd
多分このimgurもカキコ直後は表示されない
2026/02/08(日) 15:20:46.19ID:3bhbfazK0
Docker使わずnginx+php-fpmの環境で動かしてるからその辺の違いかもしれない
2026/02/08(日) 15:23:19.84ID:EMz6zJ/E0
GDでサムネを作成するときに透過色にパレットに存在しない色が指定されたgifやpngのサムネイルを作成時に例外落ちしていたので修正した
DBが壊れたりはしていないようなので再度表示するだけ復帰するみたい
PHP8で仕様が変わったところでした
DBが壊れたりはしていないようなので再度表示するだけ復帰するみたい
PHP8で仕様が変わったところでした
2026/02/08(日) 15:26:30.65ID:EMz6zJ/E0
2026/02/08(日) 16:10:10.59ID:3bhbfazK0
2026/02/08(日) 16:39:37.38ID:EMz6zJ/E0
わろた、Imagick使ってたなら関係ないGDの不具合を直しただけか
あのgoogleのやつはGDだと何度開いてもサムネ作成失敗だったので
書き込み直後だけ表示されなくてもう一度スレ開けば表示できるってことだよね?
新しく開いたスレの新しい画像も大丈夫ってことだろうし
問題発生時にPHPのログとか残ってないのであれば、
こちらでの再現方法が分からないとどうしようもなさげ
あとはブラウザ側の違いでも何かあるかもかなぁ
今のうちはPCでchromeです
あのgoogleのやつはGDだと何度開いてもサムネ作成失敗だったので
書き込み直後だけ表示されなくてもう一度スレ開けば表示できるってことだよね?
新しく開いたスレの新しい画像も大丈夫ってことだろうし
問題発生時にPHPのログとか残ってないのであれば、
こちらでの再現方法が分からないとどうしようもなさげ
あとはブラウザ側の違いでも何かあるかもかなぁ
今のうちはPCでchromeです
458名無しさん@お腹いっぱい。
2026/02/08(日) 17:21:41.84ID:06FF70Hv0 >>441
アプリと実行環境をパッケージ化出来るから面倒な環境構築が必要ない
アプリと実行環境をパッケージ化出来るから面倒な環境構築が必要ない
459名無しさん@お腹いっぱい。
2026/02/08(日) 17:53:49.87ID:5A6rcKIE0 欠点:他人が構築した環境だから何か問題起きたら解析から始まり途方な苦労をする
2026/02/08(日) 19:01:15.47ID:EMz6zJ/E0
>>459
dockerの欠点だと言っている?
他人が作ったOSとかパッケージを使ってるのになんでトラブルを解決できるんだっけ
単にdockerでのトラブルの解決法が分からないみたいな話のように思える
dockerの欠点だと言っている?
他人が作ったOSとかパッケージを使ってるのになんでトラブルを解決できるんだっけ
単にdockerでのトラブルの解決法が分からないみたいな話のように思える
461名無しさん@お腹いっぱい。
2026/02/08(日) 20:07:40.14ID:5A6rcKIE0 dockerはテスト環境だと使いやすい
運用だと余計な苦労する
まあいろんな意見があるのは承知してる
運用だと余計な苦労する
まあいろんな意見があるのは承知してる
2026/02/08(日) 20:47:47.50ID:XGXVWOWG0
rep2しか使わない、動けばいい、自分でいじらないって人にはDockerがいいのかもな
だったらなんでrep2にたどり着いたのかって話にもなるけど
自分のサーバーは自作含めて何十ものサービスが動いてるから、Dockerは重くて無理
だったらなんでrep2にたどり着いたのかって話にもなるけど
自分のサーバーは自作含めて何十ものサービスが動いてるから、Dockerは重くて無理
2026/02/08(日) 21:31:49.52ID:LYCXWkTc0
俺もphpとかnginxとかホストに入ってるのに二重になるのが無駄な気がして
2026/02/08(日) 22:21:56.79ID:MGylv54q0
rep2は複数PCやモバイル端末から全く同じ環境にアクセス出来ることが至上なので俺は公式p2でも良かった
2026/02/09(月) 04:31:45.54ID:gKJYQrI90
個人でしか使えないrep2の話のしてるのに運用ってどういうことなんだろ
Kubernetes最強ォォォオ論やVM派各種コンテナ派ならそれは分かる
ここで指摘のあったような話はgithubのREADME.mdに追記したりもしているので、
docker-rep2を使うと何が苦労するのか具体的に教えてくれるとみんなが助かるかも
dockerが重いは何かおかしい
ProxmoxのCT(LXDコンテナ)内にdockerコンテナでrep2を動かしてProxmox側で見てリソースの消費はこれぐらい
https://i.imgur.com/i58MdqC.png
docker-rep2で問題の再現を確認してくれるとこちらの再現確率もあがるし助かるのは事実
p2-rep単体で使っていてこちらで再現出来ないとおま環では?となるだけだし好きにしてねとしか
Kubernetes最強ォォォオ論やVM派各種コンテナ派ならそれは分かる
ここで指摘のあったような話はgithubのREADME.mdに追記したりもしているので、
docker-rep2を使うと何が苦労するのか具体的に教えてくれるとみんなが助かるかも
dockerが重いは何かおかしい
ProxmoxのCT(LXDコンテナ)内にdockerコンテナでrep2を動かしてProxmox側で見てリソースの消費はこれぐらい
https://i.imgur.com/i58MdqC.png
docker-rep2で問題の再現を確認してくれるとこちらの再現確率もあがるし助かるのは事実
p2-rep単体で使っていてこちらで再現出来ないとおま環では?となるだけだし好きにしてねとしか
2026/02/09(月) 07:51:26.02ID:X/Alapa70
dockerの提供に文句はないし需要もあるんだろうが
コンテナ使わない派もいるってだけさ
コンテナ使わない派もいるってだけさ
2026/02/09(月) 08:35:42.11ID:QyUOKJO00
コンテナ化することによって違う種類のサポートが必要になってくるかもしれないけど、それは責任もってやってくれよなってだけ
2026/02/09(月) 08:43:48.36ID:7jbdpW1J0
IC2のサムネが表示されない件、HTTP_HOSTがないってエラーログに出てたので調べた
P2Util.phpのgetMyUrlで1376〜1377行目をコメントアウトして1379〜1380行目をコメントインしたら直った
P2Util.phpのgetMyUrlで1376〜1377行目をコメントアウトして1379〜1380行目をコメントインしたら直った
2026/02/09(月) 10:41:57.84ID:H2a3pl6X0
fukumenさん版で2chログインができないのは俺環?
新規ログインするとそのまま返ってこない。
新規ログインするとそのまま返ってこない。
470名無しさん@お腹いっぱい。
2026/02/09(月) 10:51:01.32ID:9/QCgvv802026/02/09(月) 11:36:23.07ID:gKJYQrI90
>>468
$_SERVER['HTTP_HOST']がないときに$_SERVER['SERVER_NAME']と$_SERVER['SERVER_PORT']を使うように変更してみ
ic2.phpでもう一箇所$_SERVER['HTTP_HOST']を使ってるところがあったのでそっちも修正してみた
$_conf['reverse_proxy_host']をセットしてれば$_SERVER['HTTP_HOST']を埋めてくれるみたいだから、
今までp2Util::getMyUrlを自分で変更してなかったのなら、そこを自分で設定していたのかもしれない
$_SERVER['HTTP_HOST']がないときに$_SERVER['SERVER_NAME']と$_SERVER['SERVER_PORT']を使うように変更してみ
ic2.phpでもう一箇所$_SERVER['HTTP_HOST']を使ってるところがあったのでそっちも修正してみた
$_conf['reverse_proxy_host']をセットしてれば$_SERVER['HTTP_HOST']を埋めてくれるみたいだから、
今までp2Util::getMyUrlを自分で変更してなかったのなら、そこを自分で設定していたのかもしれない
2026/02/09(月) 11:46:04.84ID:gKJYQrI90
2026/02/09(月) 13:21:06.99ID:H2a3pl6X0
>>472
lib/login2ch.inc.phpで呼び出しているcheckRoninExpirationがSTATICでないのにSTATICとして呼んでいた。
P2Util::checkRoninExpiration(); ⇒ $util = new P2Util(); $util->checkRoninExpiration();
P2Util.php内で、存在しない関数を呼んでいた。
self::getP2UA() ⇒ P2Commun::getP2UA(false,false);
この2つを修正してログインできました。
lib/login2ch.inc.phpで呼び出しているcheckRoninExpirationがSTATICでないのにSTATICとして呼んでいた。
P2Util::checkRoninExpiration(); ⇒ $util = new P2Util(); $util->checkRoninExpiration();
P2Util.php内で、存在しない関数を呼んでいた。
self::getP2UA() ⇒ P2Commun::getP2UA(false,false);
この2つを修正してログインできました。
2026/02/09(月) 15:54:20.35ID:gKJYQrI90
>>473
さーせんrep2ログインと勘違いしてた
P2Util::checkRoninExpiration側をstaticメソッドにするべきなのでそのように修正した
upliftになって浪人ってもうなくなったのかと思ってたけど、浪人ってまだあるの?
それともupliftのアカウントを2chログインへ入力して使えるみたいな話なのだろうか
2chログインは使えないんだろうと思ってたのでここだけ古い暗号化のままだわ
さーせんrep2ログインと勘違いしてた
P2Util::checkRoninExpiration側をstaticメソッドにするべきなのでそのように修正した
upliftになって浪人ってもうなくなったのかと思ってたけど、浪人ってまだあるの?
それともupliftのアカウントを2chログインへ入力して使えるみたいな話なのだろうか
2chログインは使えないんだろうと思ってたのでここだけ古い暗号化のままだわ
2026/02/09(月) 16:12:49.76ID:H2a3pl6X0
2026/02/09(月) 19:11:37.35ID:gKJYQrI90
>>475
なるほど、そういうことですか
そういう話なら2chログインで取得したsidをどんぐり基地のログインにも渡してやれば
upliftでもどんぐり基地へもいけそうな気がするな
uplift持ってないのでノーチェックになるけどダメ元で実装してみます
なるほど、そういうことですか
そういう話なら2chログインで取得したsidをどんぐり基地のログインにも渡してやれば
upliftでもどんぐり基地へもいけそうな気がするな
uplift持ってないのでノーチェックになるけどダメ元で実装してみます
2026/02/09(月) 19:49:48.03ID:gKJYQrI90
書き込みのsidはパラメータに指定だけど、
どんぐり基地はクッキーのsidみたいだからパラメータに指定しても駄目くさい
https://uplift.5ch.net/loginへログインするだけでクッキーのsidが来るのかなあ
どんぐり基地はクッキーのsidみたいだからパラメータに指定しても駄目くさい
https://uplift.5ch.net/loginへログインするだけでクッキーのsidが来るのかなあ
2026/02/09(月) 22:37:24.52ID:m6mdqKAr0
それでも取れると思うけど
tora3で取得済みのsidをクッキーに入れてもいいんじゃないの?
tora3で取得済みのsidをクッキーに入れてもいいんじゃないの?
2026/02/09(月) 23:52:07.81ID:gKJYQrI90
tora3のやつってBODY部分にあるようだけどクッキーにいれて使えるのだろうか?
とりあえずどんぐりのログイン前にupliftにいってsidを取ってどんぐりログインに使うようにしてみた
追加したdonguri_upliftを1にするとこの動作になります
donguri_userとdonguri_passwordにgmailじゃなくてupliftのアカウントを指定ください
失敗したらログインの下に少しメッセージ出るようにしてあります
あとはsidの期限が分からんのでrep2のステータスはどんぐりログイン中なのに
実はsidの期限が切れるようなことはおこるかも
この実装で上手く行くようなら書き込みの方みたいに24時間で再ログインさせる処理を追加ですかね
とりあえずどんぐりのログイン前にupliftにいってsidを取ってどんぐりログインに使うようにしてみた
追加したdonguri_upliftを1にするとこの動作になります
donguri_userとdonguri_passwordにgmailじゃなくてupliftのアカウントを指定ください
失敗したらログインの下に少しメッセージ出るようにしてあります
あとはsidの期限が分からんのでrep2のステータスはどんぐりログイン中なのに
実はsidの期限が切れるようなことはおこるかも
この実装で上手く行くようなら書き込みの方みたいに24時間で再ログインさせる処理を追加ですかね
2026/02/10(火) 06:48:12.47ID:HBkrqbgy0
>>479
「donguri_uplift」を「する」に変更して、どんぐりログインすると、「 302: クッキーにsid無し」と表示されます。
「donguri_uplift」を「する」に変更して、どんぐりログインすると、「 302: クッキーにsid無し」と表示されます。
2026/02/10(火) 12:13:03.31ID:TcOmB1Fb0
>>480
さんくす、見直したら肝心のUser-Agentを忘れてた
donguri.inc.phpの100行目あたり
$req->setHeader('User-Agent', P2Commun::getP2UA(true, true));
これで駄目ならgetP2UAを使わずに直打ちでMozilla/5.0とかにしてみるとかだろうか
さんくす、見直したら肝心のUser-Agentを忘れてた
donguri.inc.phpの100行目あたり
$req->setHeader('User-Agent', P2Commun::getP2UA(true, true));
これで駄目ならgetP2UAを使わずに直打ちでMozilla/5.0とかにしてみるとかだろうか
2026/02/10(火) 13:08:11.32ID:HBkrqbgy0
>>481
変わらないですね。試しに2chproxy.plに書かれていたUAを直接代入もしてみましたが駄目でした。
変わらないですね。試しに2chproxy.plに書かれていたUAを直接代入もしてみましたが駄目でした。
2026/02/10(火) 18:27:55.97ID:TcOmB1Fb0
2026/02/12(木) 09:43:07.56ID:izr85nJ80
fukumenさん版で書き込みができなくなりました。
ERROR: UPLIFT HASHが取得できませんでした。再度ログインしてください。[ERR-1015]
donguriログイン、5chログインともにやり直しましたが変わりません
ERROR: UPLIFT HASHが取得できませんでした。再度ログインしてください。[ERR-1015]
donguriログイン、5chログインともにやり直しましたが変わりません
2026/02/12(木) 12:46:52.89ID:X9548bqK0
どんぐりにログインしているということは、警備員●の状態で●を使って書き込みしようとして出たエラーでしょうか?
その場合ログアウトしてどんぐり無しか自動ログインの警備員○の状態で●で書き込みしたらどうでしょうか
その場合ログアウトしてどんぐり無しか自動ログインの警備員○の状態で●で書き込みしたらどうでしょうか
2026/02/12(木) 14:26:53.73ID:UBiveEF90
レスを投稿する
ニュース
- 【自維】鮭おにぎり198円に絶望、コンビニすら遠い存在に…「生き延びられない」物価高で広がる生活苦★6 [ひぃぃ★]
- 【W杯】韓国が大窮地 悪夢のシナリオ止まらず 決勝T進出順位ボーダーの8位に転落 セネガル、イランに抜かれる ★5 [尺アジ★]
- イチロー氏、野球と比べてサッカーが「うらやましい」と語る 「チームのためにという感じが」「野球は個人で成績を出さないとボロカス」 [冬月記者★]
- 【サッカー】ブラジル戦、NHKは地上波なし 本田圭佑はBSで解説… 悲鳴続出「マジかよ」 地上波はフジテレビが生中継、解説は小野伸二 [冬月記者★]
- 【サッカー】W杯の「日本VSブラジル」を他で例えると…Xで問いかけ話題「湘北vs山王」「明徳義塾vs大阪桐蔭」「ドトウvsオペラオー」★2 [o(^・-・^)o★]
- 不快に感じる作業音3位は「パソコンのキーボード音」2位に「ボールペン等のノック音」…1位は?日本人は音に敏感すぎる? [muffin★]