[Settings]
; =========================
; 全局功能开关 / Global Switches
; =========================

# 开启更新，用于控制是否更新接口，若关闭则所有工作模式（获取接口和测速）均停止；可选值: True, False | Enable update, used to control whether to update the interface, if closed, all working modes (get interface and speed measurement) will stop; Optional values: True, False
open_update = True
# 开启无结果频道分类，自动归类至底部；可选值: True, False | Enable empty category, automatically classified to the bottom; Optional values: True, False
open_empty_category = False
# 开启显示更新时间；可选值: True, False | Enable display update time; Optional values: True, False
open_update_time = True
# 开启显示接口说明信息，用于控制是否显示接口来源、分辨率、协议类型等信息，为 $ 符号后的内容，播放软件使用该信息对接口进行描述，若部分播放器（如 PotPlayer）不支持解析导致无法播放可关闭；可选值: True, False | Enable to display interface description information, used to control whether to display interface source, resolution, protocol type and other information, the content after the $ symbol, the playback software uses this information to describe the interface, if some players (such as PotPlayer) do not support parsing and cannot play, you can turn it off; Optional values: True, False
open_url_info = False
# 开启 EPG 功能，支持频道显示预告内容；可选值: True, False | Enable EPG function, support channel display preview content; Optional values: True, False
open_epg = True
# 开启转换生成 m3u 文件类型结果链接，支持显示频道图标；可选值: True, False | Enable to convert and generate m3u file type result links, support display channel icons; Optional values: True, False
open_m3u_result = True
# 单个频道接口数量 | Number of interfaces per channel
urls_limit = 5
# 更新时间显示位置，需要开启 open_update_time 才能生效；可选值: top、bottom；top: 显示于结果顶部，bottom: 显示于结果底部 | Update time display position, need to enable open_update_time to take effect; Optional values: top, bottom; top: display at the top of the result, bottom: display at the bottom of the result
update_time_position = top
# 系统语言设置；可选值: zh_CN、en | Application language setting; Optional values: zh_CN, en
language = zh_CN


; =========================
; 定时执行设置 / Scheduled Execution Settings
; =========================

# 定时执行更新时间模式，不作用于工作流；可选值: interval、time； interval: 按间隔时间执行，time: 按指定时间点执行 | Scheduled execution update mode, does not apply to workflow; Optional values: interval, time; interval: execute by interval time, time: execute at specified time point
update_mode = interval
# 定时执行更新时间间隔，仅在update_mode = interval时生效，单位小时，设置 0 或空则只运行一次；默认值: 12 | Scheduled execution update interval, only takes effect when update_mode = interval, unit hours, set to 0 or empty to run only once; Default value: 12
update_interval = 12
# 定时执行更新时间点，仅在update_mode = time时生效，格式 HH:MM，支持多个时间点逗号分隔 | Scheduled execution update time point, only takes effect when update_mode = time, format HH:MM, supports multiple time points separated by commas
update_times =
# 启动时执行更新，用于控制程序启动后是否立即执行一次更新；可选值: True, False | Execute update at startup, used to control whether to execute an update immediately after the program starts; Optional values: True, False
update_startup = True
# 时区，可用于控制定时执行时区或显示更新时间的时区；可选值: Asia/Shanghai 或其它时区编码 | Time zone, can be used to control the time zone for scheduled execution or display update time; Optional values: Asia/Shanghai or other time zone codes
time_zone = Asia/Shanghai


; =========================
; 结果输出 & 服务配置 / Output & Service
; =========================

# 模板文件路径；默认值: config/demo.txt | Template file path; Default value: config/demo.txt
source_file = config/demo.txt
# 生成结果文件路径；默认值: output/result.txt | Generate result file path; Default value: output/result.txt
final_file = output/result.txt
# 开启实时写入结果文件，在测速过程中可以访问并使用更新结果 | Enable real-time writing of result files, you can access and use the updated results during the speed measurement process
open_realtime_write = True
# 开启页面服务，用于控制是否启动结果页面服务；如果使用青龙等平台部署，有专门设定的定时任务，需要更新完成后停止运行，可以关闭该功能；可选值: True, False | Enable page service, used to control whether to start the result page service; If you use platforms such as Qinglong for deployment, there are special scheduled tasks, you need to stop running after the update is completed, you can turn off this function; Optional values: True, False
open_service = True
# 页面服务端口，用于控制页面服务的端口号；默认值: 5180 | Page service port, used to control the port number of the page service; Default value: 5180
app_port = 5180
# 公网协议；可选值: http、https | Public network protocol; Optional values: http, https
public_scheme = http
# 公网 Host 地址，用于生成结果中的访问地址，默认使用本机 IP | Public network Host address, used to generate the access address in the result, the local machine IP is used by default
public_domain = 127.0.0.1
# CDN 代理加速地址，用于订阅源、频道图标等资源的加速访问 | CDN proxy acceleration address, used for accelerated access to subscription sources, channel icons and other resources
cdn_url =
# HTTP 代理地址，用于获取订阅源等网络请求 | HTTP proxy address, used for network requests such as obtaining subscription sources
http_proxy =


