| Crates.io | cloudpub-common |
| lib.rs | cloudpub-common |
| version | 3.0.2 |
| created_at | 2025-09-19 10:50:45.706741+00 |
| updated_at | 2025-12-24 08:26:31.010089+00 |
| description | Common code for the client, server, and GUI |
| homepage | https://github.com/ermak-dev/cloudpub |
| repository | https://github.com/ermak-dev/cloudpub |
| max_upload_size | |
| id | 1846273 |
| size | 222,352 |
Общая библиотека для компонентов CloudPub - платформы безопасной публикации локальных сервисов.
cloudpub-common содержит общий код, используемый клиентом (cloudpub-client), сервером (cloudpub-server) и графическим интерфейсом (cloudpub-gui). Библиотека предоставляет базовую функциональность для работы с протоколами, сетевым взаимодействием, шифрованием и логированием.
rustls с нативными сертификатамиtokio-tungstenitetracing и tracing-subscriber[dependencies]
cloudpub-common = { version = "2.4.2", features = ["rustls"] }
use cloudpub_common::logging;
#[tokio::main]
async fn main() {
logging::init_tracing("info");
tracing::info!("Приложение запущено");
}
use cloudpub_common::config::Config;
let config = Config::load()?;
println!("Сервер: {}", config.server);
println!("Токен установлен: {}", config.token.is_some());
use cloudpub_common::tls;
let tls_config = tls::create_client_config()?;
let connector = TlsConnector::from(Arc::new(tls_config));
use cloudpub_common::i18n;
let message = i18n::t!("connection-established");
println!("{}", message);
protocol - Определение протокола обмена сообщениямиtransport - Транспортный уровень (WebSocket, Unix sockets)tls - TLS/SSL функциональностьconfig - Управление конфигурациейlogging - Система логированияi18n - Интернационализацияutils - Вспомогательные утилитыБиблиотека использует Protocol Buffers для определения сообщений:
message Message {
oneof payload {
PublishRequest publish = 1;
PublishResponse response = 2;
Data data = 3;
Control control = 4;
}
}
tokio - Асинхронная runtimebytes - Эффективная работа с байтовыми буферамиfutures - Асинхронные примитивыtracing - Структурированное логированиеtokio-tungstenite - WebSocket клиент/серверasync-http-proxy - HTTP прокси поддержкаasync-socks5 - SOCKS5 прокси поддержкаrustls - TLS имплементация на Rustrustls-native-certs - Системные сертификатыx509-parser - Парсинг X.509 сертификатовp12 - Работа с PKCS#12 файлами# Сборка с базовыми возможностями
cargo build --package cloudpub-common
# Сборка с TLS поддержкой
cargo build --package cloudpub-common --features rustls
# Сборка с полной функциональностью
cargo build --package cloudpub-common --all-features
cargo test --package cloudpub-common
Библиотека следует семантическому версионированию (SemVer). Текущая версия: 2.4.2
Apache License 2.0
Приветствуются pull requests. Для крупных изменений сначала откройте issue для обсуждения.