Skip to main content

Crate rinova_proxy_sdk

Crate rinova_proxy_sdk 

Source
Expand description

Convert proxy subscription links to Clash configuration files.

§Quick start

use rinova_proxy_sdk::convert;

#[tokio::main]
async fn main() -> Result<(), rinova_proxy_sdk::ProxyError> {
    let result = convert("https://your-subscription-url", None).await?;
    println!("parsed {} nodes", result.nodes.len());
    Ok(())
}

§Modules

  • parser — parse SS / VMess / Trojan / Hysteria2 URIs
  • [fetch] — fetch and decode subscription content
  • builder — assemble Clash YAML config
  • server — HTTP subscription service
  • i18n — localized messages (en/zh)

Re-exports§

pub use builder::build_config;
pub use builder::to_yaml;
pub use error::ProxyError;
pub use error::Result;
pub use fetch::deduplicate_names;
pub use fetch::fetch_subscription;
pub use i18n::get_lang;
pub use i18n::t;
pub use i18n::t_simple;
pub use i18n::t_with_fallback;
pub use i18n::Lang;
pub use parser::parse_lines;
pub use parser::parse_uri;
pub use server::start_server;
pub use server::ServerHandle;
pub use server::ServerOptions;
pub use types::ClashConfig;
pub use types::ConvertOptions;
pub use types::ConvertResult;
pub use types::ProxyGroup;
pub use types::ProxyNode;
pub use types::ProxyType;
pub use types::RuleMode;

Modules§

builder
error
fetch
i18n
parser
server
types
utils

Functions§

convert
Fetch a subscription URL and convert it to a Clash configuration.
convert_from_lines
Convert pre-parsed URI lines without network requests.