mirror of
https://github.com/v2board/v2board.git
synced 2025-06-13 21:28:27 +08:00
update trojan
This commit is contained in:
@ -10,9 +10,12 @@ class ServerTrojanSave extends FormRequest
|
||||
'show' => '',
|
||||
'name' => 'required',
|
||||
'group_id' => 'required|array',
|
||||
'host' => 'required|regex:/^(?!:\/\/)(?=.{1,255}$)((.{1,63}\.){1,127}(?![0-9]*$)[a-z0-9-]+\.?)$/i',
|
||||
'parent_id' => 'nullable|integer',
|
||||
'host' => 'required',
|
||||
'port' => 'required',
|
||||
'server_port' => 'required',
|
||||
'allow_insecure' => 'nullable|in:0,1',
|
||||
'server_name' => 'nullable',
|
||||
'tags' => 'nullable|array',
|
||||
'rate' => 'required|numeric'
|
||||
];
|
||||
@ -32,10 +35,11 @@ class ServerTrojanSave extends FormRequest
|
||||
'name.required' => '节点名称不能为空',
|
||||
'group_id.required' => '权限组不能为空',
|
||||
'group_id.array' => '权限组格式不正确',
|
||||
'parent_id.integer' => '父节点格式不正确',
|
||||
'host.required' => '节点地址不能为空',
|
||||
'host.regex' => '节点地址必须为域名',
|
||||
'port.required' => '连接端口不能为空',
|
||||
'server_port.required' => '后端服务端口不能为空',
|
||||
'allow_insecure.in' => '允许不安全格式不正确',
|
||||
'tags.array' => '标签格式不正确',
|
||||
'rate.required' => '倍率不能为空',
|
||||
'rate.numeric' => '倍率格式不正确'
|
||||
|
@ -119,7 +119,7 @@ class ServerService
|
||||
|
||||
$json = json_decode(self::TROJAN_CONFIG);
|
||||
$json->local_port = $server->server_port;
|
||||
$json->ssl->sni = $server->host;
|
||||
$json->ssl->sni = $server->server_name ? $server->server_name : $server->host;
|
||||
$json->ssl->cert = "/root/.cert/{$server->host}.crt";
|
||||
$json->ssl->key = "/root/.cert/{$server->host}.key";
|
||||
$json->api->api_port = $localPort;
|
||||
|
@ -41,6 +41,8 @@ class Clash
|
||||
$array['server'] = $server->host;
|
||||
$array['port'] = $server->port;
|
||||
$array['password'] = $password;
|
||||
$array['sni'] = $server->server_name;
|
||||
$array['skip-cert-verify'] = $server->allow_insecure ? true : false;
|
||||
return $array;
|
||||
}
|
||||
}
|
||||
|
@ -60,7 +60,11 @@ class Helper
|
||||
public static function buildTrojanLink(ServerTrojan $server, User $user)
|
||||
{
|
||||
$server->name = rawurlencode($server->name);
|
||||
$uri = "trojan://{$user->uuid}@{$server->host}:{$server->port}#{$server->name}";
|
||||
$query = http_build_query([
|
||||
'allowInsecure' => $server->allow_insecure,
|
||||
'peer' => $server->server_name
|
||||
]);
|
||||
$uri = "trojan://{$user->uuid}@{$server->host}:{$server->port}?{$query}#{$server->name}";
|
||||
$uri .= "\r\n";
|
||||
return $uri;
|
||||
}
|
||||
|
@ -33,7 +33,8 @@ class QuantumultX
|
||||
|
||||
public static function buildTrojan($password, $server)
|
||||
{
|
||||
$uri = "trojan={$server->host}:{$server->port}, password={$password}, over-tls=true, tls-verification=true, fast-open=false, udp-relay=false, tag={$server->name}";
|
||||
$tlsVerification = $server->allow_insecure ? true : false;
|
||||
$uri = "trojan={$server->host}:{$server->port}, password={$password}, over-tls=true, tls-host={$server->server_name}, tls-verification={$tlsVerification}, fast-open=false, udp-relay=false, tag={$server->name}";
|
||||
$uri .= "\r\n";
|
||||
return $uri;
|
||||
}
|
||||
|
Reference in New Issue
Block a user