gout_api/lib.rs
1//! # Gout API
2//!
3//! [Gout](https://github.com/fb0sh/Gout) 的 Rust SDK。
4//!
5//! 包含共享协议类型和两个客户端:
6//!
7//! | 模块 | 用途 | 认证 |
8//! |------|------|------|
9//! | [`client`] | 隧道操作(创建/列出/删除) | 普通 `api-key` |
10//! | [`admin`] | 管理操作(创建/列出/删除 API key) | `admin-api-key` |
11//! | [`data_channel`] | 数据通道握手和 TCP 转发(底层协议) | token 认证 |
12//!
13//! # 快速开始
14//!
15//! ```no_run
16//! # async fn doc() {
17//! use gout_api::client::GoutClient;
18//! use gout_api::admin::GoutAdminClient;
19//! use gout_api::TunnelType;
20//!
21//! let gout = GoutClient::new("server:8080", "sk-xxx");
22//! let tun = gout.create_tunnel(TunnelType::Tcp, 4000).await.unwrap();
23//! gout.delete_tunnel(tun.token).await.unwrap();
24//!
25//! let admin = GoutAdminClient::new("server:8080", "admin-key");
26//! let key = admin.create_key("my laptop").await.unwrap();
27//! # }
28//! ```
29
30pub mod admin;
31pub mod client;
32pub mod data_channel;
33
34mod proto;
35pub use proto::*;