ps5upload
탈옥된 PS5에 게임·앱·홈브류를 전송하고 컴퓨터·휴대폰·브라우저로 콘솔을 관리합니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Poker Hand Input Tool at MTT
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗ライブMTT(トーナメント)のハンドを iPhone で記録し、GTO Wizard の Hand History Analyzer が読める PokerStars 形式で書き出す PWA(Webアプリ)です。
ハンド詳細画面には、HHに載せられない ICM/バウンティ用メモ(残り人数・残り%・各スタックのBB換算・賞金構造)があり、GTO Wizard AI(ICM/PKOソルバー)に手入力する際にコピーできます。
| 項目 | 対応 |
|---|---|
| 形式 | PokerStars トーナメント形式、英語のみ |
| Hand # / Tournament # | 数値のみ(時刻+乱数で一意)。再アップロードは GTO Wizard 側で重複として無視される |
| 座席 | 1〜9(ボタンが Seat 10 だと認識されないため、10-max は非対応) |
| アンティ | 1人1行の posts the ante。BBアンティは人数で按分(端数はBBに)して出力 |
| ヒーロー | Dealt to <名前> [..] はヒーローのみ。相手のカードはショウダウンでのみ |
| PKO | ヘッダーを $賞金分+$バウンティ+$手数料 USD、座席行に , $X bounty |
| ベットサイズ | 実額を記録(GTO Wizard が最寄りの解析済みサイズに丸める) |
| 返還ベット | Uncalled bet (N) returned to ... を出力し、Total pot は回収額の合計 |
| 通貨 | ヘッダーの通貨は常に $/USD 表記(金額は入力値のまま)。GTO Wizard は検証しない |
| 9-max | GTO Wizard は 8-max ツリーで解析するため、UTG がフォールドしたハンドのみ対象 |
| マルチウェイ | ポストフロップ3人以上は GTO Wizard の解析対象外(ハンド一覧に ⚠ 表示) |
npm install
npm run dev # http://localhost:3000
npx vitest run # エンジン・エクスポーター・UIフローのテスト
npm run build
Node.js は ZIP 版(C:\Users\nobuz\tools\nodejs)を PATH に通して使います。
主要ファイル:
src/lib/engine.ts … ベッティングエンジン(手番、ブラインド/アンティ、返還ベット、サイドポット)src/lib/exporter.ts … PokerStars 形式テキスト生成、ICMメモsrc/lib/handEval.ts … 7枚役判定(ショウダウン自動判定・役名)src/lib/store.ts … localStorage ストア / src/lib/sync.ts … Supabase 同期src/app/t/[id]/setup record hand/[hid] … ハンド設定・記録・詳細画面git add -A
git commit -m "Initial commit"
# GitHub で空のリポジトリ poker-mtt-tracker を作成してから
git remote add origin https://github.com/<ユーザー名>/poker-mtt-tracker.git
git push -u origin main
https://xxx.vercel.app)を iPhone の Safari で開き、共有 → ホーム画面に追加この時点では ローカル保存のみ で全機能が使えます。
Supabase ダッシュボード → New project(リージョンは Tokyo 推奨)
SQL Editor で supabase/schema.sql の内容を貼り付けて実行(テーブル2つ + RLS)
Authentication → Providers → Email を有効化。自分専用なら Confirm email をオフ にするとメール確認なしで登録できます
Project Settings → API から Project URL と anon public キーをコピー
Vercel → プロジェクト → Settings → Environment Variables に追加して Redeploy
| Name | Value |
|---|---|
NEXT_PUBLIC_SUPABASE_URL | https://xxxx.supabase.co |
NEXT_PUBLIC_SUPABASE_ANON_KEY | eyJ... |
アプリの右上「ローカル」→ アカウント画面でメール+パスワードを 新規登録 → 以降は起動時に自動同期
ローカル開発で同期も試す場合は .env.example を .env.local にコピーして値を入れてください。
Supabase Free プランは「直近1週間の DB 活動が不十分」だとプロジェクトを自動で一時停止します(公式の目安は「1日に数回のユーザーリクエスト」)。停止すると同期だけが失敗し(ローカル記録・エクスポートは使える)、ダッシュボードの Restore project で復帰できます。
これを防ぐため /api/keepalive(src/app/api/keepalive/route.ts)が両テーブルに複数クエリを投げ、2系統のスケジューラから呼ばれます:
| 経路 | 設定ファイル | 頻度 | 確認場所 |
|---|---|---|---|
| Vercel Cron | vercel.json | 毎日 UTC 3:00(±59分) | Vercel → プロジェクト → Settings → Cron Jobs |
| GitHub Actions | .github/workflows/keepalive.yml | 1日4回(UTC 0/6/12/18 時台) | GitHub → リポジトリ → Actions → Supabase keepalive |
CRON_SECRET を設定する場合は、同じ値を GitHub の Settings → Secrets and variables → Actions に CRON_SECRET として登録してください(未設定なら不要)。https://poker-mtt-tracker.vercel.app/api/keepalive を何度か開くか、Supabase ダッシュボードでプロジェクトを開くことです。BB: posts the ante N)を正しく解釈するかは未確認のため、按分出力を既定にしています(exportHand の bbAnteMode: 'single' で切替可能)