; =========================
; 数据源总开关 / Source Global Switches
; =========================

# 开启本地源功能，将使用模板文件与本地源文件（local.txt）中的数据；可选值: True, False | Enable local source function, will use the data in the template file and the local source file (local.txt); Optional values: True, False
open_local = True
# 开启订阅源功能；可选值: True, False | Enable subscription source function; Optional values: True, False
open_subscribe = True


; =========================
; 数据源工作模式 / Source Working Modes
; =========================

# 开启使用历史更新结果（包含模板与结果文件的接口），合并至本次更新中；可选值: True, False | Enable to use historical update results (including interfaces of templates and result files), merged into this update; Optional values: True, False
open_history = True
# 开启使用 M3U 内含的请求头验证信息，用于测速等操作，注意：只有个别播放器支持播放这类含验证信息的接口，默认为关闭；可选值: True, False | Enable to use the request header verification information contained in M3U, used for speed measurement and other operations. Note: Only a few players support playing this type of interface with verification information, which is turned off by default; Optional values: True, False
open_headers = False


; =========================
; 过滤 & 测速设置 / Filtering & Speed Test
; =========================

# 开启测速功能，获取响应时间、速率、分辨率；可选值: True, False | Enable speed test functionality to obtain response time, rate, and resolution; Optional values: True, False
open_speed_test = True
# 开启分辨率过滤，低于最小分辨率（min_resolution）的接口将会被过滤，GUI 用户需要手动安装 FFmpeg，程序会自动调用 FFmpeg 获取接口分辨率，推荐开启，虽然会增加测速阶段耗时，但能更有效地区分是否可播放的接口；可选值: True, False | Enable resolution filtering, interfaces below the minimum resolution (min_resolution) will be filtered, GUI users need to manually install FFmpeg, the program will automatically call FFmpeg to obtain the interface resolution, it is recommended to enable, although it will increase the time-consuming of the speed measurement stage, but it can more effectively distinguish whether the interface can be played; Optional values: True, False
open_filter_resolution = True
# 开启速率过滤，低于最小速率（min_speed）的接口将会被过滤；可选值: True, False | Enable rate filtering, interfaces below the minimum rate (min_speed) will be filtered; Optional values: True, False
open_filter_speed = True
# 开启全量测速，频道下所有接口（白名单除外）都进行测速，关闭则当测速有效结果数量达到urls_limit后停止剩余接口测速 | Enable full speed test, all interfaces under the channel (except for the whitelist) are speed tested, if turned off, when the number of valid speed test results reaches urls_limit, the remaining interfaces will stop speed testing
open_full_speed_test = False
# 开启补偿机制模式，用于控制当频道接口数量不足时，自动将不满足条件（例如低于最小速率）但可能可用的接口添加至结果中，从而避免结果为空的情况；可选值: True, False | Enable compensation mechanism mode, used to control when the number of channel interfaces is insufficient, automatically add interfaces that do not meet the conditions (such as lower than the minimum rate) but may be available to the result, thereby avoiding the result being empty; Optional values: True, False
open_supply = False

# 接口最小分辨率，需要开启 open_filter_resolution 才能生效 | Minimum resolution of the interface, need to enable open_filter_resolution to take effect
min_resolution = 1280x720
# 接口最大分辨率，需要开启 open_filter_resolution 才能生效 | Maximum resolution of the interface, need to enable open_filter_resolution to take effect
max_resolution = 3840x2160
# 接口最小速率（单位 M/s），需要开启 open_filter_speed 才能生效 | Minimum rate of the interface (unit M/s), need to enable open_filter_speed to take effect
min_speed = 0.5
# 分辨率与速率映射关系，用于控制不同分辨率接口的最低速率要求，格式为 resolution:speed，多个映射关系逗号分隔 | Resolution and rate mapping relationship, used to control the minimum rate requirements for interfaces of different resolutions, the format is resolution:speed, multiple mapping relationships are separated by commas
resolution_speed_map = 1280x720:0.2,1920x1080:0.5,3840x2160:1.0

