Skip to content

配置文件说明

Sansui233 edited this page Jun 2, 2021 · 11 revisions

配置文件

配置选项

热更新说明

配置文件

项目内配置文件位于 config/config.yaml。运行时使用-c参数指定配置文件。

./proxypool -c config/config.yaml

您也可以使用远程配置文件。

./proxypool -c http://example.com/config.yaml

配置选项

站点信息

domain: example.com
port:                 # default 12580
  • domain : 前端界面显示的域名。

    1. 如果您部署到heroku,请填写herokuapp名.herokuapp.com
    2. 如果您部署到自建服务器,请填写您的服务器IP或域名。注意,网页显示的链接为https(443端口),若您的站点未开启https或未运行在443端口,意味着无法直接使用网页显示的链接,您需要手动编写配置文件,或对http+端口的订阅链接使用订阅转换。
      proxypool目前不支持ssl,这意味着proxypool运行的端口无法直接使用https。您可以通过 部署到VPS Step by Step 查看使用nginx反向代理开启https的示例。
    3. 如果您部署到本地,请填写127.0.0.1。Clash的具体页面提供了本地可用的配置文件。
  • port : proxypool运行的端口,默认值为12580。如果设置有环境变量$PORT,以环境变量优先。

订阅源

source-files:
  # use local file
  - ./config/source.yaml
  # use web file
  # - https://example.com/config/source.yaml
  • source-files: 订阅源文件列表。

    项目内source文件位于config/source.yaml。您可以查看示例链接,以添加更多同类的订阅源。
    可以添加多个source文件,支持同时使用远程的source文件与本地source文件。

数据库

database_url: ""
  • database_url: 连接postgresql数据库的链接。如果设置有环境变量$DATABASE_URL,以环境变量优先。

    没有数据库不影响程序的基本运行。

    1. 若使用heroku,可以添加免费的postgresql Addon到相应的dyno上。无需其它操作。
    2. 若使用VPS,需要安装postgresql,自建用户和数据库。postgresql采用链接的方式连接数据库,需要将链接填入database_url

抓取间隔

crawl-interval:       # v0.5.x default 60 (minutes)
# crontime:           # v0.4.x default 60 (minutes)
  • crawl-interval: 执行抓取节点任务的时间间隔,默认值为60,单位为分钟。

    v0.4.x 版本中此项为crontime

健康检测

healthcheck-timeout:       # v0.7.x default 5 (seconds)
healthcheck-connection:    # v0.7.2 default 500
  • healthcheck-timeout: 单个节点有效性检测时间限制,默认值为5,单位为秒。超过此时间限制的节点为无效节点。
  • healthcheck-connection: 进行节点健康检查的并发链接数,默认值500个。在带宽较小的网络环境下可大幅减少此项。

测速功能

speedtest: false      # default false
speedtest-interval:   # default 720 (min)
speed-timeout:        # v0.7.x,default 10 (seconds)
# timeout:            # v0.5.x, v0.6.x default 10 (seconds)
speed-connection:     # v0.7.2 default 5
#connection:          # v0.7.1 and beblow default 5
active-interval:      # default 60 (min)
active-frequency:     # default 100 (requests per interval)
active-max-number:    # default 100
  • speedtest: 测速功能开关,默认值为false。

    由于测速会消耗大量流量。默认关闭此功能。需要请设置为true

全部节点测速任务

  • speedtest-interval: 执行测速任务的时间间隔,默认为720,单位为分钟。
  • speed-timeout: 单个节点测速时间限制,默认值为10,单位为秒。超过此时间限制的节点会测速失败。

    v0.7 之前的版本中此项为 timeout

  • speed-connection: 测速并发连接数,默认值为5。

    v0.7.1 之前的版本中此项为 connection

若您的服务器带宽不足以承受并发导致失败次数过多,请减少connection,或增加timeout。

活跃节点测速任务

  • active-interval:执行活跃节点测速任务的时间间隔,默认值为60,单位为分钟。
  • active-frequency: 活跃节点最低频率,默认值为100次/interval。即每个active-interval内被请求的次数超过此选项的节点被判定为活跃节点。
  • active-max-number: 最大活跃节点数,默认值为100。若活跃节点超过该选项,将会依照节点速度排序,丢弃多余的节点。此项用于减少服务器流量消耗。

其他

cf_email: ""
cf_key: ""

此为原作者的遗迹,暂无功能。

热更新说明

配置文件中大部分选项都支持热更新,即,在修改配置文件后,无需重启proxypool,下次执行任务时会自动载入新的配置文件信息。

不支持热更新的选项包含:

  • crawl-interval
  • speedtest-interval
  • active-interval