5 个版本

0.2.0 2022 年 11 月 28 日
0.1.3 2022 年 11 月 1 日
0.1.2 2022 年 10 月 24 日
0.1.1 2022 年 8 月 25 日
0.1.0 2022 年 8 月 20 日

#3#iridium

MIT/Apache

87KB
2K SLoC

铱星的 SBD Direct-IP 客户端

铱星的短数据通信 Direct-IP 协议。

此crate专注于传输移动终止消息,常用于向远程站点发送命令。例如,可以用来与水下滑翔机(一种科学自主机器人)通信。

安装

MacOS (Apple Silicon)

curl -o directip -L https://github.com/castelao/DirectIP/releases/latest/download/directip-client-aarch64-apple-darwin
chmod +x directip

MacOS (Intel)

curl -o directip -L https://github.com/castelao/DirectIP/releases/latest/download/directip-client-x86_64-apple-darwin
chmod +x directip

Linux (arm)

curl -o directip -L https://github.com/castelao/DirectIP/releases/latest/download/directip-client-arm-unknown-linux-gnueabihf
chmod +x directip

Linux (x86_64)

curl -o directip -L https://github.com/castelao/DirectIP/releases/latest/download/directip-client-x86_64-unknown-linux-musl
chmod +x directip

Windows (x86_64)

Invoke-WebRequest -Uri 'https://github.com/castelao/DirectIP/releases/latest/download/directip-client-x86_64-pc-windows-msvc.exe' -OutFile directip

从源代码

如果您还没有安装Rust编译器,请安装它。按照https://www.rust-lang.net.cn/tools/install上的说明操作。

通过运行以下命令进行编译:cargo build --release -p directip-client

选项和自定义

  • dry-run: 创建消息并在屏幕上显示,而不尝试传输它。

  • 编码

    • ascii: 默认选项。期望有效的UTF-8。
    • binary: 原样传输。
    • hex: 尚未完全实现。
  • from-file: 当使用时,它期望一个文件路径而不是有效载荷本身。

示例

请注意,以下示例假定本地运行了一个服务器。如果不是这种情况,您可以添加 --dry-run 以进行测试。

ASCII 有效载荷

作为参数提供有效载荷

directip-client --msg-id=987 --server 127.0.0.1:10800 --imei 012345678901234 "Hello World"

或将其与另一个命令链式传递并通过stdin传递有效载荷

echo "Hello World" | directip-client --msg-id=987 --server 127.0.0.1:10800 --imei 012345678901234

或从文件加载

echo "Hello world" > ./my_command.txt

directip-client --server 127.0.0.1:10800 \
    --msg-id=987 \
    --imei 012345678901234 \
    --from-file ./my_command.txt

二进制有效载荷

将其与另一个命令链式传递,使用stdin传递二进制有效载荷

head -c 8 /dev/urandom | directip-client --server 127.0.0.1:10800 --msg-id=987 --imei 012345678901234

或从文件加载

head -c 8 /dev/urandom > ./my_command.txt

directip-client --server 127.0.0.1:10800 \
    --msg-id=987 \
    --imei 012345678901234 \
    --encoding=binary \
    --from-file ./my_command.txt

HEX 有效载荷

进行中

最低支持的 Rust 版本

目前最低支持的 Rust 版本是 1.64.0

许可证

根据以下之一许可

根据您的选择。

贡献

除非您明确声明,否则根据Apache-2.0许可证定义的,您有意提交的任何贡献,旨在包含在作品中,应如上双许可,不附加任何额外条款或条件。

依赖项

约5MB
约92K SLoC