# 同时执行测速的接口数量，用于控制测速阶段的并发数量，数值越大测速所需时间越短，负载较高，结果可能不准确；数值越小测速所需时间越长，低负载，结果较准确；调整此值能优化更新时间 | Number of interfaces to be tested at the same time, used to control the concurrency during the speed measurement stage, the larger the value, the shorter the speed measurement time, higher load, and the result may be inaccurate; The smaller the value, the longer the speed measurement time, lower load, and more accurate results; Adjusting this value can optimize the update time
speed_test_limit = 5
# 单个接口测速超时时长，单位秒(s)；数值越大测速所需时间越长，能提高获取接口数量，但质量会有所下降；数值越小测速所需时间越短，能获取低延时的接口，质量较好；调整此值能优化更新时间 | Single interface speed measurement timeout duration, unit seconds (s); The larger the value, the longer the speed measurement time, which can improve the number of interfaces obtained, but the quality will decline; The smaller the value, the shorter the speed measurement time, which can obtain low-latency interfaces with better quality; Adjusting this value can optimize the update time
speed_test_timeout = 10
# 测速阶段使用 Host 地址进行过滤，相同 Host 地址的频道将共用测速数据，开启后可大幅减少测速所需时间，但可能会导致测速结果不准确；可选值: True, False | Use Host address for filtering during speed measurement, channels with the same Host address will share speed measurement data, enabling this can significantly reduce the time required for speed measurement, but may lead to inaccurate speed measurement results; Optional values: True, False
speed_test_filter_host = False

# 查询请求超时时长，单位秒(s)，用于控制查询接口文本链接的超时时长以及重试时长，调整此值能优化更新时间 | Query request timeout duration, unit seconds (s), used to control the timeout duration and retry duration of querying the interface text link, adjusting this value can optimize the update time
request_timeout = 10


; =========================
; 网络协议 & 地域偏好 / Network & Region Preferences
; =========================

# 强制认为当前网络支持 IPv6，跳过检测 | Force to consider that the current network supports IPv6, skip detection
ipv6_support = False
# 生成结果中接口的协议类型；可选值: ipv4、ipv6、all | Protocol type of the interface in the generated result; Optional values: ipv4, ipv6, all
ipv_type = all
# 接口协议类型偏好，优先将该类型的接口排在结果前面；可选值: ipv4、ipv6、auto | Interface protocol type preference, prefer to put this type of interface in front of the result; Optional values: ipv4, ipv6, auto
ipv_type_prefer = auto
# 接口归属地，用于控制结果只包含填写的归属地类型，支持关键字过滤，英文逗号分隔，不填写表示不指定归属地，建议使用靠近使用者的归属地，能提升播放体验 | Interface location, used to control the result to only include the filled location type, supports keyword filtering, separated by English commas, not filled in means no location specified, it is recommended to use the location close to the user, which can improve the playback experience
location =
# 接口运营商，用于控制结果中只包含填写的运营商类型，支持关键字过滤，英文逗号分隔，不填写表示不指定运营商 | Interface operator, used to control the result to only include the filled operator type, supports keyword filtering, separated by English commas, not filled in means no operator specified
isp =


; =========================
; 结果排序偏好 / Result Ordering Preference
; =========================

# 结果偏好的接口来源，结果优先按该顺序进行排序，逗号分隔，例如: local,subscribe；不填写则表示不指定来源，按照接口速率排序 | Preferred interface source of the result, the result is sorted according to this order, separated by commas, for example: local, subscribe; If not filled in, it means that the source is not specified, and it is sorted according to the interface rate
origin_type_prefer =


; =========================
; 本地源 / Local Source
; =========================

# 结果中偏好的本地源接口数量 | Preferred number of local source interfaces in the result
local_num = 10


; =========================
; 订阅源 / Subscription Source
; =========================

# 结果中偏好的订阅源接口数量 | Preferred number of subscription source interfaces in the result
subscribe_num = 10


; =========================
; 频道台标 / Channel Logo
; =========================

# 频道台标库地址 | Channel logo library address
logo_url =
# 频道台标文件类型 | Channel logo file type
logo_type = png


; =========================
; RTMP 推流 / RTMP Push
; =========================

# 开启 RTMP 推流功能，需要安装 FFmpeg，利用本地带宽提升接口播放体验；可选值: True, False | Enable RTMP push function, need to install FFmpeg, use local bandwidth to improve the interface playback experience; Optional values: True, False
open_rtmp = True
# Nginx HTTP 服务端口，用于 RTMP 推流转发的 HTTP 服务端口；默认值: 8080 | Nginx HTTP service port, used for the HTTP service port of RTMP push forwarding; Default value: 8080
nginx_http_port = 8080
# Nginx RTMP 服务端口，用于 RTMP 推流转发的 RTMP 服务端口；默认值: 1935 | Nginx RTMP service port, used for the RTMP service port of RTMP push forwarding; Default value: 1935
nginx_rtmp_port = 1935
# RTMP 频道接口空闲停止推流超时时长，单位秒(s)，用于控制接口无人观看时超过该时长后停止推流，调整此值能优化服务器资源占用 | RTMP channel interface idle stop streaming timeout duration, unit seconds (s), used to control the interface to stop streaming after exceeding this duration when no one is watching, adjusting this value can optimize server resource usage
rtmp_idle_timeout = 300
# RTMP 推流最大并发数量，用于控制同时推流的频道数量，数值越大服务器压力越大，调整此值能优化服务器资源占用 | RTMP maximum concurrent streaming quantity, used to control the number of channels streaming at the same time, the larger the value, the greater the server pressure, adjusting this value can optimize server resource usage
rtmp_max_streams = 10