好きでつながるバーチャルワールド - Yay!(イェイ)のアカウント生成・自動フォローをコマンドラインで操作するCLIツールです。
- 生成したアカウントをMongoDBに保存
- 24時間経過判定・自動フォロー(ON/OFF)
- Proxy対応
- BAN対策:タイムラインから投稿・カバー画像をコピー
- Node.js 18+
- MongoDB(Atlas も可)
DB_USER=your_db_user
DB_PASSWORD=your_db_password
DB_NAME=yarc
DB_HOST=cluster0.xxxx.mongodb.net
(MongoDB Atlas の場合は DB_HOST にクラスターのホスト名を指定。URI は DB_USER / DB_PASSWORD / DB_NAME / DB_HOST から自動で組み立てます。)
{
"api": {
"apiKey": "your_api_key",
"signedInfo": "your_signed_info",
"yayApiHost": "https://api.yay.space",
"userAgent": "your_user_agent",
"apiVersionKey": "your_api_version_key"
},
"storage": { "mode": "json" },
"proxy": { "url": "" },
"logging": { "locale": "ja" }
}- logging.locale: ログ・メッセージの言語。
"ja"(日本語)または"en"(英語)。未指定時は"ja"。環境変数LOG_LANGまたはLOCALEを指定すると config より優先されます。
ログは次の形式に統一されています。1行1イベントで、必要に応じて [レベル] [コンテキスト] メッセージ(例: [INFO] [user@example.com] BAN対策: 動的にコピー元を選択します...)。
yarn installor
npm install| 役割 | パス |
|---|---|
| CLI エントリ・コマンド定義 | bin/yarc-cli.cjs |
| 定数(フォロー条件・タイムアウト等) | lib/constants.js |
| 設定の表示/取得/更新 | cli/config-cli.js |
| プロキシ get/set/clear/test | cli/proxy-cli.js |
| フォロー対象ユーザーID get/set | cli/follow-target-cli.js |
| フォロー実行 | cli/follow-cli.js |
| 自動フォロー status/enable/run-once | cli/autofollow-cli.js |
| アカウント生成 once/loop | cli/generate-cli.js |
| 生成 ON/OFF 状態の永続化 | cli/generate-state-cli.js |
| 環境・設定・アカウント数要約 | cli/status-cli.js |
| ヘッドレス常駐 | cli/run-cli.js |
| DB 接続と followers/blacklist モデル | cli/db-models.js |
| JSON 読書・ドットパス・値パース | utils/json-config.js |
# ヘルプ・バージョン(型表示は出さない)
yarc --help
yarc --version
# 環境・設定・アカウント数の要約
yarc status
# 設定の表示
yarc config show
# プロキシ設定
yarc proxy set --url "http://user:pass@host:port"
yarc proxy test
# フォロー対象ユーザーIDの設定
yarc target set --user 123456789
yarc target get
# フォロー実行(target 設定を使用)
yarc follow --mode all
# またはユーザーIDを直接指定
yarc follow --user 123456789 --mode one
# 自動フォロー ON/OFF
yarc autofollow enable
yarc autofollow disable
yarc autofollow run-once
# アカウント生成(指定件数)
yarc generate once --count 10
# 常駐用フラグ(admin-config に保存)
yarc generate enable --max 0
yarc generate disable
# ヘッドレス常駐(PM2 向け)
yarc run
yarc run --interval 300yarc のフォルダで実行する場合(package.json の scripts):
npm run app:start
npm run app:logs
npm run app:stop
npm run app:restartどこかのコマンドプロンプトから実行する場合(lockfile や package.json の場所に依存しない):
npm link や npm i -g . で yarc をグローバルに入れたうえで、任意のディレクトリで:
yarc app start
yarc app logs
yarc app stop
yarc app restartこのとき PM2 は「yarc をインストールした側のプロジェクト」を参照します(実行中の cwd は見ません)。
yarc run は admin-config.json の generateEnabled / autoFollowEnabled を参照し、有効な場合に生成・自動フォローを実行します。
Semantic Versioning に従います。
- Major: 大きな仕様変更・後方互換性のない変更
- Minor: 新機能追加・後方互換性のある変更
- Patch: バグ修正・小規模な修正
- IP ホワイトリスト: Atlas は接続元 IP を許可リストで制限しています。
Atlas の Network Access → Add IP Address で、今使っている PC の IP を追加するか、開発時は Allow Access from Anywhere(0.0.0.0/0)を追加してください。 - コマンドプロンプトでは
accountsが null、VSCode では上記エラーになる場合は、実行場所や .env の読み込み先が違うことがあります。どちらも「yarc のプロジェクト直下の .env」が読まれ、かつ Atlas の IP 許可が付いているか確認してください。
- 原因: (1) .env の DB_* が未設定・誤り、(2) Atlas の IP ホワイトリストに未登録、(3) 常駐中に接続が切れた(ネット切れ・Atlas のアイドル切断など)。
- 対処: .env と Atlas の Network Access を確認。常駐(PM2)では、接続が切れても次の周期で自動再接続を試みます。それでも続く場合は
yarc app restartでプロセスを再起動してください。
- 原因: 社内プロキシやセキュリティソフトが HTTPS を解析しており、証明書が「自己署名」扱いになっている。
- 対処: 開発環境のみ、環境変数で SSL 検証を無効化することができます(セキュリティ上は非推奨)。PM2 なら
ecosystem.config.cjsのenvにNODE_TLS_REJECT_UNAUTHORIZED: '0'を追加するか、起動前にset NODE_TLS_REJECT_UNAUTHORIZED=0(Windows)を実行してからyarc app startを実行。
- yarc の CLI は yarc を置いたディレクトリ(パッケージルート)の .env を読みにいくようにしています。
npm link後も、その yarc 用 .env は yarc のリポジトリ側(node_modules/yarcの実体になっているフォルダ)に置いてください。 - 別プロジェクトから
yarn link yarcなどで使う場合は、リンク元の yarc フォルダに .env と config.json を用意すれば、どこからyarcを実行してもその .env が使われます。
- 同時生成 10 以上はプロキシ帯域とサーバー負荷の観点で非推奨です。
本ソフトウェアは LICENSE に基づき提供されています。
- 利用範囲: 個人利用に限り使用・改変可能。再配布・サブライセンス・改変版の公開は著作権者の明示的な許可が必要です。
- 免責: 本ソフトウェアは「現状のまま」提供され、明示・黙示を問わずいかなる保証もありません。本ソフトウェアの使用または使用不能により生じた損害(データ損失・サービス停止・第三者とのトラブル等を含む)について、著作権者は一切の責任を負いません。