always-online-stun 项目使用教程
1. 项目目录结构及介绍
always-online-stun/
├── Cargo.lock
├── Cargo.toml
├── LICENSE
├── README.md
├── candidates.txt
├── geoip_cache.txt
├── rust-toolchain
├── valid_hosts.txt
├── valid_hosts_tcp.txt
├── valid_ipv4s.txt
├── valid_ipv4s_tcp.txt
├── valid_ipv6s.txt
├── valid_ipv6s_tcp.txt
├── valid_nat_testing_hosts.txt
├── valid_nat_testing_hosts_tcp.txt
├── valid_nat_testing_ipv4s.txt
├── valid_nat_testing_ipv4s_tcp.txt
├── valid_nat_testing_ipv6s.txt
├── valid_nat_testing_ipv6s_tcp.txt
└── src/
├── main.rs
└── ...
目录结构说明
Cargo.lock
和Cargo.toml
: Rust项目的依赖管理文件。LICENSE
: 项目的开源许可证文件。README.md
: 项目的介绍和使用说明。candidates.txt
: 包含待检查的STUN服务器列表。geoip_cache.txt
: 包含STUN服务器的地理位置信息。rust-toolchain
: 指定Rust工具链版本。valid_hosts.txt
和valid_hosts_tcp.txt
: 包含有效的STUN服务器列表,分别支持UDP和TCP。valid_ipv4s.txt
和valid_ipv4s_tcp.txt
: 包含有效的IPv4 STUN服务器列表,分别支持UDP和TCP。valid_ipv6s.txt
和valid_ipv6s_tcp.txt
: 包含有效的IPv6 STUN服务器列表,分别支持UDP和TCP。valid_nat_testing_hosts.txt
和valid_nat_testing_hosts_tcp.txt
: 包含支持NAT测试的STUN服务器列表,分别支持UDP和TCP。valid_nat_testing_ipv4s.txt
和valid_nat_testing_ipv4s_tcp.txt
: 包含支持NAT测试的IPv4 STUN服务器列表,分别支持UDP和TCP。valid_nat_testing_ipv6s.txt
和valid_nat_testing_ipv6s_tcp.txt
: 包含支持NAT测试的IPv6 STUN服务器列表,分别支持UDP和TCP。src/
: 项目的源代码目录。
2. 项目的启动文件介绍
项目的启动文件位于 src/main.rs
。该文件是Rust项目的入口点,负责初始化项目并启动STUN服务器的检查和更新流程。
main.rs
文件内容概述
fn main() {
// 初始化日志和配置
init_logger();
let config = load_config();
// 启动STUN服务器的检查和更新流程
check_stun_servers(config);
}
主要功能
init_logger()
: 初始化日志系统,用于记录程序运行时的日志信息。load_config()
: 加载项目的配置文件,获取配置参数。check_stun_servers(config)
: 根据配置文件中的参数,检查和更新STUN服务器列表。
3. 项目的配置文件介绍
项目没有显式的配置文件,但可以通过环境变量或命令行参数来配置项目的运行参数。主要的配置参数包括:
CHECK_INTERVAL
: 检查STUN服务器的间隔时间,单位为小时。LOG_LEVEL
: 日志级别,可选值为debug
,info
,warn
,error
。OUTPUT_DIR
: 输出文件的目录路径。
配置示例
export CHECK_INTERVAL=1
export LOG_LEVEL=info
export OUTPUT_DIR=/path/to/output
通过设置这些环境变量,可以灵活地配置项目的运行行为。