启动xray时是否可以强制重启
This commit is contained in:
parent
68c9bb10f5
commit
0325dfedd1
|
|
@ -30,13 +30,15 @@ public class NetNodeConfigController extends BaseController {
|
|||
* 启动节点Xray
|
||||
*
|
||||
* @param nodeId 节点ID
|
||||
* @param forceRestart 是否强制重启(已启动的情况下),默认false
|
||||
*/
|
||||
@SaCheckPermission("net:node:edit")
|
||||
@Log(title = "启动Xray", businessType = BusinessType.UPDATE)
|
||||
@PostMapping("/xray/start/{nodeId}")
|
||||
public R<XrayStartResponse> startXray(@NotNull(message = "节点ID不能为空")
|
||||
@PathVariable Long nodeId) {
|
||||
return R.ok(netNodeConfigService.startXray(nodeId));
|
||||
@PathVariable Long nodeId,
|
||||
@RequestParam(defaultValue = "false") boolean forceRestart) {
|
||||
return R.ok(netNodeConfigService.startXray(nodeId, forceRestart));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -26,17 +26,19 @@ public interface INetNodeConfigService {
|
|||
*
|
||||
* @param node 节点信息
|
||||
* @param config 节点配置
|
||||
* @param forceRestart 是否强制重启(已启动的情况下)
|
||||
* @return Xray启动请求
|
||||
*/
|
||||
XrayStartRequest buildXrayStartRequest(NetNodeVo node, NetNodeConfigVo config);
|
||||
XrayStartRequest buildXrayStartRequest(NetNodeVo node, NetNodeConfigVo config, boolean forceRestart);
|
||||
|
||||
/**
|
||||
* 启动节点Xray
|
||||
*
|
||||
* @param nodeId 节点ID
|
||||
* @param forceRestart 是否强制重启(已启动的情况下)
|
||||
* @return 启动响应
|
||||
*/
|
||||
XrayStartResponse startXray(Long nodeId);
|
||||
XrayStartResponse startXray(Long nodeId, boolean forceRestart);
|
||||
|
||||
/**
|
||||
* 停止节点Xray
|
||||
|
|
|
|||
|
|
@ -57,12 +57,12 @@ public class NetNodeConfigServiceImpl implements INetNodeConfigService {
|
|||
|
||||
|
||||
@Override
|
||||
public XrayStartRequest buildXrayStartRequest(NetNodeVo node, NetNodeConfigVo config) {
|
||||
public XrayStartRequest buildXrayStartRequest(NetNodeVo node, NetNodeConfigVo config, boolean forceRestart) {
|
||||
XrayStartRequest request = new XrayStartRequest();
|
||||
|
||||
// 设置内部配置
|
||||
XrayStartRequest.Internals internals = new XrayStartRequest.Internals();
|
||||
internals.setForceRestart(false);
|
||||
internals.setForceRestart(forceRestart);
|
||||
|
||||
XrayStartRequest.Hashes hashes = new XrayStartRequest.Hashes();
|
||||
hashes.setEmptyConfig(generateEmptyConfigHash());
|
||||
|
|
@ -329,7 +329,7 @@ public class NetNodeConfigServiceImpl implements INetNodeConfigService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public XrayStartResponse startXray(Long nodeId) {
|
||||
public XrayStartResponse startXray(Long nodeId, boolean forceRestart) {
|
||||
// 获取节点信息
|
||||
NetNodeVo node = netNodeMapper.selectVoById(nodeId);
|
||||
if (node == null) {
|
||||
|
|
@ -341,7 +341,7 @@ public class NetNodeConfigServiceImpl implements INetNodeConfigService {
|
|||
Assert.notNull(config, "节点配置不存在!");
|
||||
|
||||
// 构建启动请求
|
||||
XrayStartRequest request = buildXrayStartRequest(node, config);
|
||||
XrayStartRequest request = buildXrayStartRequest(node, config, forceRestart);
|
||||
|
||||
// 构建节点URL
|
||||
String nodeUrl = RemnaNodeHttpClient.buildNodeUrl(node);
|
||||
|
|
|
|||
Loading…
Reference in New Issue