4 个版本
0.1.3 | 2023年10月25日 |
---|---|
0.1.2 | 2023年4月6日 |
0.1.1 | 2023年3月12日 |
0.1.0 | 2023年3月12日 |
#19 in #tls-connection
用于 qs-lite
35KB
582 代码行
QSocket Rust
Rust 的 qsocket 库...
使用方法
使用非常简单,qsocket_rs::new
函数通过给定的密钥创建一个新的量子套接字,它包括标准 std::net::TcpStream
套接字的所有功能,并实现了 io::Read/Write
。创建套接字后,需要通过调用 qsocket_rs::Dial*
函数拨号到 QSRN 网络。以下是一个简单的示例...
use qsocket;
/// Creates a new quantum socket instance.
///
/// `secret` value can be considered as the password for the QSocket connection,
/// It will be used for generating a 128bit unique identifier (UID) for the connection.
let mut qsock = qsocket::QSocket::new("my-secret", true);
/// Opens a TLS connection to the QSRN.
///
/// If the `verify_cert` parameter is true,
/// after establishing a TLS connection with the QSRN gate server,
/// the TLS certificate fingerprint will be validated with the hardcoded certificate fingerprint value `QSRN_CERT_FINGERPRINT`.
///
/// If the connection fails due to network related errors,
/// function will return the corresponding error, in the case of
/// QSRN related errors the function will return one the ERR_KNOCK_* errors.
if let Err(e) = qsock.dial() {
panic!("{}", e);
}
拨号到 QSRN 后,套接字即可进行读写操作。
依赖关系
~10–20MB
~376K SLoC