#sockets #activation #systemd #better #buffering

app rtltcp

rtltcp是一个更好的缓冲区支持和对systemd套接字激活的rtl-tcp的Rust实现。

1个不稳定版本

0.1.1 2022年1月26日

#11 in #activation

MIT/ApacheGPL-2.0+

17KB
141

rtltcp

Rust GitHub Template Crates.io Docs.rs CI Coverage Status

rtltcp是rtl-tcp的Rust实现,具有更好的缓冲区和对systemd 套接字激活的支持。

安装

下载最新的二进制发布版本

下载rtltcp的最新发布版本并将其放置在/usr/local/bin

# ARMv7 (e.g. Raspberry Pi)
wget https://github.com/niclashoyer/rtltcp/releases/download/0.1.0/rtltcp-raspbian-armv7 -O /usr/local/bin/rtltcp
chmod +x /usr/local/bin/rtltcp

Cargo

如果您想使用自己的rust工具链构建代码,可以使用cargo为您完成。

  • 按照此指南安装rust工具链以安装cargo。
  • 运行 cargo install rtltcp

使用Systemd套接字激活

通过使用systemd套接字激活,可以在有连接时启动rtltcp。这样,在不使用时无需在服务器端任何努力的情况下,可以使rtl-sdr棒保持冷却。

要使用套接字激活,请将文件rtltcp.service和文件rtltcp.socket放置在/etc/systemd/system/中。

rtltcp.服务:

[Unit]
Description=RTL TCP Service
After=network.target
Requires=rtltcp.socket

[Service]
Type=notify
User=pi
ExecStart=/usr/local/bin/rtltcp
TimeoutStopSec=5

rtltcp.套接字:

[Unit]
Description=RTL TCP Socket
PartOf=rtltcp.service

[Socket]
ListenStream=[::]:1234

[Install]
WantedBy=sockets.target

通过使用cargo install或下载最新发布版本(见上面)安装rtltcp。现在启用并启动套接字

systemctl enable rtltcp.socket
systemctl start rtltcp.socket

Systemd现在应该在端口1234上监听,并自动启动/停止rtltcp。

许可

许可协议为以下之一

任选其一。

贡献

除非您明确声明,否则任何旨在包含在作品中的贡献,如Apache-2.0许可证中定义的,均应按照上述方式双重许可,不附加任何其他条款或条件。

请参阅CONTRIBUTING.md

依赖项

~6-15MB
~182K SLoC