mirror of
https://github.com/EasyTier/EasyTier.git
synced 2026-04-22 16:17:23 +08:00
This commit is contained in:
@@ -22,9 +22,15 @@ cli:
|
||||
api_server_port:
|
||||
en: "The port to listen for the restful server, acting as ApiHost and used by the web frontend"
|
||||
zh-CN: "restful 服务器的监听端口,作为 ApiHost 并被 web 前端使用"
|
||||
api_server_addr:
|
||||
en: "The listen address for the restful server, e.g. 0.0.0.0, ::, 127.0.0.1"
|
||||
zh-CN: "restful 服务器的监听地址, 例如 0.0.0.0, ::, 127.0.0.1"
|
||||
web_server_port:
|
||||
en: "The port to listen for the web dashboard server, default is same as the api server port"
|
||||
zh-CN: "web dashboard 服务器的监听端口, 默认为与 api 服务器端口相同"
|
||||
web_server_addr:
|
||||
en: "The listen address for the web dashboard server (only effective when web_server_port differs from api_server_port or web_server_addr differs from api_server_addr), e.g. 0.0.0.0, ::, 127.0.0.1"
|
||||
zh-CN: "web dashboard 服务器的监听地址(仅在 web_server_port 与 api_server_port 不同,或 web_server_addr 与 api_server_addr 不同时生效), 例如 0.0.0.0, ::, 127.0.0.1"
|
||||
no_web:
|
||||
en: "Do not run the web dashboard server"
|
||||
zh-CN: "不运行 web dashboard 服务器"
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#[macro_use]
|
||||
extern crate rust_i18n;
|
||||
|
||||
use std::net::IpAddr;
|
||||
use std::sync::Arc;
|
||||
|
||||
use clap::Parser;
|
||||
@@ -81,6 +82,13 @@ struct Cli {
|
||||
)]
|
||||
api_server_port: u16,
|
||||
|
||||
#[arg(
|
||||
long,
|
||||
default_value = "0.0.0.0",
|
||||
help = t!("cli.api_server_addr").to_string(),
|
||||
)]
|
||||
api_server_addr: IpAddr,
|
||||
|
||||
#[arg(
|
||||
long,
|
||||
help = t!("cli.geoip_db").to_string(),
|
||||
@@ -95,6 +103,14 @@ struct Cli {
|
||||
)]
|
||||
web_server_port: Option<u16>,
|
||||
|
||||
#[cfg(feature = "embed")]
|
||||
#[arg(
|
||||
long,
|
||||
default_value = "0.0.0.0",
|
||||
help = t!("cli.web_server_addr").to_string(),
|
||||
)]
|
||||
web_server_addr: IpAddr,
|
||||
|
||||
#[cfg(feature = "embed")]
|
||||
#[arg(
|
||||
long,
|
||||
@@ -205,7 +221,10 @@ async fn main() {
|
||||
(None, None)
|
||||
} else {
|
||||
let web_router = web::build_router(cli.api_host.clone());
|
||||
if cli.web_server_port.is_none() || cli.web_server_port == Some(cli.api_server_port) {
|
||||
if cli.web_server_port.is_none()
|
||||
|| (cli.web_server_port == Some(cli.api_server_port)
|
||||
&& cli.web_server_addr == cli.api_server_addr)
|
||||
{
|
||||
(Some(web_router), None)
|
||||
} else {
|
||||
(None, Some(web_router))
|
||||
@@ -215,7 +234,7 @@ async fn main() {
|
||||
let web_router_restful = None;
|
||||
|
||||
let _restful_server_tasks = restful::RestfulServer::new(
|
||||
format!("0.0.0.0:{}", cli.api_server_port).parse().unwrap(),
|
||||
std::net::SocketAddr::new(cli.api_server_addr, cli.api_server_port),
|
||||
mgr.clone(),
|
||||
db,
|
||||
web_router_restful,
|
||||
@@ -231,9 +250,7 @@ async fn main() {
|
||||
let _web_server_task = if let Some(web_router) = web_router_static {
|
||||
Some(
|
||||
web::WebServer::new(
|
||||
format!("0.0.0.0:{}", cli.web_server_port.unwrap_or(0))
|
||||
.parse()
|
||||
.unwrap(),
|
||||
std::net::SocketAddr::new(cli.web_server_addr, cli.web_server_port.unwrap_or(0)),
|
||||
web_router,
|
||||
)
|
||||
.await
|
||||
|
||||
Reference in New Issue
Block a user