📖 プロジェクト概要
ASMRoner は Go 言語で作られたコマンドラインツールで、asmr.one の音声作品の検索、ダウンロード、同期を行い、シンプルな Web 再生画面も提供します。
🌐 派生作品:asmr.furina.in — シンプルでクリーンなオンライン ASMR 視聴ページ
🚀 クイックスタート
git clone https://github.com/fireinrain/asmroner.git && cd asmroner
go build -o asmroner
./asmroner config # 交互式初始化配置📋 Common Commands
# 搜索
./asmroner search "护士" -c 20
./asmroner search "护士,-中出@duration:1h" -c 50下载
./asmroner download RJ01037721 -d ./downloads
./asmroner download RJ01037721,RJ02000001 -d ./downloads
./asmroner download hot100 -n 10 -d ./downloads搜索 + 下载/导出
./asmroner search download "护士" -d ./downloads -s 20
./asmroner search export "护士" -n 100 -f data.json同步元数据 & 批量下载
./asmroner sync
./asmroner sync download -d ./downloads
./asmroner sync retry -d ./downloads
./asmroner sync reportWeb 播放界面
./asmroner listen -p 8080 ./syncdata
📸 スクリーンショット
| 設定 | 検索 |
|:---:|:---:|
|
|
|
| ダウンロード | 同期 |
|
|
|
| 同期ダウンロード | 統計 |
|
|
|
| Web インターフェース | Web インターフェース 2 |
|
|
|
✨ 機能特性
- 検索:単一/バッチ RJID、高度な検索構文、結果の CSV/JSON エクスポート
- ダウンロード:単一/バッチ/人気作品のダウンロード、自動レート制限、リトライ、指数バックオフ
- 同期:メタデータ同期、バッチダウンロード制御、状態追跡、失敗時リトライ
- Web インターフェース:ビジュアルブラウズ、ブラウザ内再生、レスポンシブデザイン
- 設定:インタラクティブ初期化、プロキシ、レート制限、ジッターなどの高度設定対応
⚙️ 設定ファイルの説明
設定ファイルのパス:~/.asmroner/config.toml(TOML 形式)
[user]
account = "guest"
password = "guest"[downloader]
api_url = "" # 留空自动获取最快站点
proxy_url = "" # 支持 http / socks5
max_workers = 5
max_retries = 3
sync_data_folder = "./syncdata"
sync_wanted_size = "200MB" # 同步容量限制
prefer_media = "all" # all | mp3>wav>flac
[limit]
sync_qps = 2
sync_jitter_min = 100 # ms
sync_jitter_max = 500
download_qps = 0.2
download_jitter_min = 2000
download_jitter_max = 5000
📋 コマンドオプションクイックリファレンス
| コマンド | オプション | 説明 |
|------|------|------|
| search | -c | 検索結果数(デフォルト 10) |
| search download | -d, -s | ダウンロードディレクトリ、ダウンロード数 |
| search export | -f, -n | エクスポートファイル名(.csv/.json)、エクスポート数 |
| download | -d, -n | ダウンロードディレクトリ、hot100 数 |
| sync download | -d | ダウンロードディレクトリ |
| sync retry | -d | 失敗ファイルのあるディレクトリ |
| sync export | -s, -f | ステータス(failed/success)、エクスポートファイル |
| listen | -p | ポート(デフォルト 9999) |
📁 プロジェクト構成
asmroner/
├── cmd/ # 命令行接口(config/download/search/sync/listen)
├── internal/
│ ├── engine/ # 核心下载引擎(限流、重试、并发控制)
│ ├── logger/ # 结构化日志系统
│ ├── model/ # 数据模型与查询参数解析
│ ├── database/ # SQLite 数据库
│ ├── consts/ # 常量定义
│ └── utils/ # 工具函数
├── webui/ # 内嵌 Web 界面(Tailwind + Plyr)
├── main.go
└── go.mod
🛠 技術スタック
| コンポーネント | 用途 | |------|------| | Cobra + Viper | CLI フレームワーク + 設定管理 | | GORM + SQLite | データ永続化 | | Resty | HTTP クライアント(HTTP/SOCKS5 プロキシ対応) | | Pond | 並行処理ワークプール | | x/time/rate | トークンバケットレート制限 | | Gin | Web サービス | | Tailwind + Plyr | フロントエンド UI + オーディオ再生 |
🔧 よくある質問
設定ファイルが見つかりません → ./asmroner config を実行して初期化してください
ダウンロード失敗(stream error) → プログラムが自動リトライします;それでも失敗する場合は sync retry を実行するか、.asmroner-data/download_errors.log を確認してください
Web インターフェースにアクセスできない → ポートが使用中でないか確認し、-p オプションで別のポートを指定してみてください
検索結果が空です → クエリ構文を確認し、条件を簡略化してみてください
🤝 貢献
Pull Request の提出を歓迎します!Fork → 新しいブランチ作成 → 変更をコミット → PR を作成してください。
📄 ライセンス
本プロジェクトは MIT ライセンスのもとで公開されています。詳細は LICENSE ファイルをご覧ください。
🙏 感謝の意
- 特別感謝 go-asmr-spider
- すべての貢献者とユーザーに感謝します!
ASMRoner — 毎晩違う妹があなたの眠りをサポートします :)
最終更新:2026年2月
--- Tranlated By Open Ai Tx | Last indexed: 2026-04-17 ---