mirror of
https://github.com/EasyTier/EasyTier.git
synced 2026-05-16 02:45:41 +00:00
use workspace, prepare for config server and gui (#48)
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
// with vpn portal, user can use other vpn client to connect to easytier servers
|
||||
// without installing easytier.
|
||||
// these vpn client include:
|
||||
// 1. wireguard
|
||||
// 2. openvpn (TODO)
|
||||
// 3. shadowsocks (TODO)
|
||||
|
||||
use std::sync::Arc;
|
||||
|
||||
use crate::{common::global_ctx::ArcGlobalCtx, peers::peer_manager::PeerManager};
|
||||
|
||||
pub mod wireguard;
|
||||
|
||||
#[async_trait::async_trait]
|
||||
pub trait VpnPortal: Send + Sync {
|
||||
async fn start(
|
||||
&mut self,
|
||||
global_ctx: ArcGlobalCtx,
|
||||
peer_mgr: Arc<PeerManager>,
|
||||
) -> anyhow::Result<()>;
|
||||
async fn dump_client_config(&self, peer_mgr: Arc<PeerManager>) -> String;
|
||||
fn name(&self) -> String;
|
||||
async fn list_clients(&self) -> Vec<String>;
|
||||
}
|
||||
Reference in New Issue
Block a user