3 个稳定版本
1.0.2 | 2023 年 9 月 21 日 |
---|
#8 在 #outline
66KB
985 行
Rust API 客户端用于 Outline VPN 服务器 API
管理 Outline 服务器的 API。见 getoutline.org。
概览
此 API 客户端由 OpenAPI Generator 项目生成。通过使用来自远程服务器的 openapi-spec,您可以轻松生成 API 客户端。
- API 版本:1.0
- 包版本:1.0
- 构建包:
org.openapitools.codegen.languages.RustClientCodegen
安装
将以下内容添加到 Cargo.toml
[dependencies]
outline_vpn_api = "^1.0"
用法
use std::error::Error;
use outline_vpn_api::apis::{server_api::server_get,{configuration::{Configuration, ApiKey}}};
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
let client = reqwest::Client::builder()
.danger_accept_invalid_certs(true)
.build()?;
let server_info = server_get(&Configuration {
base_path: "https://1.1.1.1:1466/uGyfMASjkdyC2jJASDvBOg".to_string(),
user_agent: None,
client,
basic_auth: None,
oauth_access_token: None,
bearer_access_token: None,
api_key: Option::from(ApiKey { prefix: None, key: "10E13ED8351223B03DCB375F584D43A1232314F4473242EB4641111395E711".to_string() }) ,
}).await?;
println!("Server Name: {}", server_info.name.unwrap());
println!("Server Id: {}", server_info.server_id.unwrap());
println!("Server Port: {}", server_info.port_for_new_access_keys.unwrap());
Ok(())
// Server Name: vpn.example.com
// Server Id: f2324846-c7d1-4515-bb6f-2sda191a44a6
// Server Port: 9921
}
API 端点文档
所有 URI 都相对于 https://myserver/SecretPath
类 | 方法 | HTTP 请求 | 描述 |
---|---|---|---|
AccessKeyApi | access_keys_get | GET /access-keys | |
AccessKeyApi | access_keys_id_data_limit_delete | DELETE /access-keys/{id}/data-limit | |
AccessKeyApi | access_keys_id_data_limit_put | PUT /access-keys/{id}/data-limit | |
AccessKeyApi | access_keys_id_delete | DELETE /access-keys/{id} | |
AccessKeyApi | access_keys_id_get | GET /access-keys/{id} | |
AccessKeyApi | access_keys_id_name_put | PUT /access-keys/{id}/name | |
AccessKeyApi | access_keys_post | POST /access-keys | |
AccessKeyApi | experimental_access_key_data_limit_delete | DELETE /experimental/access-key-data-limit | |
AccessKeyApi | experimental_access_key_data_limit_put | PUT /experimental/access-key-data-limit | |
AccessKeyApi | metrics_transfer_get | GET /metrics/transfer | |
AccessKeyApi | server_access_key_data_limit_delete | DELETE /server/access-key-data-limit | |
AccessKeyApi | server_access_key_data_limit_put | PUT /server/access-key-data-limit | |
AccessKeyApi | server_port_for_new_access_keys_put | PUT /server/port-for-new-access-keys | |
LimitApi | access_keys_id_data_limit_delete | DELETE /access-keys/{id}/data-limit | |
LimitApi | access_keys_id_data_limit_put | PUT /access-keys/{id}/data-limit | |
LimitApi | experimental_access_key_data_limit_delete | DELETE /experimental/access-key-data-limit | |
LimitApi | experimental_access_key_data_limit_put | PUT /experimental/access-key-data-limit | |
LimitApi | server_access_key_data_limit_delete | DELETE /server/access-key-data-limit | |
LimitApi | server_access_key_data_limit_put | PUT /server/access-key-data-limit | |
ServerApi | metrics_enabled_get | GET /metrics/enabled | |
ServerApi | metrics_enabled_put | PUT /metrics/enabled | |
ServerApi | name_put | PUT /name | |
ServerApi | server_get | GET /server | |
ServerApi | server_hostname_for_access_keys_put | PUT /server/hostname-for-access-keys |
模型文档说明
- AccessKey
- AccessKeysGet200Response
- AccessKeysIdGet404Response
- AccessKeysPostRequest
- DataLimit
- MetricsEnabledGet200Response
- MetricsTransferGet200Response
- NamePutRequest
- Server
- ServerHostnameForAccessKeysPutRequest
- ServerPortForNewAccessKeysPutRequest
要获取生成的文档,请使用
cargo doc --open
作者
依赖
~4–16MB
~238K SLoC