- rep2-expack https://github.com/rsky/p2-php
- rep2-expack +live https://github.com/pluslive/p2-php
- rep2-expack test https://github.com/orzisun/p2-php
- rep2-expack https://github.com/open774/p2-php
- rep2-expack https://github.com/junk2ool/p2-php
- rep2-expack https://github.com/mikoim/p2-php
上記やスレに上げられた修正を取り込んで全部入りを目指す闇鍋バージョンです。
このリポジトリにはrep2をPHP 8.xで動かすためのパッチが含まれています。
各機能の説明はdocディレクトリのREADMEファイルを見てください。
- PHP8系で起きていた文字化け対策(スレの情報を元にいい加減なパッチ当て)
- proxy無しで5chへアクセス出来るよう対応(不足有り)
- 5chの/板名/oyster/スレッドキー上位4桁の数字/スレッドキー.datの形式の過去ログに対応
- 5chの過去ログ倉庫(kako.5ch.net)のスクレイピングに対応
- 認証関係のハッシュや暗号化を強化
- 5chのどんぐりシステムの警備員●とハンターに対応(詳細はこちら)
- UPLIFTの5chログインに対応(詳細はこちら)
- 画像アップローダ(imgur/imgbb/catbox/litterbox)に対応
- ログインロックアウト機能を追加(詳細はこちら)
- フォント設定の見直し、アクティブモナーのスマホ対応、アクティブモナー用のWebフォント(Textar)に対応
- ワッチョイ対応
- talk.jp対応(詳細はこちら)
- スマホのスレ表示に非同期(Ajax)モードを追加
なお、5ch以外やpinkでは全くテストしていません。
- 本体をclone
git clone https://github.com/fukumen/p2-php.git
cd p2-php- 依存ライブラリをダウンロード
curl -O https://getcomposer.org/composer.phar
chmod +x composer.phar
./composer.phar install- Webサーバが書き込めるようにディレクトリのアクセス権をセット
(CGI/suEXECIやCLI/Built-in web serverでは不要)
chmod 0777 data/* rep2/ic- docker-rep2: rep2+PHP+Caddyで構成されたdockerコンテナ
- docker-rep2-win: Windows11でdocker-rep2を使うためのアプリ
- rep2-allinone: rep2+PHP+Caddyで構成されたパッケージ(Linux用deb/rpm、macOS用Homebrew)
環境を移行する場合、インストール後に data,conf,rep2/ic をコピーするだけで OK です。
PHP8.2以上が必要です。
Caution
PHP7.x以下では使えません。 なお、現在はPHP8.5で動作確認しています。
以下のコマンドを実行して、全ての項目で OK が出たなら大丈夫です。
何かエラーが出たらがんばって環境を整えてください。
php scripts/p2cmd.php check「認証関係のハッシュや暗号化を強化」によりdata/prefのp2_auth_user.phpとconf_user.srd.cgiが従来のrep2では全く読めなくなります。バックアップをとっておいてください。
更新後、初回接続時はセッションとクッキー認証が失敗扱いになりログイン画面が表示されます。ログイン画面からログインした時点で暗号化が強化された状態に更新されます。
また、環境変数SECRET_KEYの設定が必要です。ホストで openssl rand -hex 32 を実行した結果を設定してください。 どうやるの?という場合はこちらを見てください。
rep2側で過去ログ倉庫のスクレイピングも実装済みのため、現時点ではproxyは不要になっているはず。proxy無しの場合の推奨設定はfukumen/docker-rep2のREADME.mdを参照してください。
2chproxy.plを使いたい場合、fukumen/2chproxy.plを使ってENABLE_ALWAYS_HTTPS_FOR_2CH: 1, KEEP_COOKIE : 0とする必要があります。
proxyを使い場合は、2chproxy.plよりも開発が続いているproxy2chの方が良さそう。
どんぐりの説明にも少し書きましたが、proxyがクッキーを保持する機能が有効な場合、expireの対応がされていないとどんぐりを複数持ったりおかしなことになりそうなのでproxy側でのクッキー保持はオフが推奨です。
Caution
書き込み時やどんぐり関係でトラブルに遭遇した場合、必ずproxyを外して試してください。 proxyがいるとrep2の問題なのかproxyの問題なのか切り分けが出来ずにハマります。
PHP 5.4の新機能、ビルトインウェブサーバー で簡単に試せます。
以下のようにすると、Webサーバーの設定をしなくても http://localhost:8080/ でrep2を使えます。(Windowsでも!)
cd rep2
php -S localhost:8080 web.phpmoriyoshi++
スレに貼られている画像を自動で保存する機能、ImageCache2があります。
see also doc/ImageCache2/README.txt, doc/ImageCache2/INSTALL.txt
-
MySQLやPostgreSQLを使う場合はデータベースサーバーを立ち上げておく(SQLiteを使う場合は不要です)。
-
conf/conf_admin_ex.inc.phpでImageCache2を有効にする。
$_conf['expack.ic2.enabled'] = 3;
- conf/conf_ic2.inc.phpでDSNを設定する。
// SQLiteの場合 $_conf['expack.ic2.general.dsn'] = 'sqlite:' . $_conf['db_dir'] . '/imgcache.sqlite'; // MySQLの場合 $_conf['expack.ic2.general.dsn'] = 'mysql://username:password@localhost:3306/database';
- setupスクリプトを実行する。
php scripts/ic2.php setup
- PHP 5.4以降では古いSQLite2がサポートされなくなりました。現在はSQLite3、MySQL、またはPostgreSQLが利用可能です。
- ホストに
localhostを指定して接続できないときは、代わりに127.0.0.1にしてみてください。
細かい挙動の変更は メニュー > 設定管理 > ユーザー設定編集 から行えます。
Webブラウザから変更できない項目は conf/conf_admin.inc.php (基本), conf/conf_admin_ex.inc.php (拡張パック), conf/conf_ic2.inc.php (ImageCache2) を直接編集します。
どういうことができるか書き起こすのが面倒なので設定ファイルのコメントを見てください。
下記のスクリプトをcronで定期的に回すとより便利にrep2を使用することが出来ます。 必要に応じてどちらか一つを使用すれば充分でしょう。
ブラウザから更新を行うと一覧の表示に時間がかかるため、subject.txtを更新するためのスクリプトが付属しています。 並列ダウンロードで高速ですが、使用するために設定変更を行う必要があります。
php scripts/fetch-subject-txt.php --mode モードを一つ指定(fav recent res_hist)
並列ダウンロードの代わりにsubject.txtとDATのダウンロード機能を実装したスクリプトです。 時間はかかりますが、設定変更無しで使えるのでこちらがお手軽です。
php scripts/fetch-dat.php --mode モードを一つ指定(fav recent res_hist)
php scripts/p2cmd.php update
これは下記コマンドを個別に実行するのと等価です。
git pull
php -d detect_unicode=0 composer.phar self-update
php -d detect_unicode=0 composer.phar update
- スマホモードで板一覧を表示中に横方向にスライドするとリンクスライドが表示されます。拡張パックで追加されたらしい
- aki (original) http://akid.s17.xrea.com/
- rsk (expack) https://github.com/rsky/p2-php/
- unpush https://github.com/unpush/p2-php/
- thermon https://github.com/thermon/p2-php/
- part32の892 (+live) https://github.com/pluslive/p2-php/
- orzisun https://github.com/orzisun/p2-php
- open774 https://github.com/open774/p2-php
- killer4989 https://github.com/killer4989/p2-php
- dgg712 https://github.com/dgg712/p2-php
- mikoim https://github.com/mikoim/p2-php
- fukumen https://github.com/fukumen/p2-php
- 2ch p2/rep2スレの>>1-1000
see LICENSE.txt