Skip to content

修改配置

Kaedei edited this page Jun 27, 2020 · 3 revisions

配置系统介绍

dandanplay-resmonitor 工具通过读取目录中的 appsettings.json 文件、系统环境变量等位置来改变运行时的配置。

修改配置的方式

appsettings.json 和 appsettings.*.json

在工具目录下,自带了一个 appsettings.json 文件,使用文本编辑器打开它,修改后保存即可变更配置。

如果您还定义了 ASPNETCORE_ENVIRONMENT 环境变量,程序将优先读取对应的 appsettings.*.json 文件,并覆盖默认的设置。例如在设置了 ASPNETCORE_ENVIRONMENT=Production时,程序将读取 appsettings.Production.json 文件。在官方发布的docker镜像中,已经默认设置了 Production。详细信息可以阅读文档 https://docs.microsoft.com/en-us/aspnet/core/fundamentals/environments?view=aspnetcore-3.1

环境变量

程序还支持优先从环境变量中读取配置值(尤其是在 docker 环境下)。举例来说,当您设置了如下的环境变量:

set LogDetails="true"
set Api:UserName=test_user
set Api_Password=test_password

程序运行时将会覆盖对应设置的默认值。

在某些环境下,冒号:不会被处理(例如bash),这时可以通过双下划线 __ 来代替。这意味着 Api:UserNameApi__UserName 指的是同一个配置项。下面的文档中将不再复述此区别。

配置列表

通用

  • LogDetails

是否在日志中记录更详细的调试信息,方便查找错误,可选 truefalse。默认值为 false

  • SyncPeriod

每隔几分钟和服务器同步一次自动下载规则。默认值为 10

  • CheckPeriod

每隔几分钟检查一次是否有新的资源。默认值为 15。这个值不必设置得过小,因为当一个新的资源发布后,第一时间下载一般不会有很快的速度。

  • Downloader

当前使用的下载器,之后还需继续配置这个下载器的其他信息。默认值为 aria2。只能是以下值中的一个:aria2 transmission

弹弹play API相关

  • Api:ApiBaseUrl

弹弹play API地址。

  • Api:ResBaseUrl

资源搜索服务API地址。

  • Api:MagnetBaseUrl

Magnet转换服务API地址

  • Api:UserName

弹弹play用户名

  • Api:Password

弹弹play用户的密码

  • Api:AppId

应用ID

  • Api:AppSecret

应用密钥

  • Api:UserAgent

访问API时设置的 User-Agent

Aria2下载器

  • Aria2:Url

Aria2下载器的Json RPC地址,一般来说类似于 http://localhost:6800/jsonrpc,请根据具体情况进行修改。如果运行在 docker 环境中,请使用实际的IP地址。

  • Aria2:Token

Aria2登录验证的令牌。如果没有设置令牌请留空。

Transmission下载器

  • Transmission:Url

Transmission下载器的RPC地址,一般来说类似于 http://localhost:9091/transmission/rpc,请根据具体情况进行修改。如果运行在 docker 环境中,请使用实际的IP地址。

  • Transmission:Login

调用RPC服务所需的用户名。

  • Transmission:Password

调用RPC服务所需的密码。

示例

本机运行

在本机运行时,推荐直接修改 appsettings.json 配置文件。在程序目录下找到 appsettings.json 文件,使用记事本等软件打开它,修改成类似于下面的样子。

这里只显示一部分需要改的地方,其他地方保持默认值即可:

{
  "Api": {
    "UserName": "这里输入你的弹弹play账号",
    "Password": "这里输入你的密码"
  },
  "Downloader": "aria2", //这里改成你使用的下载器,可以是 aria2 或者 transmission
  "Aria2": {
    "Url": "http://localhost:6800/jsonrpc", //如果你选择使用Aria2,这里改成你的Aria2 RPC地址
    "Token": "这里输入你在Aria2中设定的RPC密钥"
  },
  "Transmission": {
    "Url": "http://localhost:9091/transmission/rpc", //如果你选择使用Transmission,这里改成你的Transmission RPC地址
    "Login": "这里输入你在Transmission中设定的RPC用户名",
    "Password": "这里输入你在Transmission中设定的RPC密码"
  }
}

保存文件后,运行 dotnet ResourceMonitor.dll 即可启动程序。

docker

通过docker方式运行时,推荐使用 -e 参数来修改配置。您可以尝试下面这样的命令启动一个前台的容器:

docker run -it kaedei/dandanplay-resmonitor -p 8080:80 \
  -e Api:UserName=你的弹弹play用户名 \
  -e Api:Password=你的弹弹play密码 \
  -e Downloader=aria2 \
  -e Aria2:Url=http://localhost:6800/jsonrpc \
  -e Aria:Token=你在Aria2中设定的RPC密钥 \
  --name resmonitor

容器启动后,将会在屏幕上输出日志,请观察程序刚启动时的输出,参数是否已经改成您设置的值。 部分系统环境不支持冒号:,您可以用双下划线代替它们,例如上面命令中的 Api:UserName= 这一行可以改为 Api__UserName=

如果你使用的是Transmission而不是Aria2,则可以将后半部分配置替换成:

-e Downloader=transmission
-e Transmission:Url=http://localhost:9091/transmission/rpc
-e Transmission:Login=你在Transmission中设定的RPC用户名
-e Transmission:Password=这里输入你在Transmission中设定的RPC密码

容器启动后,可以通过浏览器访问 http://本机IP:8080 来查看程序的状态(一个简单的html页面)。如果不需要通过浏览器查看运行状态,可以将启动参数中 -p 8080:80 这部分删除。

添加 -d 可以让容器在后台运行,例如 docker run -it -d kaedei/dandanplay-resmonitor ............