mcpField
R
reddit

reddit

github.com/redf0x1その他432123 回インストール5 日前に更新
リポジトリ

reddit について

CamoFox CLI で Reddit の閲覧、投稿、コメント、投票などを自動化するスキルです。セッションを使った認証、ページごとの操作手順、レート制限への注意点を説明します。

主な機能

  1. 01フィードとサブレディットの閲覧
  2. 02投稿とコメントの作成
  3. 03返信と投票
  4. 04セッションの保存と復元
  5. 05ページ別の操作手順

活用シーン

  1. 01保存済みセッションで Reddit を閲覧
  2. 02サブレディットへの投稿
  3. 03投稿へのコメントや返信

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/redf0x1/camofox-browser --skill reddit

インストール後、Claude Code で/redditを入力して読み込まれたか確認します。

同梱ファイルreferences/workflow-reference.md

詳細

Reddit 自動化スキル

CamoFox CLI の検出回避ブラウザーを使って Reddit を自動化します。2026-03-04 に、50 回を超える操作すべてで CAPTCHA が発生しないことを確認済みです。

1. 前提条件

  • CamoFox ブラウザーが起動していること:camofox server status
  • 保存済みの Reddit セッションがあること(セクション 2 を参照)
  • インストール:npm install -g camofox-browser

2. 認証

Reddit のログインでは reCAPTCHA Enterprise が使用されるため、自動での認証情報入力はブロックされます。セッションベースの認証を使用してください。

初回 — CamoFox で手動ログインしてから、保存します。

camofox session save "reddit-session" --user reddit

次回以降 — 保存済みセッションを復元します。

camofox open https://www.reddit.com --user reddit
camofox session load "reddit-session" --user reddit
camofox navigate https://www.reddit.com [tabId]
camofox snapshot [tabId]

確認:スナップショットにユーザー名が表示されていれば、ログイン済みです。

参照用に認証情報を保存します。

camofox auth save reddit-main --url https://www.reddit.com --notes "Reddit account"

3. フィードを閲覧する

camofox open https://www.reddit.com --user reddit
camofox session load "reddit-session" --user reddit
camofox navigate https://www.reddit.com [tabId]
camofox snapshot [tabId]
camofox scroll down [tabId] --amount 500
camofox snapshot [tabId]
camofox get-links [tabId]

4. サブレディットを閲覧する

camofox navigate https://old.reddit.com/r/test [tabId]
camofox snapshot [tabId]
camofox click [eN] [tabId]
camofox snapshot [tabId]

Old Reddit は HTML 構造がシンプルなため、投稿一覧を解析しやすくなっています。

5. 投稿にコメントする(Old Reddit)

重要:テキストエリアの入力には eval を使用してください。通常の入力では、Old Reddit で 500 エラーが発生します。

camofox navigate https://old.reddit.com/r/test/comments/POST_ID/ [tabId]
camofox snapshot [tabId]
camofox eval "const ta = document.querySelector('.usertext-edit textarea'); ta.value = 'Your comment'; ta.dispatchEvent(new Event('input', {bubbles: true})); ta.dispatchEvent(new Event('change', {bubbles: true}));" [tabId]
camofox snapshot [tabId]
camofox click [eN] [tabId]
camofox snapshot [tabId]

eval を使う理由:Old Reddit のテキストエリアにブラウザー自動化の入力機能で入力すると、Internal Server Error が発生します。JavaScript で textarea.value を設定すれば、安定して動作します。

6. 投稿を作成する(New Reddit)

重要:www.reddit.com を使用してください。Old Reddit では reCAPTCHA が表示され、投稿がブロックされます。

camofox navigate "https://www.reddit.com/r/test/submit?type=TEXT" [tabId]
camofox snapshot [tabId]
camofox type [eN] "Your Post Title" [tabId]
camofox snapshot [tabId]
camofox type [eN] "Post content with markdown." [tabId]
camofox snapshot [tabId]
camofox click [eN] [tabId]
camofox wait navigation [tabId] --timeout 5000
camofox snapshot [tabId]

7. コメントに返信する(Old Reddit)

camofox navigate https://old.reddit.com/r/test/comments/POST_ID/ [tabId]
camofox snapshot [tabId]
camofox click [eN] [tabId]
camofox snapshot [tabId]
camofox eval "const tas = document.querySelectorAll('.usertext-edit textarea'); const rb = Array.from(tas).find(t => t.offsetParent !== null && t.value === ''); if (rb) { rb.value = 'Your reply'; rb.dispatchEvent(new Event('input', {bubbles: true})); rb.dispatchEvent(new Event('change', {bubbles: true})); }" [tabId]
camofox snapshot [tabId]
camofox click [eN] [tabId]
camofox snapshot [tabId]

8. 賛成票/反対票

camofox snapshot [tabId]
camofox click [eN] [tabId]

投票ボタンは、スナップショット内で矢印アイコンの参照として表示されます。

9. セッション管理

camofox session save "reddit-session" --user reddit
camofox session load "reddit-session" --user reddit
camofox session list
camofox session delete "reddit-session"

10. レート制限

  • コメント/返信の間隔を 2 分以上空けてください
  • 新規アカウントまたはカルマの低いアカウントでは、投稿の間隔を 10 分以上空けてください
  • 遅延を追加します:camofox wait networkidle [tabId] --timeout 3000
  • カルマの高いアカウントでは制限が緩和されます

11. 検出回避

  • CamoFox の検出回避機能は Reddit で完全に有効です(50 回以上の操作で CAPTCHA は 0 回)
  • Reddit は CamoFox に広告を配信します = 実際のユーザーとして扱われています
  • セッション間で一貫した userId(「reddit」)を使用します
  • 操作の間に Cookie を消去しないでください
  • 特別なプロキシやフィンガープリントの設定は不要です

12. プラットフォームの選択

操作プラットフォーム理由
ログイン手動のみreCAPTCHA Enterprise
コメントold.reddit.comプレーンな HTML フォーム
返信old.reddit.comプレーンな HTML フォーム
投稿の作成www.reddit.com表示される CAPTCHA がない
閲覧どちらでもどちらも動作します
投票どちらでもどちらも動作します

13. トラブルシューティング

問題原因対処法
ログイン時の CAPTCHAreCAPTCHA Enterprise保存済みのセッションを使用します
旧 Reddit での投稿時の CAPTCHAreCAPTCHA v2新しい Reddit を使用します
コメント時の 500 エラー旧 Reddit での typetextarea.value を使って eval を使用します
テキストが二重になるLexical エディターの不具合入力には eval を使用します
レート制限操作が速すぎる2 分以上待ちます
SPA のリンクが機能しないReddit SPAcamofox navigate を使用します
セッションの期限切れCookie の期限切れ再ログインして保存します

14. 完全な例

#!/bin/bash
USER="reddit"
SESSION="reddit-session"

TAB=$(camofox open https://www.reddit.com --user $USER --format json | jq -r '.tabId')
camofox session load $SESSION --user $USER

camofox navigate https://old.reddit.com/r/test $TAB
camofox snapshot $TAB

camofox eval "const ta = document.querySelector('.usertext-edit textarea'); ta.value = 'Automated via CamoFox CLI'; ta.dispatchEvent(new Event('input', {bubbles: true})); ta.dispatchEvent(new Event('change', {bubbles: true}));" $TAB

camofox session save $SESSION --user $USER
camofox close --user $USER

コメント