Web Analytics

asmr-downloader

⭐ 170 stars Dutch by fireinrain

🌐 Taal

📖 Projectoverzicht

ASMRoner is een Go-commandoregeltool voor het zoeken, downloaden, synchroniseren van asmr.one audiowerken en biedt een eenvoudige webafspeelinterface.

🌐 Afgeleide project: asmr.furina.in — een eenvoudige en schone online ASMR luisterpagina

🚀 Snel aan de slag

https://github.com/MIKANOoOo/asmr-downloader.git && cd asmroner
go build -o asmroner
./asmroner config   # 交互式初始化配置

📋 Veelgebruikte commando's

# 搜索
./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 report

# 导出单个作品或指定数量热门榜链接 & 导出到指定目录 ./asmroner export RJ01544940 -o ./downloads ./asmroner export hot100 -n 20 -o ./downloads ./asmroner export hot100 -n 10 -o ./downloads 更多内容参考常见问题中的guide

Web 播放界面

./asmroner listen -p 8080 ./syncdata

📸 Screenshots

| Configuratie | Zoeken | |:---:|:---:| | Configuratie | Zoeken | | Downloaden | Synchroniseren | | Downloaden | Synchroniseren | | Synchronisatie-download | Statistieken | | Synchronisatie-download | Statistieken | | Web-interface | Web-interface 2 | | Web-interface | Web-interface 2 | | Export-interface | Export-interface 2 | | Export-interface | Export-interface 2 |

✨ Functies & Kenmerken

  • Zoeken: Enkelvoudig/bulk RJID, geavanceerde zoekopdrachten, resultaten exporteren naar CSV/JSON
  • Downloaden: Enkelvoudig/bulk/download van populaire werken, automatische snelheidsbeperking, herhalingen, exponentiële back-off
  • Synchroniseren: Metagegevens-synchronisatie, bulk downloadbeheer, status tracking, herhaalde pogingen bij fouten
  • Web-interface: Visueel bladeren, afspelen in browser, responsief ontwerp
  • Configuratie: Interactieve setup, ondersteuning voor proxy, snelheidsbeperking, jitter en andere geavanceerde opties

⚙️ Configuratiebestand uitleg

Pad naar configuratiebestand: ~/.asmroner/config.toml (TOML-formaat)

[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

📋 Overzicht van commandoregelopties

| Commando | Optie | Beschrijving | |----------|-------|--------------| | search | -c | Aantal zoekresultaten (standaard 10) | | search download | -d, -s | Downloadmap, aantal downloads | | search export | -f, -n | Bestandsnaam voor export (.csv/.json), aantal exporten | | download | -d, -n | Downloadmap, hot100 aantal | | sync download | -d | Downloadmap | | sync retry | -d | Map met mislukte bestanden | | sync export | -s, -f | Status (failed/success), exportbestand | | listen | -p | Poort (standaard 9999) | | export | -o, -n | Exportmap, hot100 aantal |

📁 Projectstructuur

asmroner/
├── cmd/                # 命令行接口(config/download/search/sync/listen)
├── internal/
│   ├── engine/        # 核心下载引擎(限流、重试、并发控制)
│   ├── logger/        # 结构化日志系统
│   ├── model/         # 数据模型与查询参数解析
│   ├── database/      # SQLite 数据库
│   ├── consts/        # 常量定义
│   └── utils/         # 工具函数
├── webui/             # 内嵌 Web 界面(Tailwind + Plyr)
├── main.go
└── go.mod

🛠 Technische Stack

| Component | Doel | |-----------|------| | Cobra + Viper | CLI-framework + configuratiebeheer | | GORM + SQLite | Gegevenspersistentie | | Resty | HTTP-client (ondersteunt HTTP/SOCKS5 proxy) | | Pond | Concurrentie werkpool | | x/time/rate | Token bucket rate limiting | | Gin | Webdienst | | Tailwind + Plyr | Frontend-interface + audioweergave |

🔧 Veelgestelde Vragen

Configuratiebestand niet gevonden → Voer ./asmroner config uit om te initialiseren

Download mislukt (stream error) → Het programma probeert automatisch opnieuw; als het nog mislukt, gebruik sync retry of bekijk .asmroner-data/download_errors.log

Webinterface niet bereikbaar → Controleer of de poort vrij is, probeer eventueel een andere poort met -p

Geen zoekresultaten → Controleer de query-syntax, probeer de voorwaarden te vereenvoudigen

Downloadmethode voor het export-commando → Zie gids

🤝 Bijdragen

Pull Requests zijn welkom! Fork → nieuwe branch → wijzigingen committen → PR openen.

📄 Licentie

Dit project gebruikt de MIT-licentie, zie het LICENSE bestand voor details.

🙏 致谢

---

ASMRoner — 每天晚上都有不同的妹妹陪你入睡 :)

最后更新:2026 年 2 月

--- Tranlated By Open Ai Tx | Last indexed: 2026-05-05 ---