14个版本 (5个稳定版)
1.3.0 | 2024年6月24日 |
---|---|
1.3.0-a | 2024年3月12日 |
1.2.0 | 2024年2月29日 |
0.0.5 | 2024年2月19日 |
#110 在 HTTP服务器 中
每月 2,030 次下载
200KB
4K SLoC
RuStream
概述
RuStream
是一个自托管的流媒体引擎,可以通过认证会话渲染媒体文件。
安装
cargo add RuStream
使用方法
use rustream;
#[actix_rt::main]
async fn main() {
match rustream::start().await {
Ok(_) => {
println!("RuStream session has ended")
}
Err(err) => {
eprintln!("Error starting RuStream: {}", err)
}
}
}
下载针对特定操作系统的可执行文件
macOS
curl -o RuStream-Darwin-x86_64.tar.gz -LH "Accept: application/octet-stream" "https://github.com/thevickypedia/RuStream/releases/latest/download/RuStream-Darwin-x86_64.tar.gz"
Linux
curl -o RuStream-Linux-x86_64.tar.gz -LH "Accept: application/octet-stream" "https://github.com/thevickypedia/RuStream/releases/latest/download/RuStream-Linux-x86_64.tar.gz"
RaspberryPi
curl -o RuStream-RaspberryPi.tar.gz -LH "Accept: application/octet-stream" "https://github.com/thevickypedia/RuStream/releases/latest/download/RuStream-RaspberryPi.tar.gz"
Windows
curl -o RuStream-Windows-x86_64.zip -LH "Accept: application/octet-stream" "https://github.com/thevickypedia/RuStream/releases/latest/download/RuStream-Windows-x86_64.zip"
环境变量
必需
- authorization:键值对字典,其中键为
username
,值为password
。 - media_source:要流式传输的文件的源路径。
以
_
(下划线)和.
(点)开头或结尾的文件将被忽略
可选
- debug:启用调试级别日志的布尔标志。默认为
false
- utc_logging:将时区设置为UTC的布尔标志。默认为
true
- media_host:托管服务器的IP地址。默认为
127.0.0.1
/localhost
- media_port:托管应用程序的端口号。默认为
8000
- session_duration:每个认证会话应持续的时间 (以秒为单位)。默认为
3600
- file_formats:支持的文件格式向量。默认为
[mp4, mov, jpg, jpeg]
- workers:为服务器启动的工作进程数量。默认为物理核心数。
- max_connections:每个工作进程的并发连接数上限。默认为
3
- max_payload_size:从UI上传的文件的最大大小。默认为
100 MB
输入格式应为,
10 MB
,3 GB
- 输入不区分大小写 - 网站:要添加到CORS配置的网站向量(支持正则表达式)。仅在通过CDN隧道传输时才需要
- key_file:SSL证书的私钥文件路径。默认为
None
- cert_file:SSL证书完整链文件路径。默认为
None
- secure_session:布尔标志,用于保护cookie
session_token
。默认为false
如果将
secure_session
设置为true
,则cookiesession_token
将仅通过HTTPS发送
这意味着服务器只能通过HTTPS
或localhost
来托管
有关环境变量和
dotenv
用法的更多信息,请查看 GitHub Wiki
容器
https://crates.io/crates/RuStream
Cargo Docs - 官方操作手册
https://docs.rs/RuStream/latest/rustream/
生成器
cargo doc --document-private-items --no-deps
代码检查
需求
rustup component add clippy
使用方法
cargo clippy --no-deps --fix
GitHub Wiki - 项目洞察
https://github.com/thevickypedia/RuStream/wiki
许可 & 版权
© Vignesh Rao
许可协议:MIT License
依赖项
~22–36MB
~671K SLoC