mirror of
https://github.com/snltty/linker.git
synced 2025-12-18 17:36:45 +08:00
序列化库增强版本容错
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
v1.9.6
|
v1.9.6
|
||||||
2025-11-19 11:49:54
|
2025-11-20 15:58:21
|
||||||
1. 一些累计更新,一些BUG修复
|
1. 一些累计更新,一些BUG修复
|
||||||
2. 优化客户端数据同步,减少服务器流量
|
2. 优化客户端数据同步,减少服务器流量
|
||||||
3. 去除cdkey,改为发电解锁中继速度
|
3. 去除cdkey,改为发电解锁中继速度
|
||||||
|
|||||||
@@ -197,7 +197,7 @@ namespace linker.messenger.action
|
|||||||
this.actionServerStore = actionServerStore;
|
this.actionServerStore = actionServerStore;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<string> Validate(linker.messenger.relay.client.transport.RelayInfo170 relayInfo, SignCacheInfo fromMachine, SignCacheInfo toMachine)
|
public async Task<string> Validate(linker.messenger.relay.client.transport.RelayInfo relayInfo, SignCacheInfo fromMachine, SignCacheInfo toMachine)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrWhiteSpace(actionServerStore.RelayActionUrl) == false)
|
if (string.IsNullOrWhiteSpace(actionServerStore.RelayActionUrl) == false)
|
||||||
{
|
{
|
||||||
@@ -236,7 +236,7 @@ namespace linker.messenger.action
|
|||||||
}
|
}
|
||||||
return string.Empty;
|
return string.Empty;
|
||||||
}
|
}
|
||||||
public async Task<List<RelayServerNodeReportInfo170>> Validate(string userid, SignCacheInfo fromMachine, List<RelayServerNodeReportInfo170> nodes)
|
public async Task<List<RelayServerNodeReportInfo>> Validate(string userid, SignCacheInfo fromMachine, List<RelayServerNodeReportInfo> nodes)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrWhiteSpace(actionServerStore.RelayNodeUrl) == false)
|
if (string.IsNullOrWhiteSpace(actionServerStore.RelayNodeUrl) == false)
|
||||||
{
|
{
|
||||||
@@ -288,7 +288,7 @@ namespace linker.messenger.action
|
|||||||
this.actionServerStore = actionServerStore;
|
this.actionServerStore = actionServerStore;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<string> Validate(SignCacheInfo cache, SForwardAddInfo191 sForwardAddInfo)
|
public async Task<string> Validate(SignCacheInfo cache, SForwardAddInfo sForwardAddInfo)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrWhiteSpace(actionServerStore.SForwardActionUrl) == false)
|
if (string.IsNullOrWhiteSpace(actionServerStore.SForwardActionUrl) == false)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ namespace linker.messenger.relay.client
|
|||||||
relayClientStore.SetServer(info);
|
relayClientStore.SetServer(info);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
public List<RelayServerNodeReportInfo188> Subscribe(ApiControllerParamsInfo param)
|
public List<RelayServerNodeReportInfo> Subscribe(ApiControllerParamsInfo param)
|
||||||
{
|
{
|
||||||
relayTestTransfer.Subscribe();
|
relayTestTransfer.Subscribe();
|
||||||
return relayTestTransfer.Nodes;
|
return relayTestTransfer.Nodes;
|
||||||
@@ -112,12 +112,12 @@ namespace linker.messenger.relay.client
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<bool> Edit(ApiControllerParamsInfo param)
|
public async Task<bool> Edit(ApiControllerParamsInfo param)
|
||||||
{
|
{
|
||||||
RelayServerNodeUpdateInfo188 info = param.Content.DeJson<RelayServerNodeUpdateInfo188>();
|
RelayServerNodeUpdateInfo info = param.Content.DeJson<RelayServerNodeUpdateInfo>();
|
||||||
var resp = await messengerSender.SendReply(new MessageRequestWrap
|
var resp = await messengerSender.SendReply(new MessageRequestWrap
|
||||||
{
|
{
|
||||||
Connection = signInClientState.Connection,
|
Connection = signInClientState.Connection,
|
||||||
MessengerId = (ushort)RelayMessengerIds.EditForward188,
|
MessengerId = (ushort)RelayMessengerIds.EditForward188,
|
||||||
Payload = serializer.Serialize(new RelayServerNodeUpdateWrapInfo188
|
Payload = serializer.Serialize(new RelayServerNodeUpdateWrapInfo
|
||||||
{
|
{
|
||||||
Info = info,
|
Info = info,
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ namespace linker.messenger.relay.client
|
|||||||
private readonly ISignInClientStore signInClientStore;
|
private readonly ISignInClientStore signInClientStore;
|
||||||
private readonly IRelayClientStore relayClientStore;
|
private readonly IRelayClientStore relayClientStore;
|
||||||
|
|
||||||
public List<RelayServerNodeReportInfo188> Nodes { get; private set; } = new List<RelayServerNodeReportInfo188>();
|
public List<RelayServerNodeReportInfo> Nodes { get; private set; } = new List<RelayServerNodeReportInfo>();
|
||||||
|
|
||||||
public RelayClientTestTransfer(RelayClientTransfer relayTransfer, SignInClientState signInClientState, ISignInClientStore signInClientStore, IRelayClientStore relayClientStore)
|
public RelayClientTestTransfer(RelayClientTransfer relayTransfer, SignInClientState signInClientState, ISignInClientStore signInClientStore, IRelayClientStore relayClientStore)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ namespace linker.messenger.relay.client
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
transport.RelayInfo170 relayInfo = new transport.RelayInfo170
|
RelayInfo relayInfo = new RelayInfo
|
||||||
{
|
{
|
||||||
FlowingId = 0,
|
FlowingId = 0,
|
||||||
FromMachineId = fromMachineId,
|
FromMachineId = fromMachineId,
|
||||||
@@ -115,7 +115,6 @@ namespace linker.messenger.relay.client
|
|||||||
SSL = relayClientStore.Server.SSL,
|
SSL = relayClientStore.Server.SSL,
|
||||||
NodeId = nodeId,
|
NodeId = nodeId,
|
||||||
UserId = signInClientStore.Server.UserId,
|
UserId = signInClientStore.Server.UserId,
|
||||||
UseCdkey = relayClientStore.Server.UseCdkey,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
if (LoggerHelper.Instance.LoggerLevel <= LoggerTypes.DEBUG)
|
if (LoggerHelper.Instance.LoggerLevel <= LoggerTypes.DEBUG)
|
||||||
@@ -150,7 +149,7 @@ namespace linker.messenger.relay.client
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="relayInfo"></param>
|
/// <param name="relayInfo"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<bool> OnBeginAsync(transport.RelayInfo170 relayInfo)
|
public async Task<bool> OnBeginAsync(transport.RelayInfo relayInfo)
|
||||||
{
|
{
|
||||||
if (operating.StartOperation(BuildKey(relayInfo.FromMachineId, relayInfo.TransactionId)) == false)
|
if (operating.StartOperation(BuildKey(relayInfo.FromMachineId, relayInfo.TransactionId)) == false)
|
||||||
{
|
{
|
||||||
@@ -197,7 +196,7 @@ namespace linker.messenger.relay.client
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="relayInfo"></param>
|
/// <param name="relayInfo"></param>
|
||||||
/// <param name="connection"></param>
|
/// <param name="connection"></param>
|
||||||
private void ConnectedCallback(transport.RelayInfo170 relayInfo, ITunnelConnection connection)
|
private void ConnectedCallback(transport.RelayInfo relayInfo, ITunnelConnection connection)
|
||||||
{
|
{
|
||||||
if (OnConnected.TryGetValue(Helper.GlobalString, out List<Action<ITunnelConnection>> callbacks))
|
if (OnConnected.TryGetValue(Helper.GlobalString, out List<Action<ITunnelConnection>> callbacks))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
using linker.libs;
|
using linker.messenger.relay.server;
|
||||||
using linker.messenger.relay.server;
|
|
||||||
using linker.tunnel.connection;
|
using linker.tunnel.connection;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
|
|
||||||
@@ -34,20 +33,20 @@ namespace linker.messenger.relay.client.transport
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="relayInfo"></param>
|
/// <param name="relayInfo"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public Task<ITunnelConnection> RelayAsync(RelayInfo170 relayInfo);
|
public Task<ITunnelConnection> RelayAsync(RelayInfo relayInfo);
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 收到别人的中继请求
|
/// 收到别人的中继请求
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="relayInfo"></param>
|
/// <param name="relayInfo"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public Task<bool> OnBeginAsync(RelayInfo170 relayInfo, Action<ITunnelConnection> callback);
|
public Task<bool> OnBeginAsync(RelayInfo relayInfo, Action<ITunnelConnection> callback);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 测试一下中继通不通
|
/// 测试一下中继通不通
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="relayTestInfo"></param>
|
/// <param name="relayTestInfo"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public Task<List<RelayServerNodeReportInfo188>> RelayTestAsync();
|
public Task<List<RelayServerNodeReportInfo>> RelayTestAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -57,27 +56,8 @@ namespace linker.messenger.relay.client.transport
|
|||||||
{
|
{
|
||||||
public string MachineId { get; set; }
|
public string MachineId { get; set; }
|
||||||
public IPEndPoint Server { get; set; }
|
public IPEndPoint Server { get; set; }
|
||||||
}
|
|
||||||
public partial class RelayTestInfo170: RelayTestInfo
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// UserId
|
|
||||||
/// </summary>
|
|
||||||
public string UserId { get; set; }
|
public string UserId { get; set; }
|
||||||
}
|
}
|
||||||
public class RelayTestInfo188 : RelayTestInfo170 { }
|
|
||||||
|
|
||||||
|
|
||||||
public partial class RelayInfo170 : RelayInfo
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// UserId
|
|
||||||
/// </summary>
|
|
||||||
public string UserId { get; set; }
|
|
||||||
public bool UseCdkey { get; set; }
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 中继交换数据
|
/// 中继交换数据
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -127,7 +107,9 @@ namespace linker.messenger.relay.client.transport
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public bool SSL { get; set; } = true;
|
public bool SSL { get; set; } = true;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public string UserId { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -39,15 +39,15 @@ namespace linker.messenger.relay.client.transport
|
|||||||
this.messengerStore = messengerStore;
|
this.messengerStore = messengerStore;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<ITunnelConnection> RelayAsync(RelayInfo170 relayInfo)
|
public async Task<ITunnelConnection> RelayAsync(RelayInfo relayInfo)
|
||||||
{
|
{
|
||||||
byte[] buffer = ArrayPool<byte>.Shared.Rent(1024);
|
byte[] buffer = ArrayPool<byte>.Shared.Rent(1024);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
//问一下能不能中继
|
//问一下能不能中继
|
||||||
RelayAskResultInfo170 relayAskResultInfo = await RelayAsk(relayInfo).ConfigureAwait(false);
|
RelayAskResultInfo relayAskResultInfo = await RelayAsk(relayInfo).ConfigureAwait(false);
|
||||||
relayInfo.FlowingId = relayAskResultInfo.FlowingId;
|
relayInfo.FlowingId = relayAskResultInfo.FlowingId;
|
||||||
List<RelayServerNodeReportInfo170> nodes = relayAskResultInfo.Nodes;
|
List<RelayServerNodeReportInfo> nodes = relayAskResultInfo.Nodes;
|
||||||
if (relayAskResultInfo.FlowingId == 0 || relayAskResultInfo.Nodes.Count == 0)
|
if (relayAskResultInfo.FlowingId == 0 || relayAskResultInfo.Nodes.Count == 0)
|
||||||
{
|
{
|
||||||
if (LoggerHelper.Instance.LoggerLevel <= LoggerTypes.DEBUG)
|
if (LoggerHelper.Instance.LoggerLevel <= LoggerTypes.DEBUG)
|
||||||
@@ -119,7 +119,7 @@ namespace linker.messenger.relay.client.transport
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task<RelayAskResultInfo170> RelayAsk(RelayInfo170 relayInfo)
|
private async Task<RelayAskResultInfo> RelayAsk(RelayInfo relayInfo)
|
||||||
{
|
{
|
||||||
MessageResponeInfo resp = await messengerSender.SendReply(new MessageRequestWrap
|
MessageResponeInfo resp = await messengerSender.SendReply(new MessageRequestWrap
|
||||||
{
|
{
|
||||||
@@ -130,15 +130,15 @@ namespace linker.messenger.relay.client.transport
|
|||||||
}).ConfigureAwait(false);
|
}).ConfigureAwait(false);
|
||||||
if (resp.Code != MessageResponeCodes.OK)
|
if (resp.Code != MessageResponeCodes.OK)
|
||||||
{
|
{
|
||||||
return new RelayAskResultInfo170();
|
return new RelayAskResultInfo();
|
||||||
}
|
}
|
||||||
|
|
||||||
RelayAskResultInfo170 result = serializer.Deserialize<RelayAskResultInfo170>(resp.Data.Span);
|
RelayAskResultInfo result = serializer.Deserialize<RelayAskResultInfo>(resp.Data.Span);
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
}
|
}
|
||||||
private async Task<Socket> ConnectNodeServer(RelayInfo170 relayInfo, List<RelayServerNodeReportInfo170> nodes)
|
private async Task<Socket> ConnectNodeServer(RelayInfo relayInfo, List<RelayServerNodeReportInfo> nodes)
|
||||||
{
|
{
|
||||||
byte[] buffer = ArrayPool<byte>.Shared.Rent(1 * 1024);
|
byte[] buffer = ArrayPool<byte>.Shared.Rent(1 * 1024);
|
||||||
|
|
||||||
@@ -214,7 +214,7 @@ namespace linker.messenger.relay.client.transport
|
|||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
private async Task<bool> RelayConfirm(RelayInfo170 relayInfo)
|
private async Task<bool> RelayConfirm(RelayInfo relayInfo)
|
||||||
{
|
{
|
||||||
//通知对方去确认中继
|
//通知对方去确认中继
|
||||||
var resp = await messengerSender.SendReply(new MessageRequestWrap
|
var resp = await messengerSender.SendReply(new MessageRequestWrap
|
||||||
@@ -231,7 +231,7 @@ namespace linker.messenger.relay.client.transport
|
|||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
public async Task<bool> OnBeginAsync(RelayInfo170 relayInfo, Action<ITunnelConnection> callback)
|
public async Task<bool> OnBeginAsync(RelayInfo relayInfo, Action<ITunnelConnection> callback)
|
||||||
{
|
{
|
||||||
using IMemoryOwner<byte> buffer = MemoryPool<byte>.Shared.Rent(16);
|
using IMemoryOwner<byte> buffer = MemoryPool<byte>.Shared.Rent(16);
|
||||||
buffer.Memory.Span[0] = (byte)ResolverType.Relay;
|
buffer.Memory.Span[0] = (byte)ResolverType.Relay;
|
||||||
@@ -284,7 +284,7 @@ namespace linker.messenger.relay.client.transport
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task<TunnelConnectionTcp> WaitSSL(Socket socket, RelayInfo170 relayInfo)
|
private async Task<TunnelConnectionTcp> WaitSSL(Socket socket, RelayInfo relayInfo)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -325,7 +325,7 @@ namespace linker.messenger.relay.client.transport
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<List<RelayServerNodeReportInfo188>> RelayTestAsync()
|
public async Task<List<RelayServerNodeReportInfo>> RelayTestAsync()
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -338,13 +338,13 @@ namespace linker.messenger.relay.client.transport
|
|||||||
|
|
||||||
if (resp.Code == MessageResponeCodes.OK)
|
if (resp.Code == MessageResponeCodes.OK)
|
||||||
{
|
{
|
||||||
return serializer.Deserialize<List<RelayServerNodeReportInfo188>>(resp.Data.Span);
|
return serializer.Deserialize<List<RelayServerNodeReportInfo>>(resp.Data.Span);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
return new List<RelayServerNodeReportInfo188>();
|
return new List<RelayServerNodeReportInfo>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -371,13 +371,13 @@ namespace linker.messenger.relay.client.transport
|
|||||||
this.messengerStore = messengerStore;
|
this.messengerStore = messengerStore;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<ITunnelConnection> RelayAsync(RelayInfo170 relayInfo)
|
public async Task<ITunnelConnection> RelayAsync(RelayInfo relayInfo)
|
||||||
{
|
{
|
||||||
byte[] buffer = ArrayPool<byte>.Shared.Rent(1024);
|
byte[] buffer = ArrayPool<byte>.Shared.Rent(1024);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
//问一下能不能中继
|
//问一下能不能中继
|
||||||
RelayAskResultInfo170 relayAskResultInfo = await RelayAsk(relayInfo).ConfigureAwait(false);
|
RelayAskResultInfo relayAskResultInfo = await RelayAsk(relayInfo).ConfigureAwait(false);
|
||||||
relayInfo.FlowingId = relayAskResultInfo.FlowingId;
|
relayInfo.FlowingId = relayAskResultInfo.FlowingId;
|
||||||
var nodes = relayAskResultInfo.Nodes;
|
var nodes = relayAskResultInfo.Nodes;
|
||||||
if (relayInfo.FlowingId == 0 || nodes.Count == 0)
|
if (relayInfo.FlowingId == 0 || nodes.Count == 0)
|
||||||
@@ -437,7 +437,7 @@ namespace linker.messenger.relay.client.transport
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task<RelayAskResultInfo170> RelayAsk(RelayInfo170 relayInfo)
|
private async Task<RelayAskResultInfo> RelayAsk(RelayInfo relayInfo)
|
||||||
{
|
{
|
||||||
MessageResponeInfo resp = await messengerSender.SendReply(new MessageRequestWrap
|
MessageResponeInfo resp = await messengerSender.SendReply(new MessageRequestWrap
|
||||||
{
|
{
|
||||||
@@ -448,15 +448,15 @@ namespace linker.messenger.relay.client.transport
|
|||||||
}).ConfigureAwait(false);
|
}).ConfigureAwait(false);
|
||||||
if (resp.Code != MessageResponeCodes.OK)
|
if (resp.Code != MessageResponeCodes.OK)
|
||||||
{
|
{
|
||||||
return new RelayAskResultInfo170();
|
return new RelayAskResultInfo();
|
||||||
}
|
}
|
||||||
|
|
||||||
RelayAskResultInfo170 result = serializer.Deserialize<RelayAskResultInfo170>(resp.Data.Span);
|
RelayAskResultInfo result = serializer.Deserialize<RelayAskResultInfo>(resp.Data.Span);
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
}
|
}
|
||||||
private async Task<(Socket, IPEndPoint)> ConnectNodeServer(RelayInfo170 relayInfo, List<RelayServerNodeReportInfo170> nodes)
|
private async Task<(Socket, IPEndPoint)> ConnectNodeServer(RelayInfo relayInfo, List<RelayServerNodeReportInfo> nodes)
|
||||||
{
|
{
|
||||||
byte[] buffer = ArrayPool<byte>.Shared.Rent(4 * 1024);
|
byte[] buffer = ArrayPool<byte>.Shared.Rent(4 * 1024);
|
||||||
|
|
||||||
@@ -544,7 +544,7 @@ namespace linker.messenger.relay.client.transport
|
|||||||
return buffer.AsMemory(0, index);
|
return buffer.AsMemory(0, index);
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task<bool> RelayConfirm(RelayInfo170 relayInfo)
|
private async Task<bool> RelayConfirm(RelayInfo relayInfo)
|
||||||
{
|
{
|
||||||
//通知对方去确认中继
|
//通知对方去确认中继
|
||||||
var resp = await messengerSender.SendReply(new MessageRequestWrap
|
var resp = await messengerSender.SendReply(new MessageRequestWrap
|
||||||
@@ -556,7 +556,7 @@ namespace linker.messenger.relay.client.transport
|
|||||||
return resp.Code == MessageResponeCodes.OK && resp.Data.Span.SequenceEqual(Helper.TrueArray);
|
return resp.Code == MessageResponeCodes.OK && resp.Data.Span.SequenceEqual(Helper.TrueArray);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<bool> OnBeginAsync(RelayInfo170 relayInfo, Action<ITunnelConnection> callback)
|
public async Task<bool> OnBeginAsync(RelayInfo relayInfo, Action<ITunnelConnection> callback)
|
||||||
{
|
{
|
||||||
byte[] buffer = ArrayPool<byte>.Shared.Rent(4096);
|
byte[] buffer = ArrayPool<byte>.Shared.Rent(4096);
|
||||||
try
|
try
|
||||||
@@ -610,7 +610,7 @@ namespace linker.messenger.relay.client.transport
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<List<RelayServerNodeReportInfo188>> RelayTestAsync()
|
public async Task<List<RelayServerNodeReportInfo>> RelayTestAsync()
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -623,13 +623,13 @@ namespace linker.messenger.relay.client.transport
|
|||||||
|
|
||||||
if (resp.Code == MessageResponeCodes.OK)
|
if (resp.Code == MessageResponeCodes.OK)
|
||||||
{
|
{
|
||||||
return serializer.Deserialize<List<RelayServerNodeReportInfo188>>(resp.Data.Span);
|
return serializer.Deserialize<List<RelayServerNodeReportInfo>>(resp.Data.Span);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
return new List<RelayServerNodeReportInfo188>();
|
return new List<RelayServerNodeReportInfo>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ namespace linker.messenger.relay.messenger
|
|||||||
[MessengerId((ushort)RelayMessengerIds.Relay)]
|
[MessengerId((ushort)RelayMessengerIds.Relay)]
|
||||||
public async Task Relay(IConnection connection)
|
public async Task Relay(IConnection connection)
|
||||||
{
|
{
|
||||||
client.transport.RelayInfo170 info = serializer.Deserialize<client.transport.RelayInfo170>(connection.ReceiveRequestWrap.Payload.Span);
|
client.transport.RelayInfo info = serializer.Deserialize<client.transport.RelayInfo>(connection.ReceiveRequestWrap.Payload.Span);
|
||||||
bool res = await relayTransfer.OnBeginAsync(info).ConfigureAwait(false);
|
bool res = await relayTransfer.OnBeginAsync(info).ConfigureAwait(false);
|
||||||
connection.Write(res ? Helper.TrueArray : Helper.FalseArray);
|
connection.Write(res ? Helper.TrueArray : Helper.FalseArray);
|
||||||
}
|
}
|
||||||
@@ -78,10 +78,10 @@ namespace linker.messenger.relay.messenger
|
|||||||
{
|
{
|
||||||
if (signCaching.TryGet(connection.Id, out SignCacheInfo cache) == false)
|
if (signCaching.TryGet(connection.Id, out SignCacheInfo cache) == false)
|
||||||
{
|
{
|
||||||
connection.Write(serializer.Serialize(new List<RelayServerNodeReportInfo170> { }));
|
connection.Write(serializer.Serialize(new List<RelayServerNodeReportInfo> { }));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
List<RelayServerNodeReportInfo170> nodes = (await GetNodes(cache)).Select(c => (RelayServerNodeReportInfo170)c).ToList();
|
List<RelayServerNodeReportInfo> nodes = (await GetNodes(cache)).Select(c => (RelayServerNodeReportInfo)c).ToList();
|
||||||
connection.Write(serializer.Serialize(nodes));
|
connection.Write(serializer.Serialize(nodes));
|
||||||
}
|
}
|
||||||
[MessengerId((ushort)RelayMessengerIds.Nodes188)]
|
[MessengerId((ushort)RelayMessengerIds.Nodes188)]
|
||||||
@@ -89,10 +89,10 @@ namespace linker.messenger.relay.messenger
|
|||||||
{
|
{
|
||||||
if (signCaching.TryGet(connection.Id, out SignCacheInfo cache) == false)
|
if (signCaching.TryGet(connection.Id, out SignCacheInfo cache) == false)
|
||||||
{
|
{
|
||||||
connection.Write(serializer.Serialize(new List<RelayServerNodeReportInfo188> { }));
|
connection.Write(serializer.Serialize(new List<RelayServerNodeReportInfo> { }));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
List<RelayServerNodeReportInfo188> nodes = await GetNodes(cache);
|
List<RelayServerNodeReportInfo> nodes = await GetNodes(cache);
|
||||||
connection.Write(serializer.Serialize(nodes));
|
connection.Write(serializer.Serialize(nodes));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -108,17 +108,17 @@ namespace linker.messenger.relay.messenger
|
|||||||
[MessengerId((ushort)RelayMessengerIds.RelayAsk170)]
|
[MessengerId((ushort)RelayMessengerIds.RelayAsk170)]
|
||||||
public async Task RelayAsk170(IConnection connection)
|
public async Task RelayAsk170(IConnection connection)
|
||||||
{
|
{
|
||||||
RelayInfo170 info = serializer.Deserialize<RelayInfo170>(connection.ReceiveRequestWrap.Payload.Span);
|
RelayInfo info = serializer.Deserialize<RelayInfo>(connection.ReceiveRequestWrap.Payload.Span);
|
||||||
|
|
||||||
if (signCaching.TryGet(connection.Id, info.RemoteMachineId, out SignCacheInfo from, out SignCacheInfo to) == false)
|
if (signCaching.TryGet(connection.Id, info.RemoteMachineId, out SignCacheInfo from, out SignCacheInfo to) == false)
|
||||||
{
|
{
|
||||||
connection.Write(serializer.Serialize(new RelayAskResultInfo170 { }));
|
connection.Write(serializer.Serialize(new RelayAskResultInfo { }));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
var nodes = (await GetNodes(from).ConfigureAwait(false)).Select(c => (RelayServerNodeReportInfo170)c).ToList();
|
var nodes = (await GetNodes(from).ConfigureAwait(false)).Select(c => c).ToList();
|
||||||
RelayAskResultInfo170 result = new()
|
RelayAskResultInfo result = new()
|
||||||
{
|
{
|
||||||
Nodes = nodes
|
Nodes = nodes
|
||||||
};
|
};
|
||||||
@@ -129,7 +129,7 @@ namespace linker.messenger.relay.messenger
|
|||||||
connection.Write(serializer.Serialize(result));
|
connection.Write(serializer.Serialize(result));
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task<List<RelayServerNodeReportInfo188>> GetNodes(SignCacheInfo from)
|
private async Task<List<RelayServerNodeReportInfo>> GetNodes(SignCacheInfo from)
|
||||||
{
|
{
|
||||||
return await relayServerTransfer.GetNodes(from.Super, from.UserId, from.MachineId);
|
return await relayServerTransfer.GetNodes(from.Super, from.UserId, from.MachineId);
|
||||||
}
|
}
|
||||||
@@ -148,7 +148,7 @@ namespace linker.messenger.relay.messenger
|
|||||||
[MessengerId((ushort)RelayMessengerIds.RelayForward170)]
|
[MessengerId((ushort)RelayMessengerIds.RelayForward170)]
|
||||||
public async Task RelayForward170(IConnection connection)
|
public async Task RelayForward170(IConnection connection)
|
||||||
{
|
{
|
||||||
RelayInfo170 info = serializer.Deserialize<RelayInfo170>(connection.ReceiveRequestWrap.Payload.Span);
|
RelayInfo info = serializer.Deserialize<RelayInfo>(connection.ReceiveRequestWrap.Payload.Span);
|
||||||
if (signCaching.TryGet(connection.Id, info.RemoteMachineId, out SignCacheInfo from, out SignCacheInfo to) == false)
|
if (signCaching.TryGet(connection.Id, info.RemoteMachineId, out SignCacheInfo from, out SignCacheInfo to) == false)
|
||||||
{
|
{
|
||||||
connection.Write(Helper.FalseArray);
|
connection.Write(Helper.FalseArray);
|
||||||
@@ -243,7 +243,7 @@ namespace linker.messenger.relay.messenger
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
relayServerReportResolver.Add(connection.ReceiveRequestWrap.Payload.Length, 0);
|
relayServerReportResolver.Add(connection.ReceiveRequestWrap.Payload.Length, 0);
|
||||||
RelayServerNodeReportInfo170 info = serializer.Deserialize<RelayServerNodeReportInfo170>(connection.ReceiveRequestWrap.Payload.Span);
|
RelayServerNodeReportInfo info = serializer.Deserialize<RelayServerNodeReportInfo>(connection.ReceiveRequestWrap.Payload.Span);
|
||||||
relayServerTransfer.SetNodeReport(connection, info);
|
relayServerTransfer.SetNodeReport(connection, info);
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
@@ -258,7 +258,7 @@ namespace linker.messenger.relay.messenger
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
relayServerReportResolver.Add(connection.ReceiveRequestWrap.Payload.Length, 0);
|
relayServerReportResolver.Add(connection.ReceiveRequestWrap.Payload.Length, 0);
|
||||||
RelayServerNodeReportInfo188 info = serializer.Deserialize<RelayServerNodeReportInfo188>(connection.ReceiveRequestWrap.Payload.Span);
|
RelayServerNodeReportInfo info = serializer.Deserialize<RelayServerNodeReportInfo>(connection.ReceiveRequestWrap.Payload.Span);
|
||||||
relayServerTransfer.SetNodeReport(connection, info);
|
relayServerTransfer.SetNodeReport(connection, info);
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
@@ -305,7 +305,7 @@ namespace linker.messenger.relay.messenger
|
|||||||
[MessengerId((ushort)RelayMessengerIds.Edit188)]
|
[MessengerId((ushort)RelayMessengerIds.Edit188)]
|
||||||
public void Edit188(IConnection connection)
|
public void Edit188(IConnection connection)
|
||||||
{
|
{
|
||||||
RelayServerNodeUpdateInfo188 info = serializer.Deserialize<RelayServerNodeUpdateInfo188>(connection.ReceiveRequestWrap.Payload.Span);
|
RelayServerNodeUpdateInfo info = serializer.Deserialize<RelayServerNodeUpdateInfo>(connection.ReceiveRequestWrap.Payload.Span);
|
||||||
relayServerNodeTransfer.Edit(info);
|
relayServerNodeTransfer.Edit(info);
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -316,7 +316,7 @@ namespace linker.messenger.relay.messenger
|
|||||||
[MessengerId((ushort)RelayMessengerIds.EditForward188)]
|
[MessengerId((ushort)RelayMessengerIds.EditForward188)]
|
||||||
public async Task EditForward188(IConnection connection)
|
public async Task EditForward188(IConnection connection)
|
||||||
{
|
{
|
||||||
RelayServerNodeUpdateWrapInfo188 info = serializer.Deserialize<RelayServerNodeUpdateWrapInfo188>(connection.ReceiveRequestWrap.Payload.Span);
|
RelayServerNodeUpdateWrapInfo info = serializer.Deserialize<RelayServerNodeUpdateWrapInfo>(connection.ReceiveRequestWrap.Payload.Span);
|
||||||
if (signCaching.TryGet(connection.Id, out SignCacheInfo cache) && cache.Super)
|
if (signCaching.TryGet(connection.Id, out SignCacheInfo cache) && cache.Super)
|
||||||
{
|
{
|
||||||
await relayServerTransfer.Edit(info.Info).ConfigureAwait(false);
|
await relayServerTransfer.Edit(info.Info).ConfigureAwait(false);
|
||||||
|
|||||||
@@ -6,9 +6,6 @@ using linker.tunnel.connection;
|
|||||||
|
|
||||||
namespace linker.messenger.relay.server
|
namespace linker.messenger.relay.server
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// 中继节点存储器
|
|
||||||
/// </summary>
|
|
||||||
public interface IRelayServerNodeStore
|
public interface IRelayServerNodeStore
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -25,7 +22,7 @@ namespace linker.messenger.relay.server
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="node"></param>
|
/// <param name="node"></param>
|
||||||
public void SetInfo(RelayServerNodeInfo node);
|
public void SetInfo(RelayServerNodeInfo node);
|
||||||
public void UpdateInfo(RelayServerNodeUpdateInfo188 update);
|
public void UpdateInfo(RelayServerNodeUpdateInfo update);
|
||||||
public void SetMasterHosts(string[] hosts);
|
public void SetMasterHosts(string[] hosts);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -89,10 +86,6 @@ namespace linker.messenger.relay.server
|
|||||||
public string[] MasterHosts { get; set; } = [];
|
public string[] MasterHosts { get; set; } = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
public partial class RelayServerNodeUpdateWrapInfo
|
|
||||||
{
|
|
||||||
public RelayServerNodeUpdateInfo Info { get; set; }
|
|
||||||
}
|
|
||||||
public partial class RelayServerNodeUpdateInfo
|
public partial class RelayServerNodeUpdateInfo
|
||||||
{
|
{
|
||||||
public string Id { get; set; } = string.Empty;
|
public string Id { get; set; } = string.Empty;
|
||||||
@@ -109,16 +102,16 @@ namespace linker.messenger.relay.server
|
|||||||
|
|
||||||
public bool AllowTcp { get; set; } = true;
|
public bool AllowTcp { get; set; } = true;
|
||||||
public bool AllowUdp { get; set; }
|
public bool AllowUdp { get; set; }
|
||||||
}
|
|
||||||
|
|
||||||
public partial class RelayServerNodeUpdateWrapInfo188
|
/// <summary>
|
||||||
{
|
/// 188+
|
||||||
public RelayServerNodeUpdateInfo188 Info { get; set; }
|
/// </summary>
|
||||||
}
|
|
||||||
public partial class RelayServerNodeUpdateInfo188 : RelayServerNodeUpdateInfo
|
|
||||||
{
|
|
||||||
public bool Sync2Server { get; set; }
|
public bool Sync2Server { get; set; }
|
||||||
}
|
}
|
||||||
|
public partial class RelayServerNodeUpdateWrapInfo
|
||||||
|
{
|
||||||
|
public RelayServerNodeUpdateInfo Info { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
public partial class RelayServerNodeReportInfo
|
public partial class RelayServerNodeReportInfo
|
||||||
{
|
{
|
||||||
@@ -141,29 +134,26 @@ namespace linker.messenger.relay.server
|
|||||||
public IPEndPoint EndPoint { get; set; }
|
public IPEndPoint EndPoint { get; set; }
|
||||||
|
|
||||||
public long LastTicks { get; set; }
|
public long LastTicks { get; set; }
|
||||||
}
|
|
||||||
public partial class RelayServerNodeReportInfo170 : RelayServerNodeReportInfo
|
/// <summary>
|
||||||
{
|
/// 170+
|
||||||
|
/// </summary>
|
||||||
public string Url { get; set; } = "https://linker-doc.snltty.com";
|
public string Url { get; set; } = "https://linker-doc.snltty.com";
|
||||||
public TunnelProtocolType AllowProtocol { get; set; } = TunnelProtocolType.Tcp;
|
public TunnelProtocolType AllowProtocol { get; set; } = TunnelProtocolType.Tcp;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 188+
|
||||||
|
/// </summary>
|
||||||
|
public string Version { get; set; } = string.Empty;
|
||||||
|
public bool Sync2Server { get; set; }
|
||||||
|
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public IConnection Connection { get; set; }
|
public IConnection Connection { get; set; }
|
||||||
}
|
}
|
||||||
public partial class RelayServerNodeReportInfo188 : RelayServerNodeReportInfo170
|
|
||||||
{
|
|
||||||
public string Version { get; set; } = string.Empty;
|
|
||||||
public bool Sync2Server { get; set; }
|
|
||||||
}
|
|
||||||
|
|
||||||
public partial class RelayAskResultInfo
|
public partial class RelayAskResultInfo
|
||||||
{
|
{
|
||||||
public ulong FlowingId { get; set; }
|
public ulong FlowingId { get; set; }
|
||||||
|
|
||||||
public List<RelayServerNodeReportInfo> Nodes { get; set; } = new List<RelayServerNodeReportInfo>();
|
public List<RelayServerNodeReportInfo> Nodes { get; set; } = new List<RelayServerNodeReportInfo>();
|
||||||
}
|
}
|
||||||
public partial class RelayAskResultInfo170 : RelayAskResultInfo
|
|
||||||
{
|
|
||||||
public new List<RelayServerNodeReportInfo170> Nodes { get; set; } = new List<RelayServerNodeReportInfo170>();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ namespace linker.messenger.relay.server
|
|||||||
{
|
{
|
||||||
|
|
||||||
private ulong relayFlowingId = 0;
|
private ulong relayFlowingId = 0;
|
||||||
private readonly ConcurrentDictionary<string, RelayServerNodeReportInfo188> reports = new ConcurrentDictionary<string, RelayServerNodeReportInfo188>();
|
private readonly ConcurrentDictionary<string, RelayServerNodeReportInfo> reports = new ConcurrentDictionary<string, RelayServerNodeReportInfo>();
|
||||||
|
|
||||||
|
|
||||||
private readonly ConcurrentQueue<Dictionary<int, long>> trafficQueue = new ConcurrentQueue<Dictionary<int, long>>();
|
private readonly ConcurrentQueue<Dictionary<int, long>> trafficQueue = new ConcurrentQueue<Dictionary<int, long>>();
|
||||||
@@ -80,29 +80,7 @@ namespace linker.messenger.relay.server
|
|||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
public void SetNodeReport(IConnection connection, RelayServerNodeReportInfo170 info)
|
public void SetNodeReport(IConnection connection, RelayServerNodeReportInfo info)
|
||||||
{
|
|
||||||
SetNodeReport(connection, new RelayServerNodeReportInfo188
|
|
||||||
{
|
|
||||||
Version = string.Empty,
|
|
||||||
Sync2Server = false,
|
|
||||||
Id = info.Id,
|
|
||||||
Name = info.Name,
|
|
||||||
MaxConnection = info.MaxConnection,
|
|
||||||
MaxBandwidth = info.MaxBandwidth,
|
|
||||||
MaxBandwidthTotal = info.MaxBandwidthTotal,
|
|
||||||
MaxGbTotal = info.MaxGbTotal,
|
|
||||||
MaxGbTotalLastBytes = info.MaxGbTotalLastBytes,
|
|
||||||
ConnectionRatio = info.ConnectionRatio,
|
|
||||||
BandwidthRatio = info.BandwidthRatio,
|
|
||||||
Public = info.Public,
|
|
||||||
EndPoint = info.EndPoint,
|
|
||||||
LastTicks = info.LastTicks,
|
|
||||||
Url = info.Url,
|
|
||||||
Connection = connection
|
|
||||||
});
|
|
||||||
}
|
|
||||||
public void SetNodeReport(IConnection connection, RelayServerNodeReportInfo188 info)
|
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -126,21 +104,10 @@ namespace linker.messenger.relay.server
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task Edit(RelayServerNodeUpdateInfo info)
|
public async Task Edit(RelayServerNodeUpdateInfo info)
|
||||||
{
|
{
|
||||||
if (reports.TryGetValue(info.Id, out RelayServerNodeReportInfo188 cache))
|
if (reports.TryGetValue(info.Id, out RelayServerNodeReportInfo cache))
|
||||||
{
|
|
||||||
await messengerSender.SendOnly(new MessageRequestWrap
|
|
||||||
{
|
|
||||||
Connection = cache.Connection,
|
|
||||||
MessengerId = (ushort)RelayMessengerIds.Edit,
|
|
||||||
Payload = serializer.Serialize(info)
|
|
||||||
}).ConfigureAwait(false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public async Task Edit(RelayServerNodeUpdateInfo188 info)
|
|
||||||
{
|
|
||||||
if (reports.TryGetValue(info.Id, out RelayServerNodeReportInfo188 cache))
|
|
||||||
{
|
{
|
||||||
await messengerSender.SendOnly(new MessageRequestWrap
|
await messengerSender.SendOnly(new MessageRequestWrap
|
||||||
{
|
{
|
||||||
@@ -152,7 +119,7 @@ namespace linker.messenger.relay.server
|
|||||||
}
|
}
|
||||||
public async Task Exit(string id)
|
public async Task Exit(string id)
|
||||||
{
|
{
|
||||||
if (reports.TryGetValue(id, out RelayServerNodeReportInfo188 cache))
|
if (reports.TryGetValue(id, out RelayServerNodeReportInfo cache))
|
||||||
{
|
{
|
||||||
await messengerSender.SendOnly(new MessageRequestWrap
|
await messengerSender.SendOnly(new MessageRequestWrap
|
||||||
{
|
{
|
||||||
@@ -163,7 +130,7 @@ namespace linker.messenger.relay.server
|
|||||||
}
|
}
|
||||||
public async Task Update(string id, string version)
|
public async Task Update(string id, string version)
|
||||||
{
|
{
|
||||||
if (reports.TryGetValue(id, out RelayServerNodeReportInfo188 cache))
|
if (reports.TryGetValue(id, out RelayServerNodeReportInfo cache))
|
||||||
{
|
{
|
||||||
await messengerSender.SendOnly(new MessageRequestWrap
|
await messengerSender.SendOnly(new MessageRequestWrap
|
||||||
{
|
{
|
||||||
@@ -179,7 +146,7 @@ namespace linker.messenger.relay.server
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="validated">是否已认证</param>
|
/// <param name="validated">是否已认证</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<List<RelayServerNodeReportInfo188>> GetNodes(bool validated, string userid, string machineId)
|
public async Task<List<RelayServerNodeReportInfo>> GetNodes(bool validated, string userid, string machineId)
|
||||||
{
|
{
|
||||||
var nodes = (await relayServerWhiteListStore.GetNodes(userid, machineId)).Where(c => c.Bandwidth >= 0).SelectMany(c => c.Nodes);
|
var nodes = (await relayServerWhiteListStore.GetNodes(userid, machineId)).Where(c => c.Bandwidth >= 0).SelectMany(c => c.Nodes);
|
||||||
|
|
||||||
@@ -201,7 +168,7 @@ namespace linker.messenger.relay.server
|
|||||||
.ThenByDescending(x => x.MaxGbTotalLastBytes == 0 ? long.MaxValue : x.MaxGbTotalLastBytes)
|
.ThenByDescending(x => x.MaxGbTotalLastBytes == 0 ? long.MaxValue : x.MaxGbTotalLastBytes)
|
||||||
.ToList();
|
.ToList();
|
||||||
}
|
}
|
||||||
public List<RelayServerNodeReportInfo188> GetPublicNodes()
|
public List<RelayServerNodeReportInfo> GetPublicNodes()
|
||||||
{
|
{
|
||||||
var result = reports.Values
|
var result = reports.Values
|
||||||
.Where(c => Environment.TickCount64 - c.LastTicks < 15000)
|
.Where(c => Environment.TickCount64 - c.LastTicks < 15000)
|
||||||
|
|||||||
@@ -85,29 +85,6 @@ namespace linker.messenger.relay.server
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void Edit(RelayServerNodeUpdateInfo info)
|
public void Edit(RelayServerNodeUpdateInfo info)
|
||||||
{
|
|
||||||
if (info.Id == Node.Id)
|
|
||||||
{
|
|
||||||
relayServerNodeStore.UpdateInfo(new RelayServerNodeUpdateInfo188
|
|
||||||
{
|
|
||||||
AllowTcp = info.AllowTcp,
|
|
||||||
AllowUdp = info.AllowUdp,
|
|
||||||
Id = info.Id,
|
|
||||||
Name = info.Name,
|
|
||||||
MaxConnection = info.MaxConnection,
|
|
||||||
MaxBandwidth = info.MaxBandwidth,
|
|
||||||
MaxBandwidthTotal = info.MaxBandwidthTotal,
|
|
||||||
MaxGbTotal = info.MaxGbTotal,
|
|
||||||
MaxGbTotalLastBytes = info.MaxGbTotalLastBytes,
|
|
||||||
Public = info.Public,
|
|
||||||
Url = info.Url,
|
|
||||||
});
|
|
||||||
relayServerNodeStore.Confirm();
|
|
||||||
|
|
||||||
_ = Report();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public void Edit(RelayServerNodeUpdateInfo188 info)
|
|
||||||
{
|
{
|
||||||
if (info.Id == Node.Id)
|
if (info.Id == Node.Id)
|
||||||
{
|
{
|
||||||
@@ -315,7 +292,7 @@ namespace linker.messenger.relay.server
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
IPEndPoint endPoint = await NetworkHelper.GetEndPointAsync(Node.Host, relayServerNodeStore.ServicePort).ConfigureAwait(false) ?? new IPEndPoint(IPAddress.Any, relayServerNodeStore.ServicePort);
|
IPEndPoint endPoint = await NetworkHelper.GetEndPointAsync(Node.Host, relayServerNodeStore.ServicePort).ConfigureAwait(false) ?? new IPEndPoint(IPAddress.Any, relayServerNodeStore.ServicePort);
|
||||||
RelayServerNodeReportInfo188 relayNodeReportInfo = new RelayServerNodeReportInfo188
|
RelayServerNodeReportInfo relayNodeReportInfo = new RelayServerNodeReportInfo
|
||||||
{
|
{
|
||||||
Id = Node.Id,
|
Id = Node.Id,
|
||||||
Name = Node.Name,
|
Name = Node.Name,
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ namespace linker.messenger.relay.server.validator
|
|||||||
/// <param name="fromMachine">来源客户端</param>
|
/// <param name="fromMachine">来源客户端</param>
|
||||||
/// <param name="toMachine">目标客户端,可能为null</param>
|
/// <param name="toMachine">目标客户端,可能为null</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public Task<string> Validate(RelayInfo170 relayInfo, SignCacheInfo fromMachine, SignCacheInfo toMachine);
|
public Task<string> Validate(RelayInfo relayInfo, SignCacheInfo fromMachine, SignCacheInfo toMachine);
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 验证节点
|
/// 验证节点
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -24,6 +24,6 @@ namespace linker.messenger.relay.server.validator
|
|||||||
/// <param name="fromMachine"></param>
|
/// <param name="fromMachine"></param>
|
||||||
/// <param name="nodes"></param>
|
/// <param name="nodes"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public Task<List<RelayServerNodeReportInfo170>> Validate(string userid, SignCacheInfo fromMachine, List<RelayServerNodeReportInfo170> nodes);
|
public Task<List<RelayServerNodeReportInfo>> Validate(string userid, SignCacheInfo fromMachine, List<RelayServerNodeReportInfo> nodes);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ namespace linker.messenger.relay.server.validator
|
|||||||
/// <param name="cache"></param>
|
/// <param name="cache"></param>
|
||||||
/// <param name="cache1"></param>
|
/// <param name="cache1"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<string> Validate(RelayInfo170 relayInfo, SignCacheInfo cache, SignCacheInfo cache1)
|
public async Task<string> Validate(RelayInfo relayInfo, SignCacheInfo cache, SignCacheInfo cache1)
|
||||||
{
|
{
|
||||||
foreach (var item in validators)
|
foreach (var item in validators)
|
||||||
{
|
{
|
||||||
@@ -60,7 +60,7 @@ namespace linker.messenger.relay.server.validator
|
|||||||
}
|
}
|
||||||
return string.Empty;
|
return string.Empty;
|
||||||
}
|
}
|
||||||
public async Task<List<RelayServerNodeReportInfo170>> Validate(string userid, SignCacheInfo fromMachine, List<RelayServerNodeReportInfo170> nodes)
|
public async Task<List<RelayServerNodeReportInfo>> Validate(string userid, SignCacheInfo fromMachine, List<RelayServerNodeReportInfo> nodes)
|
||||||
{
|
{
|
||||||
foreach (var item in validators)
|
foreach (var item in validators)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -52,9 +52,11 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
value = null;
|
value = null;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
value = new AccessUpdateInfo() ;
|
||||||
var wrapped = reader.ReadPackable<SerializableAccessUpdateInfo>();
|
reader.TryReadObjectHeader(out byte count);
|
||||||
value = wrapped.info;
|
value.FromMachineId = reader.ReadValue<string>();
|
||||||
|
value.ToMachineId = reader.ReadValue<string>();
|
||||||
|
value.Access = reader.ReadValue<ulong>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
[MemoryPackable]
|
[MemoryPackable]
|
||||||
@@ -106,8 +108,12 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableAccessBitsUpdateInfo>();
|
value = new AccessBitsUpdateInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.FromMachineId = reader.ReadValue<string>();
|
||||||
|
value.ToMachineId = reader.ReadValue<string>();
|
||||||
|
value.Access = reader.ReadValue<BitArray>();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -158,8 +164,10 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableAccessInfo>();
|
value = new AccessInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.MachineId = reader.ReadValue<string>();
|
||||||
|
value.Access = reader.ReadValue<AccessValue>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
[MemoryPackable]
|
[MemoryPackable]
|
||||||
@@ -208,8 +216,10 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableAccessBitsInfo>();
|
value = new AccessBitsInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.MachineId = reader.ReadValue<string>();
|
||||||
|
value.Access = reader.ReadValue<BitArray>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -259,8 +269,10 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableApiPasswordUpdateInfo>();
|
value = new ApiPasswordUpdateInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.MachineId = reader.ReadValue<string>();
|
||||||
|
value.Password = reader.ReadValue<string>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
using linker.messenger;
|
using MemoryPack;
|
||||||
using MemoryPack;
|
|
||||||
|
|
||||||
namespace linker.messenger.serializer.memorypack
|
namespace linker.messenger.serializer.memorypack
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -49,8 +49,12 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableDecenterSyncInfo>();
|
|
||||||
value = wrapped.info;
|
value = new DecenterSyncInfo();
|
||||||
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.Name = reader.ReadValue<string>();
|
||||||
|
value.Data = reader.ReadValue<Memory<byte>>();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -104,8 +108,11 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableDecenterPullPageInfo>();
|
value =new DecenterPullPageInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.Name = reader.ReadValue<string>();
|
||||||
|
value.Page = reader.ReadValue<int>();
|
||||||
|
value.Size = reader.ReadValue<int>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -161,8 +168,12 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableDecenterPullPageResultInfo>();
|
value = new DecenterPullPageResultInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.Page = reader.ReadValue<int>();
|
||||||
|
value.Size = reader.ReadValue<int>();
|
||||||
|
value.Count = reader.ReadValue<int>();
|
||||||
|
value.List = reader.ReadValue<List<Memory<byte>>>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
|
|
||||||
|
|
||||||
MemoryPackFormatterProvider.Register(new SyncInfoFormatter());
|
MemoryPackFormatterProvider.Register(new SyncInfoFormatter());
|
||||||
MemoryPackFormatterProvider.Register(new Sync184InfoFormatter());
|
MemoryPackFormatterProvider.Register(new SyncInfoFormatter());
|
||||||
|
|
||||||
|
|
||||||
MemoryPackFormatterProvider.Register(new TunnelTransportWanPortInfoFormatter());
|
MemoryPackFormatterProvider.Register(new TunnelTransportWanPortInfoFormatter());
|
||||||
@@ -56,24 +56,16 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
MemoryPackFormatterProvider.Register(new UpdaterClientInfo170Formatter());
|
MemoryPackFormatterProvider.Register(new UpdaterClientInfo170Formatter());
|
||||||
MemoryPackFormatterProvider.Register(new UpdaterInfoFormatter());
|
MemoryPackFormatterProvider.Register(new UpdaterInfoFormatter());
|
||||||
MemoryPackFormatterProvider.Register(new UpdaterInfo170Formatter());
|
MemoryPackFormatterProvider.Register(new UpdaterInfo170Formatter());
|
||||||
MemoryPackFormatterProvider.Register(new Updater184InfoFormatter());
|
MemoryPackFormatterProvider.Register(new UpdaterInfo170Formatter());
|
||||||
MemoryPackFormatterProvider.Register(new Updater186InfoFormatter());
|
MemoryPackFormatterProvider.Register(new UpdaterInfo170Formatter());
|
||||||
MemoryPackFormatterProvider.Register(new UpdaterSyncInfoFormatter());
|
MemoryPackFormatterProvider.Register(new UpdaterSyncInfoFormatter());
|
||||||
|
|
||||||
MemoryPackFormatterProvider.Register(new RelayTestInfoFormatter());
|
MemoryPackFormatterProvider.Register(new RelayTestInfoFormatter());
|
||||||
MemoryPackFormatterProvider.Register(new RelayTestInfo170Formatter());
|
|
||||||
MemoryPackFormatterProvider.Register(new RelayTestInfo188Formatter());
|
|
||||||
MemoryPackFormatterProvider.Register(new RelayInfoFormatter());
|
MemoryPackFormatterProvider.Register(new RelayInfoFormatter());
|
||||||
MemoryPackFormatterProvider.Register(new RelayInfo170Formatter());
|
|
||||||
MemoryPackFormatterProvider.Register(new RelayServerNodeUpdateInfoFormatter());
|
MemoryPackFormatterProvider.Register(new RelayServerNodeUpdateInfoFormatter());
|
||||||
MemoryPackFormatterProvider.Register(new RelayServerNodeUpdateInfo188Formatter());
|
|
||||||
MemoryPackFormatterProvider.Register(new RelayServerNodeUpdateWrapInfoFormatter());
|
MemoryPackFormatterProvider.Register(new RelayServerNodeUpdateWrapInfoFormatter());
|
||||||
MemoryPackFormatterProvider.Register(new RelayServerNodeUpdateWrapInfo188Formatter());
|
|
||||||
MemoryPackFormatterProvider.Register(new RelayServerNodeReportInfoFormatter());
|
MemoryPackFormatterProvider.Register(new RelayServerNodeReportInfoFormatter());
|
||||||
MemoryPackFormatterProvider.Register(new RelayServerNodeReportInfo170Formatter());
|
|
||||||
MemoryPackFormatterProvider.Register(new RelayServerNodeReportInfo188Formatter());
|
|
||||||
MemoryPackFormatterProvider.Register(new RelayAskResultInfoFormatter());
|
MemoryPackFormatterProvider.Register(new RelayAskResultInfoFormatter());
|
||||||
MemoryPackFormatterProvider.Register(new RelayAskResultInfo170Formatter());
|
|
||||||
MemoryPackFormatterProvider.Register(new RelayCacheInfoFormatter());
|
MemoryPackFormatterProvider.Register(new RelayCacheInfoFormatter());
|
||||||
MemoryPackFormatterProvider.Register(new RelayMessageInfoFormatter());
|
MemoryPackFormatterProvider.Register(new RelayMessageInfoFormatter());
|
||||||
|
|
||||||
@@ -96,9 +88,6 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
MemoryPackFormatterProvider.Register(new SForwardRemoveForwardInfoFormatter());
|
MemoryPackFormatterProvider.Register(new SForwardRemoveForwardInfoFormatter());
|
||||||
MemoryPackFormatterProvider.Register(new SForwardProxyInfoFormatter());
|
MemoryPackFormatterProvider.Register(new SForwardProxyInfoFormatter());
|
||||||
MemoryPackFormatterProvider.Register(new SForwardCountInfoFormatter());
|
MemoryPackFormatterProvider.Register(new SForwardCountInfoFormatter());
|
||||||
MemoryPackFormatterProvider.Register(new SForwardAddForwardInfo191Formatter());
|
|
||||||
MemoryPackFormatterProvider.Register(new SForwardAddInfo191Formatter());
|
|
||||||
MemoryPackFormatterProvider.Register(new SForwardInfo191Formatter());
|
|
||||||
MemoryPackFormatterProvider.Register(new SForwardServerNodeUpdateInfoFormatter());
|
MemoryPackFormatterProvider.Register(new SForwardServerNodeUpdateInfoFormatter());
|
||||||
MemoryPackFormatterProvider.Register(new SForwardServerNodeUpdateWrapInfoFormatter());
|
MemoryPackFormatterProvider.Register(new SForwardServerNodeUpdateWrapInfoFormatter());
|
||||||
MemoryPackFormatterProvider.Register(new SForwardServerNodeReportInfoFormatter());
|
MemoryPackFormatterProvider.Register(new SForwardServerNodeReportInfoFormatter());
|
||||||
|
|||||||
@@ -91,8 +91,19 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableFirewallRuleInfo>();
|
value = new FirewallRuleInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.Id = reader.ReadValue<string>();
|
||||||
|
value.SrcId = reader.ReadValue<string>();
|
||||||
|
value.SrcName = reader.ReadValue<string>();
|
||||||
|
value.GroupId = reader.ReadValue<string>();
|
||||||
|
value.DstCIDR = reader.ReadValue<string>();
|
||||||
|
value.DstPort = reader.ReadValue<string>();
|
||||||
|
value.Protocol = reader.ReadValue<nat.LinkerFirewallProtocolType>();
|
||||||
|
value.Action = reader.ReadValue<nat.LinkerFirewallAction>();
|
||||||
|
value.Disabled = reader.ReadValue<bool>();
|
||||||
|
value.OrderBy = reader.ReadValue<int>();
|
||||||
|
value.Remark = reader.ReadValue<string>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -103,8 +114,6 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
[MemoryPackIgnore]
|
[MemoryPackIgnore]
|
||||||
public readonly FirewallSearchInfo info;
|
public readonly FirewallSearchInfo info;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
[MemoryPackInclude]
|
||||||
string GroupId => info.GroupId;
|
string GroupId => info.GroupId;
|
||||||
|
|
||||||
@@ -162,8 +171,13 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableFirewallSearchInfo>();
|
value = new FirewallSearchInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.GroupId = reader.ReadValue<string>();
|
||||||
|
value.Str = reader.ReadValue<string>();
|
||||||
|
value.Protocol = reader.ReadValue<nat.LinkerFirewallProtocolType>();
|
||||||
|
value.Action = reader.ReadValue<nat.LinkerFirewallAction>();
|
||||||
|
value.Disabled = reader.ReadValue<int>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -216,8 +230,10 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableFirewallSearchForwardInfo>();
|
value = new FirewallSearchForwardInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.MachineId = reader.ReadValue<string>();
|
||||||
|
value.Data = reader.ReadValue<FirewallSearchInfo>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -271,8 +287,10 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableFirewallListInfo>();
|
value = new FirewallListInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.State = reader.ReadValue<LinkerFirewallState>();
|
||||||
|
value.List = reader.ReadValue<List<FirewallRuleInfo>>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -326,8 +344,10 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableFirewallAddForwardInfo>();
|
value = new FirewallAddForwardInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.MachineId = reader.ReadValue<string>();
|
||||||
|
value.Data = reader.ReadValue<FirewallRuleInfo>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -382,8 +402,10 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableFirewallRemoveForwardInfo>();
|
value = new FirewallRemoveForwardInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.MachineId = reader.ReadValue<string>();
|
||||||
|
value.Id = reader.ReadValue<string>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -437,8 +459,10 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableFirewallStateForwardInfo>();
|
value = new FirewallStateForwardInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.MachineId = reader.ReadValue<string>();
|
||||||
|
value.State = reader.ReadValue<LinkerFirewallState>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -492,8 +516,10 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableFirewallCheckInfo>();
|
value = new FirewallCheckInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.Ids = reader.ReadValue<List<string>>();
|
||||||
|
value.IsChecked = reader.ReadValue<bool>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
[MemoryPackable]
|
[MemoryPackable]
|
||||||
@@ -545,8 +571,10 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableFirewallCheckForwardInfo>();
|
value = new FirewallCheckForwardInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.MachineId = reader.ReadValue<string>();
|
||||||
|
value.Data = reader.ReadValue<FirewallCheckInfo>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,8 +51,10 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableFlowItemInfo>();
|
value = new FlowItemInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.ReceiveBytes = reader.ReadValue<long>();
|
||||||
|
value.SendtBytes = reader.ReadValue<long>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -113,8 +115,12 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableFlowReportNetInfo>();
|
value = new FlowReportNetInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.City = reader.ReadValue<string>();
|
||||||
|
value.Lat = reader.ReadValue<double>();
|
||||||
|
value.Lon = reader.ReadValue<double>();
|
||||||
|
value.Count = reader.ReadValue<int>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -168,8 +174,11 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableFlowInfo>();
|
value = new FlowInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.Items = reader.ReadValue<Dictionary<string, FlowItemInfo>>();
|
||||||
|
value.Start = reader.ReadValue<DateTime>();
|
||||||
|
value.Now = reader.ReadValue<DateTime>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -241,8 +250,14 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableRelayFlowItemInfo>();
|
value = new RelayFlowItemInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.ReceiveBytes = reader.ReadValue<long>();
|
||||||
|
value.SendtBytes = reader.ReadValue<long>();
|
||||||
|
value.DiffReceiveBytes = reader.ReadValue<long>();
|
||||||
|
value.DiffSendtBytes = reader.ReadValue<long>();
|
||||||
|
value.FromName = reader.ReadValue<string>();
|
||||||
|
value.ToName = reader.ReadValue<string>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -314,8 +329,14 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableRelayFlowRequestInfo>();
|
value = new RelayFlowRequestInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.Key = reader.ReadValue<string>();
|
||||||
|
value.SecretKey = reader.ReadValue<string>();
|
||||||
|
value.Page = reader.ReadValue<int>();
|
||||||
|
value.PageSize = reader.ReadValue<int>();
|
||||||
|
value.Order = reader.ReadValue<RelayFlowOrder>();
|
||||||
|
value.OrderType = reader.ReadValue<RelayFlowOrderType>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -379,8 +400,12 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableRelayFlowResponseInfo>();
|
value = new RelayFlowResponseInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.Page = reader.ReadValue<int>();
|
||||||
|
value.PageSize = reader.ReadValue<int>();
|
||||||
|
value.Count = reader.ReadValue<int>();
|
||||||
|
value.Data = reader.ReadValue<List<RelayFlowItemInfo>>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -450,8 +475,13 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableSForwardFlowItemInfo>();
|
value = new SForwardFlowItemInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.ReceiveBytes = reader.ReadValue<long>();
|
||||||
|
value.SendtBytes = reader.ReadValue<long>();
|
||||||
|
value.DiffReceiveBytes = reader.ReadValue<long>();
|
||||||
|
value.DiffSendtBytes = reader.ReadValue<long>();
|
||||||
|
value.Key = reader.ReadValue<string>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -521,8 +551,14 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableSForwardFlowRequestInfo>();
|
value = new SForwardFlowRequestInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.Key = reader.ReadValue<string>();
|
||||||
|
value.MachineId = reader.ReadValue<string>();
|
||||||
|
value.Page = reader.ReadValue<int>();
|
||||||
|
value.PageSize = reader.ReadValue<int>();
|
||||||
|
value.Order = reader.ReadValue<SForwardFlowOrder>();
|
||||||
|
value.OrderType = reader.ReadValue<SForwardFlowOrderType>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -584,8 +620,12 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableSForwardFlowResponseInfo>();
|
value = new SForwardFlowResponseInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.Page = reader.ReadValue<int>();
|
||||||
|
value.PageSize = reader.ReadValue<int>();
|
||||||
|
value.Count = reader.ReadValue<int>();
|
||||||
|
value.Data = reader.ReadValue<List<SForwardFlowItemInfo>>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -658,8 +698,15 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableForwardFlowItemInfo>();
|
value = new ForwardFlowItemInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.ReceiveBytes = reader.ReadValue<long>();
|
||||||
|
value.SendtBytes = reader.ReadValue<long>();
|
||||||
|
value.DiffReceiveBytes = reader.ReadValue<long>();
|
||||||
|
value.DiffSendtBytes = reader.ReadValue<long>();
|
||||||
|
value.Key = reader.ReadValue<string>();
|
||||||
|
value.Target = reader.ReadValue<IPEndPoint>();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -725,8 +772,13 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableForwardFlowRequestInfo>();
|
value = new ForwardFlowRequestInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.MachineId = reader.ReadValue<string>();
|
||||||
|
value.Page = reader.ReadValue<int>();
|
||||||
|
value.PageSize = reader.ReadValue<int>();
|
||||||
|
value.Order = reader.ReadValue<ForwardFlowOrder>();
|
||||||
|
value.OrderType = reader.ReadValue<ForwardFlowOrderType>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -788,8 +840,12 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableForwardFlowResponseInfo>();
|
value = new ForwardFlowResponseInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.Page = reader.ReadValue<int>();
|
||||||
|
value.PageSize = reader.ReadValue<int>();
|
||||||
|
value.Count = reader.ReadValue<int>();
|
||||||
|
value.Data = reader.ReadValue<List<ForwardFlowItemInfo>>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -863,8 +919,15 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableSocks5FlowItemInfo>();
|
value = new Socks5FlowItemInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.ReceiveBytes = reader.ReadValue<long>();
|
||||||
|
value.SendtBytes = reader.ReadValue<long>();
|
||||||
|
value.DiffReceiveBytes = reader.ReadValue<long>();
|
||||||
|
value.DiffSendtBytes = reader.ReadValue<long>();
|
||||||
|
value.Key = reader.ReadValue<string>();
|
||||||
|
value.Target = reader.ReadValue<IPEndPoint>();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -930,8 +993,13 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableSocks5FlowRequestInfo>();
|
value = new Socks5FlowRequestInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.MachineId = reader.ReadValue<string>();
|
||||||
|
value.Page = reader.ReadValue<int>();
|
||||||
|
value.PageSize = reader.ReadValue<int>();
|
||||||
|
value.Order = reader.ReadValue<Socks5FlowOrder>();
|
||||||
|
value.OrderType = reader.ReadValue<Socks5FlowOrderType>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -993,8 +1061,12 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableSocks5FlowResponseInfo>();
|
value = new Socks5FlowResponseInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.Page = reader.ReadValue<int>();
|
||||||
|
value.PageSize = reader.ReadValue<int>();
|
||||||
|
value.Count = reader.ReadValue<int>();
|
||||||
|
value.Data = reader.ReadValue<List<Socks5FlowItemInfo>>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1069,8 +1141,15 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableTunnelFlowItemInfo>();
|
value = new TunnelFlowItemInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.ReceiveBytes = reader.ReadValue<long>();
|
||||||
|
value.SendtBytes = reader.ReadValue<long>();
|
||||||
|
value.Key = reader.ReadValue<string>();
|
||||||
|
value.TransitionId = reader.ReadValue<string>();
|
||||||
|
value.Direction = reader.ReadValue<TunnelDirection>();
|
||||||
|
value.Type = reader.ReadValue<TunnelType>();
|
||||||
|
value.Mode = reader.ReadValue<TunnelMode>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1136,8 +1215,13 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableTunnelFlowRequestInfo>();
|
value = new TunnelFlowRequestInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.MachineId = reader.ReadValue<string>();
|
||||||
|
value.Page = reader.ReadValue<int>();
|
||||||
|
value.PageSize = reader.ReadValue<int>();
|
||||||
|
value.Order = reader.ReadValue<TunnelFlowOrder>();
|
||||||
|
value.OrderType = reader.ReadValue<TunnelFlowOrderType>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1199,8 +1283,12 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableTunnelFlowResponseInfo>();
|
value = new TunnelFlowResponseInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.Page = reader.ReadValue<int>();
|
||||||
|
value.PageSize = reader.ReadValue<int>();
|
||||||
|
value.Count = reader.ReadValue<int>();
|
||||||
|
value.Data = reader.ReadValue<List<TunnelFlowItemInfo>>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,7 +47,8 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
string TargetMsg => info.TargetMsg;
|
string TargetMsg => info.TargetMsg;
|
||||||
|
|
||||||
[MemoryPackConstructor]
|
[MemoryPackConstructor]
|
||||||
SerializableForwardInfo(long id, string name, string machineId, string groupId, string machineName, IPAddress bindIPAddress, int port, IPEndPoint targetEP, bool started, byte bufferSize, string msg, string targetMsg)
|
SerializableForwardInfo(long id, string name, string machineId, string groupId, string machineName, IPAddress bindIPAddress, int port, IPEndPoint targetEP,
|
||||||
|
bool started, byte bufferSize, string msg, string targetMsg)
|
||||||
{
|
{
|
||||||
this.info = new ForwardInfo
|
this.info = new ForwardInfo
|
||||||
{
|
{
|
||||||
@@ -94,8 +95,20 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableForwardInfo>();
|
value = new ForwardInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.Id = reader.ReadValue<long>();
|
||||||
|
value.Name = reader.ReadValue<string>();
|
||||||
|
value.MachineId = reader.ReadValue<string>();
|
||||||
|
value.GroupId = reader.ReadValue<string>();
|
||||||
|
value.MachineName = reader.ReadValue<string>();
|
||||||
|
value.BindIPAddress = reader.ReadValue<IPAddress>();
|
||||||
|
value.Port = reader.ReadValue<int>();
|
||||||
|
value.TargetEP = reader.ReadValue<IPEndPoint>();
|
||||||
|
value.Started = reader.ReadValue<bool>();
|
||||||
|
value.BufferSize = reader.ReadValue<byte>();
|
||||||
|
value.Msg = reader.ReadValue<string>();
|
||||||
|
value.TargetMsg = reader.ReadValue<string>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -150,8 +163,10 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableForwardAddForwardInfo>();
|
value = new ForwardAddForwardInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.MachineId = reader.ReadValue<string>();
|
||||||
|
value.Data = reader.ReadValue<ForwardInfo>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -206,8 +221,10 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableForwardRemoveForwardInfo>();
|
value = new ForwardRemoveForwardInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.MachineId = reader.ReadValue<string>();
|
||||||
|
value.Id = reader.ReadValue<int>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -262,8 +279,10 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableForwardCountInfo>();
|
value =new ForwardCountInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.MachineId = reader.ReadValue<string>();
|
||||||
|
value.Count = reader.ReadValue<int>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -318,8 +337,10 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableForwardTestInfo>();
|
value = new ForwardTestInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.Target = reader.ReadValue<IPEndPoint>();
|
||||||
|
value.Msg = reader.ReadValue<string>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -76,8 +76,17 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializablePlanInfo>();
|
value = new PlanInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.Id = reader.ReadValue<int>();
|
||||||
|
value.Category = reader.ReadValue<string>();
|
||||||
|
value.Key = reader.ReadValue<string>();
|
||||||
|
value.Handle = reader.ReadValue<string>();
|
||||||
|
value.Value = reader.ReadValue<string>();
|
||||||
|
value.Disabled = reader.ReadValue<bool>();
|
||||||
|
value.TriggerHandle = reader.ReadValue<string>();
|
||||||
|
value.Method = reader.ReadValue<PlanMethod>();
|
||||||
|
value.Rule = reader.ReadValue<string>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -131,8 +140,10 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializablePlanGetInfo>();
|
value = new PlanGetInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.MachineId = reader.ReadValue<string>();
|
||||||
|
value.Category = reader.ReadValue<string>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -186,8 +197,10 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializablePlanAddInfo>();
|
value = new PlanAddInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.MachineId = reader.ReadValue<string>();
|
||||||
|
value.Plan = reader.ReadValue<PlanInfo>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -241,8 +254,10 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializablePlanRemoveInfo>();
|
value = new PlanRemoveInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.MachineId = reader.ReadValue<string>();
|
||||||
|
value.PlanId = reader.ReadValue<int>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ using System.Net;
|
|||||||
|
|
||||||
namespace linker.messenger.serializer.memorypack
|
namespace linker.messenger.serializer.memorypack
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
[MemoryPackable]
|
[MemoryPackable]
|
||||||
public readonly partial struct SerializableRelayTestInfo
|
public readonly partial struct SerializableRelayTestInfo
|
||||||
{
|
{
|
||||||
@@ -19,11 +21,13 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
|
|
||||||
[MemoryPackInclude, MemoryPackAllowSerialize]
|
[MemoryPackInclude, MemoryPackAllowSerialize]
|
||||||
IPEndPoint Server => info.Server;
|
IPEndPoint Server => info.Server;
|
||||||
|
[MemoryPackInclude]
|
||||||
|
string UserId => info.UserId;
|
||||||
|
|
||||||
[MemoryPackConstructor]
|
[MemoryPackConstructor]
|
||||||
SerializableRelayTestInfo(string machineId, string secretKey, IPEndPoint server)
|
SerializableRelayTestInfo(string machineId, string secretKey, IPEndPoint server, string userid)
|
||||||
{
|
{
|
||||||
var info = new RelayTestInfo { MachineId = machineId, Server = server };
|
var info = new RelayTestInfo { MachineId = machineId, Server = server, UserId = userid };
|
||||||
this.info = info;
|
this.info = info;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -54,64 +58,14 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableRelayTestInfo>();
|
value = new RelayTestInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
}
|
value.MachineId = reader.ReadValue<string>();
|
||||||
}
|
reader.ReadValue<string>(); // secret key
|
||||||
|
value.Server = reader.ReadValue<IPEndPoint>();
|
||||||
|
if (count > 3)
|
||||||
|
value.UserId = reader.ReadValue<string>();
|
||||||
|
|
||||||
|
|
||||||
[MemoryPackable]
|
|
||||||
public readonly partial struct SerializableRelayTestInfo170
|
|
||||||
{
|
|
||||||
[MemoryPackIgnore]
|
|
||||||
public readonly RelayTestInfo170 info;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string MachineId => info.MachineId;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string SecretKey => string.Empty;
|
|
||||||
|
|
||||||
[MemoryPackInclude, MemoryPackAllowSerialize]
|
|
||||||
IPEndPoint Server => info.Server;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string UserId => info.UserId;
|
|
||||||
|
|
||||||
[MemoryPackConstructor]
|
|
||||||
SerializableRelayTestInfo170(string machineId, string secretKey, IPEndPoint server, string userid)
|
|
||||||
{
|
|
||||||
var info = new RelayTestInfo170 { MachineId = machineId, Server = server, UserId = userid };
|
|
||||||
this.info = info;
|
|
||||||
}
|
|
||||||
|
|
||||||
public SerializableRelayTestInfo170(RelayTestInfo170 info)
|
|
||||||
{
|
|
||||||
this.info = info;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public class RelayTestInfo170Formatter : MemoryPackFormatter<RelayTestInfo170>
|
|
||||||
{
|
|
||||||
public override void Serialize<TBufferWriter>(ref MemoryPackWriter<TBufferWriter> writer, scoped ref RelayTestInfo170 value)
|
|
||||||
{
|
|
||||||
if (value == null)
|
|
||||||
{
|
|
||||||
writer.WriteNullObjectHeader();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
writer.WritePackable(new SerializableRelayTestInfo170(value));
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void Deserialize(ref MemoryPackReader reader, scoped ref RelayTestInfo170 value)
|
|
||||||
{
|
|
||||||
if (reader.PeekIsNull())
|
|
||||||
{
|
|
||||||
reader.Advance(1); // skip null block
|
|
||||||
value = null;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableRelayTestInfo170>();
|
|
||||||
value = wrapped.info;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -146,12 +100,14 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
[MemoryPackInclude]
|
[MemoryPackInclude]
|
||||||
bool SSL => info.SSL;
|
bool SSL => info.SSL;
|
||||||
|
|
||||||
|
[MemoryPackInclude]
|
||||||
|
string UserId => info.UserId;
|
||||||
|
|
||||||
[MemoryPackConstructor]
|
[MemoryPackConstructor]
|
||||||
SerializableRelayInfo(string fromMachineId, string fromMachineName,
|
SerializableRelayInfo(string fromMachineId, string fromMachineName,
|
||||||
string remoteMachineId, string remoteMachineName,
|
string remoteMachineId, string remoteMachineName,
|
||||||
string transactionId, string secretKey, string transportName, ulong flowingId,
|
string transactionId, string secretKey, string transportName, ulong flowingId,
|
||||||
string nodeId, IPEndPoint server, bool ssl)
|
string nodeId, IPEndPoint server, bool ssl, string userid)
|
||||||
{
|
{
|
||||||
var info = new RelayInfo
|
var info = new RelayInfo
|
||||||
{
|
{
|
||||||
@@ -164,7 +120,8 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
SSL = ssl,
|
SSL = ssl,
|
||||||
TransactionId = transactionId,
|
TransactionId = transactionId,
|
||||||
TransportName = transportName,
|
TransportName = transportName,
|
||||||
Server = server
|
Server = server,
|
||||||
|
UserId = userid,
|
||||||
};
|
};
|
||||||
this.info = info;
|
this.info = info;
|
||||||
}
|
}
|
||||||
@@ -196,438 +153,24 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableRelayInfo>();
|
value = new RelayInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.FromMachineId = reader.ReadValue<string>();
|
||||||
|
value.FromMachineName = reader.ReadValue<string>();
|
||||||
|
value.RemoteMachineId = reader.ReadValue<string>();
|
||||||
|
value.RemoteMachineName = reader.ReadValue<string>();
|
||||||
|
value.TransactionId = reader.ReadValue<string>();
|
||||||
|
reader.ReadValue<string>(); // secret key
|
||||||
|
value.TransportName = reader.ReadValue<string>();
|
||||||
|
value.FlowingId = reader.ReadValue<ulong>();
|
||||||
|
value.NodeId = reader.ReadValue<string>();
|
||||||
|
value.Server = reader.ReadValue<IPEndPoint>();
|
||||||
|
value.SSL = reader.ReadValue<bool>();
|
||||||
|
if (count > 11)
|
||||||
|
value.UserId = reader.ReadValue<string>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
[MemoryPackable]
|
|
||||||
public readonly partial struct SerializableRelayInfo170
|
|
||||||
{
|
|
||||||
[MemoryPackIgnore]
|
|
||||||
public readonly RelayInfo170 info;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string FromMachineId => info.FromMachineId;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string FromMachineName => info.FromMachineName;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string RemoteMachineId => info.RemoteMachineId;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string RemoteMachineName => info.RemoteMachineName;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string TransactionId => info.TransactionId;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string SecretKey => string.Empty;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string TransportName => info.TransportName;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
ulong FlowingId => info.FlowingId;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string NodeId => info.NodeId;
|
|
||||||
[MemoryPackInclude, MemoryPackAllowSerialize]
|
|
||||||
IPEndPoint Server => info.Server;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
bool SSL => info.SSL;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string UserId => info.UserId;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
bool UseCdkey => info.UseCdkey;
|
|
||||||
|
|
||||||
|
|
||||||
[MemoryPackConstructor]
|
|
||||||
SerializableRelayInfo170(string fromMachineId, string fromMachineName,
|
|
||||||
string remoteMachineId, string remoteMachineName,
|
|
||||||
string transactionId, string secretKey, string transportName, ulong flowingId,
|
|
||||||
string nodeId, IPEndPoint server, bool ssl, string userid, bool useCdkey)
|
|
||||||
{
|
|
||||||
var info = new RelayInfo170
|
|
||||||
{
|
|
||||||
FlowingId = flowingId,
|
|
||||||
FromMachineId = fromMachineId,
|
|
||||||
FromMachineName = fromMachineName,
|
|
||||||
NodeId = nodeId,
|
|
||||||
RemoteMachineId = remoteMachineId,
|
|
||||||
RemoteMachineName = remoteMachineName,
|
|
||||||
SSL = ssl,
|
|
||||||
TransactionId = transactionId,
|
|
||||||
TransportName = transportName,
|
|
||||||
Server = server,
|
|
||||||
UserId = userid,
|
|
||||||
UseCdkey = useCdkey
|
|
||||||
};
|
|
||||||
this.info = info;
|
|
||||||
}
|
|
||||||
|
|
||||||
public SerializableRelayInfo170(RelayInfo170 relayInfo)
|
|
||||||
{
|
|
||||||
this.info = relayInfo;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public class RelayInfo170Formatter : MemoryPackFormatter<RelayInfo170>
|
|
||||||
{
|
|
||||||
public override void Serialize<TBufferWriter>(ref MemoryPackWriter<TBufferWriter> writer, scoped ref RelayInfo170 value)
|
|
||||||
{
|
|
||||||
if (value == null)
|
|
||||||
{
|
|
||||||
writer.WriteNullObjectHeader();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
writer.WritePackable(new SerializableRelayInfo170(value));
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void Deserialize(ref MemoryPackReader reader, scoped ref RelayInfo170 value)
|
|
||||||
{
|
|
||||||
if (reader.PeekIsNull())
|
|
||||||
{
|
|
||||||
reader.Advance(1); // skip null block
|
|
||||||
value = null;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableRelayInfo170>();
|
|
||||||
value = wrapped.info;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[MemoryPackable]
|
|
||||||
public readonly partial struct SerializableRelayServerNodeUpdateInfo
|
|
||||||
{
|
|
||||||
[MemoryPackIgnore]
|
|
||||||
public readonly RelayServerNodeUpdateInfo info;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string Id => info.Id;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string Name => info.Name;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
int MaxConnection => info.MaxConnection;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
double MaxBandwidth => info.MaxBandwidth;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
double MaxBandwidthTotal => info.MaxBandwidthTotal;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
double MaxGbTotal => info.MaxGbTotal;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
long MaxGbTotalLastBytes => info.MaxGbTotalLastBytes;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
bool Public => info.Public;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string Url => info.Url;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
bool AllowTcp => info.AllowTcp;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
bool AllowUdp => info.AllowUdp;
|
|
||||||
|
|
||||||
[MemoryPackConstructor]
|
|
||||||
SerializableRelayServerNodeUpdateInfo(
|
|
||||||
string id, string name,
|
|
||||||
int maxConnection, double maxBandwidth, double maxBandwidthTotal,
|
|
||||||
double maxGbTotal, long maxGbTotalLastBytes,
|
|
||||||
bool Public, string url, bool allowTcp, bool allowUdp)
|
|
||||||
{
|
|
||||||
var info = new RelayServerNodeUpdateInfo
|
|
||||||
{
|
|
||||||
Id = id,
|
|
||||||
MaxBandwidth = maxBandwidth,
|
|
||||||
MaxBandwidthTotal = maxBandwidthTotal,
|
|
||||||
MaxConnection = maxConnection,
|
|
||||||
MaxGbTotal = maxGbTotal,
|
|
||||||
MaxGbTotalLastBytes = maxGbTotalLastBytes,
|
|
||||||
Name = name,
|
|
||||||
Public = Public,
|
|
||||||
Url = url,
|
|
||||||
AllowTcp = allowTcp,
|
|
||||||
AllowUdp = allowUdp,
|
|
||||||
};
|
|
||||||
this.info = info;
|
|
||||||
}
|
|
||||||
|
|
||||||
public SerializableRelayServerNodeUpdateInfo(RelayServerNodeUpdateInfo info)
|
|
||||||
{
|
|
||||||
this.info = info;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public class RelayServerNodeUpdateInfoFormatter : MemoryPackFormatter<RelayServerNodeUpdateInfo>
|
|
||||||
{
|
|
||||||
public override void Serialize<TBufferWriter>(ref MemoryPackWriter<TBufferWriter> writer, scoped ref RelayServerNodeUpdateInfo value)
|
|
||||||
{
|
|
||||||
if (value == null)
|
|
||||||
{
|
|
||||||
writer.WriteNullObjectHeader();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
writer.WritePackable(new SerializableRelayServerNodeUpdateInfo(value));
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void Deserialize(ref MemoryPackReader reader, scoped ref RelayServerNodeUpdateInfo value)
|
|
||||||
{
|
|
||||||
if (reader.PeekIsNull())
|
|
||||||
{
|
|
||||||
reader.Advance(1); // skip null block
|
|
||||||
value = null;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableRelayServerNodeUpdateInfo>();
|
|
||||||
value = wrapped.info;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
[MemoryPackable]
|
|
||||||
public readonly partial struct SerializableRelayServerNodeUpdateWrapInfo
|
|
||||||
{
|
|
||||||
[MemoryPackIgnore]
|
|
||||||
public readonly RelayServerNodeUpdateWrapInfo info;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string SecretKey => string.Empty;
|
|
||||||
[MemoryPackInclude, MemoryPackAllowSerialize]
|
|
||||||
RelayServerNodeUpdateInfo Info => info.Info;
|
|
||||||
|
|
||||||
[MemoryPackConstructor]
|
|
||||||
SerializableRelayServerNodeUpdateWrapInfo(string secretKey, RelayServerNodeUpdateInfo info)
|
|
||||||
{
|
|
||||||
this.info = new RelayServerNodeUpdateWrapInfo
|
|
||||||
{
|
|
||||||
Info = info
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
public SerializableRelayServerNodeUpdateWrapInfo(RelayServerNodeUpdateWrapInfo info)
|
|
||||||
{
|
|
||||||
this.info = info;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public class RelayServerNodeUpdateWrapInfoFormatter : MemoryPackFormatter<RelayServerNodeUpdateWrapInfo>
|
|
||||||
{
|
|
||||||
public override void Serialize<TBufferWriter>(ref MemoryPackWriter<TBufferWriter> writer, scoped ref RelayServerNodeUpdateWrapInfo value)
|
|
||||||
{
|
|
||||||
if (value == null)
|
|
||||||
{
|
|
||||||
writer.WriteNullObjectHeader();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
writer.WritePackable(new SerializableRelayServerNodeUpdateWrapInfo(value));
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void Deserialize(ref MemoryPackReader reader, scoped ref RelayServerNodeUpdateWrapInfo value)
|
|
||||||
{
|
|
||||||
if (reader.PeekIsNull())
|
|
||||||
{
|
|
||||||
reader.Advance(1); // skip null block
|
|
||||||
value = null;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableRelayServerNodeUpdateWrapInfo>();
|
|
||||||
value = wrapped.info;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[MemoryPackable]
|
|
||||||
public readonly partial struct SerializableRelayServerNodeReportInfo
|
|
||||||
{
|
|
||||||
[MemoryPackIgnore]
|
|
||||||
public readonly RelayServerNodeReportInfo info;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string Id => info.Id;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string Name => info.Name;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
int MaxConnection => info.MaxConnection;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
double MaxBandwidth => info.MaxBandwidth;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
double MaxBandwidthTotal => info.MaxBandwidthTotal;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
double MaxGbTotal => info.MaxGbTotal;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
long MaxGbTotalLastBytes => info.MaxGbTotalLastBytes;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
double ConnectionRatio => info.ConnectionRatio;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
double BandwidthRatio => info.BandwidthRatio;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
bool Public => info.Public;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
int Delay => info.Delay;
|
|
||||||
[MemoryPackInclude, MemoryPackAllowSerialize]
|
|
||||||
IPEndPoint EndPoint => info.EndPoint;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
long LastTicks => info.LastTicks;
|
|
||||||
|
|
||||||
|
|
||||||
[MemoryPackConstructor]
|
|
||||||
SerializableRelayServerNodeReportInfo(
|
|
||||||
string id, string name,
|
|
||||||
int maxConnection, double maxBandwidth, double maxBandwidthTotal,
|
|
||||||
double maxGbTotal, long maxGbTotalLastBytes,
|
|
||||||
double connectionRatio, double bandwidthRatio,
|
|
||||||
bool Public, int delay,
|
|
||||||
IPEndPoint endPoint, long lastTicks)
|
|
||||||
{
|
|
||||||
var info = new RelayServerNodeReportInfo
|
|
||||||
{
|
|
||||||
BandwidthRatio = bandwidthRatio,
|
|
||||||
ConnectionRatio = connectionRatio,
|
|
||||||
Delay = delay,
|
|
||||||
EndPoint = endPoint,
|
|
||||||
Id = id,
|
|
||||||
LastTicks = lastTicks,
|
|
||||||
MaxBandwidth = maxBandwidth,
|
|
||||||
MaxBandwidthTotal = maxBandwidthTotal,
|
|
||||||
MaxConnection = maxConnection,
|
|
||||||
MaxGbTotal = maxGbTotal,
|
|
||||||
MaxGbTotalLastBytes = maxGbTotalLastBytes,
|
|
||||||
Name = name,
|
|
||||||
Public = Public
|
|
||||||
};
|
|
||||||
this.info = info;
|
|
||||||
}
|
|
||||||
|
|
||||||
public SerializableRelayServerNodeReportInfo(RelayServerNodeReportInfo info)
|
|
||||||
{
|
|
||||||
this.info = info;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public class RelayServerNodeReportInfoFormatter : MemoryPackFormatter<RelayServerNodeReportInfo>
|
|
||||||
{
|
|
||||||
public override void Serialize<TBufferWriter>(ref MemoryPackWriter<TBufferWriter> writer, scoped ref RelayServerNodeReportInfo value)
|
|
||||||
{
|
|
||||||
if (value == null)
|
|
||||||
{
|
|
||||||
writer.WriteNullObjectHeader();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
writer.WritePackable(new SerializableRelayServerNodeReportInfo(value));
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void Deserialize(ref MemoryPackReader reader, scoped ref RelayServerNodeReportInfo value)
|
|
||||||
{
|
|
||||||
if (reader.PeekIsNull())
|
|
||||||
{
|
|
||||||
reader.Advance(1); // skip null block
|
|
||||||
value = null;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableRelayServerNodeReportInfo>();
|
|
||||||
value = wrapped.info;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[MemoryPackable]
|
|
||||||
public readonly partial struct SerializableRelayServerNodeReportInfo170
|
|
||||||
{
|
|
||||||
[MemoryPackIgnore]
|
|
||||||
public readonly RelayServerNodeReportInfo170 info;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string Id => info.Id;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string Name => info.Name;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
int MaxConnection => info.MaxConnection;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
double MaxBandwidth => info.MaxBandwidth;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
double MaxBandwidthTotal => info.MaxBandwidthTotal;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
double MaxGbTotal => info.MaxGbTotal;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
long MaxGbTotalLastBytes => info.MaxGbTotalLastBytes;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
double ConnectionRatio => info.ConnectionRatio;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
double BandwidthRatio => info.BandwidthRatio;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
bool Public => info.Public;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
int Delay => info.Delay;
|
|
||||||
[MemoryPackInclude, MemoryPackAllowSerialize]
|
|
||||||
IPEndPoint EndPoint => info.EndPoint;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
long LastTicks => info.LastTicks;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string Url => info.Url;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
TunnelProtocolType AllowProtocol => info.AllowProtocol;
|
|
||||||
|
|
||||||
|
|
||||||
[MemoryPackConstructor]
|
|
||||||
SerializableRelayServerNodeReportInfo170(
|
|
||||||
string id, string name,
|
|
||||||
int maxConnection, double maxBandwidth, double maxBandwidthTotal,
|
|
||||||
double maxGbTotal, long maxGbTotalLastBytes,
|
|
||||||
double connectionRatio, double bandwidthRatio,
|
|
||||||
bool Public, int delay,
|
|
||||||
IPEndPoint endPoint, long lastTicks, string url, TunnelProtocolType allowProtocol)
|
|
||||||
{
|
|
||||||
var info = new RelayServerNodeReportInfo170
|
|
||||||
{
|
|
||||||
BandwidthRatio = bandwidthRatio,
|
|
||||||
ConnectionRatio = connectionRatio,
|
|
||||||
Delay = delay,
|
|
||||||
EndPoint = endPoint,
|
|
||||||
Id = id,
|
|
||||||
LastTicks = lastTicks,
|
|
||||||
MaxBandwidth = maxBandwidth,
|
|
||||||
MaxBandwidthTotal = maxBandwidthTotal,
|
|
||||||
MaxConnection = maxConnection,
|
|
||||||
MaxGbTotal = maxGbTotal,
|
|
||||||
MaxGbTotalLastBytes = maxGbTotalLastBytes,
|
|
||||||
Name = name,
|
|
||||||
Public = Public,
|
|
||||||
Url = url,
|
|
||||||
AllowProtocol = allowProtocol
|
|
||||||
};
|
|
||||||
this.info = info;
|
|
||||||
}
|
|
||||||
|
|
||||||
public SerializableRelayServerNodeReportInfo170(RelayServerNodeReportInfo170 info)
|
|
||||||
{
|
|
||||||
this.info = info;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public class RelayServerNodeReportInfo170Formatter : MemoryPackFormatter<RelayServerNodeReportInfo170>
|
|
||||||
{
|
|
||||||
public override void Serialize<TBufferWriter>(ref MemoryPackWriter<TBufferWriter> writer, scoped ref RelayServerNodeReportInfo170 value)
|
|
||||||
{
|
|
||||||
if (value == null)
|
|
||||||
{
|
|
||||||
writer.WriteNullObjectHeader();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
writer.WritePackable(new SerializableRelayServerNodeReportInfo170(value));
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void Deserialize(ref MemoryPackReader reader, scoped ref RelayServerNodeReportInfo170 value)
|
|
||||||
{
|
|
||||||
if (reader.PeekIsNull())
|
|
||||||
{
|
|
||||||
reader.Advance(1); // skip null block
|
|
||||||
value = null;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableRelayServerNodeReportInfo170>();
|
|
||||||
value = wrapped.info;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[MemoryPackable]
|
[MemoryPackable]
|
||||||
public readonly partial struct SerializableRelayAskResultInfo
|
public readonly partial struct SerializableRelayAskResultInfo
|
||||||
{
|
{
|
||||||
@@ -680,58 +223,6 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
[MemoryPackable]
|
|
||||||
public readonly partial struct SerializableRelayAskResultInfo170
|
|
||||||
{
|
|
||||||
[MemoryPackIgnore]
|
|
||||||
public readonly RelayAskResultInfo170 info;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
ulong FlowingId => info.FlowingId;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
List<RelayServerNodeReportInfo170> Nodes => info.Nodes;
|
|
||||||
|
|
||||||
[MemoryPackConstructor]
|
|
||||||
SerializableRelayAskResultInfo170(ulong flowingId, List<RelayServerNodeReportInfo170> nodes)
|
|
||||||
{
|
|
||||||
var info = new RelayAskResultInfo170 { FlowingId = flowingId, Nodes = nodes };
|
|
||||||
this.info = info;
|
|
||||||
}
|
|
||||||
|
|
||||||
public SerializableRelayAskResultInfo170(RelayAskResultInfo170 info)
|
|
||||||
{
|
|
||||||
this.info = info;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public class RelayAskResultInfo170Formatter : MemoryPackFormatter<RelayAskResultInfo170>
|
|
||||||
{
|
|
||||||
public override void Serialize<TBufferWriter>(ref MemoryPackWriter<TBufferWriter> writer, scoped ref RelayAskResultInfo170 value)
|
|
||||||
{
|
|
||||||
if (value == null)
|
|
||||||
{
|
|
||||||
writer.WriteNullObjectHeader();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
writer.WritePackable(new SerializableRelayAskResultInfo170(value));
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void Deserialize(ref MemoryPackReader reader, scoped ref RelayAskResultInfo170 value)
|
|
||||||
{
|
|
||||||
if (reader.PeekIsNull())
|
|
||||||
{
|
|
||||||
reader.Advance(1); // skip null block
|
|
||||||
value = null;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableRelayAskResultInfo170>();
|
|
||||||
value = wrapped.info;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[MemoryPackable]
|
[MemoryPackable]
|
||||||
public readonly partial struct SerializableRelayCacheInfo
|
public readonly partial struct SerializableRelayCacheInfo
|
||||||
{
|
{
|
||||||
@@ -754,7 +245,6 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
[MemoryPackInclude]
|
[MemoryPackInclude]
|
||||||
bool Super => info.Super;
|
bool Super => info.Super;
|
||||||
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
[MemoryPackInclude]
|
||||||
double Bandwidth => info.Bandwidth;
|
double Bandwidth => info.Bandwidth;
|
||||||
|
|
||||||
@@ -762,7 +252,7 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
string UserId => info.UserId;
|
string UserId => info.UserId;
|
||||||
|
|
||||||
[MemoryPackConstructor]
|
[MemoryPackConstructor]
|
||||||
SerializableRelayCacheInfo(ulong flowId, string fromId, string fromName, string toId, string toName, string groupId, bool super, double bandwidth,string userid)
|
SerializableRelayCacheInfo(ulong flowId, string fromId, string fromName, string toId, string toName, string groupId, bool super, double bandwidth, string userid)
|
||||||
{
|
{
|
||||||
var info = new RelayCacheInfo
|
var info = new RelayCacheInfo
|
||||||
{
|
{
|
||||||
@@ -774,7 +264,7 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
ToName = toName,
|
ToName = toName,
|
||||||
Super = super,
|
Super = super,
|
||||||
Bandwidth = bandwidth,
|
Bandwidth = bandwidth,
|
||||||
UserId = userid
|
UserId = userid
|
||||||
};
|
};
|
||||||
this.info = info;
|
this.info = info;
|
||||||
}
|
}
|
||||||
@@ -806,8 +296,18 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableRelayCacheInfo>();
|
value = new RelayCacheInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.FlowId = reader.ReadValue<ulong>();
|
||||||
|
value.FromId = reader.ReadValue<string>();
|
||||||
|
value.FromName = reader.ReadValue<string>();
|
||||||
|
value.ToId = reader.ReadValue<string>();
|
||||||
|
value.ToName = reader.ReadValue<string>();
|
||||||
|
value.GroupId = reader.ReadValue<string>();
|
||||||
|
value.Super = reader.ReadValue<bool>();
|
||||||
|
value.Bandwidth = reader.ReadValue<double>();
|
||||||
|
if (count > 8)
|
||||||
|
value.UserId = reader.ReadValue<string>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -872,72 +372,23 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableRelayMessageInfo>();
|
value = new RelayMessageInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.Type = reader.ReadValue<RelayMessengerType>();
|
||||||
|
value.FlowId = reader.ReadValue<ulong>();
|
||||||
|
value.FromId = reader.ReadValue<string>();
|
||||||
|
value.ToId = reader.ReadValue<string>();
|
||||||
|
if (count > 4)
|
||||||
|
value.NodeId = reader.ReadValue<string>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
[MemoryPackable]
|
[MemoryPackable]
|
||||||
public readonly partial struct SerializableRelayTestInfo188
|
public readonly partial struct SerializableRelayServerNodeUpdateInfo
|
||||||
{
|
{
|
||||||
[MemoryPackIgnore]
|
[MemoryPackIgnore]
|
||||||
public readonly RelayTestInfo188 info;
|
public readonly RelayServerNodeUpdateInfo info;
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string MachineId => info.MachineId;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string SecretKey => string.Empty;
|
|
||||||
|
|
||||||
[MemoryPackInclude, MemoryPackAllowSerialize]
|
|
||||||
IPEndPoint Server => info.Server;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string UserId => info.UserId;
|
|
||||||
|
|
||||||
[MemoryPackConstructor]
|
|
||||||
SerializableRelayTestInfo188(string machineId, string secretKey, IPEndPoint server, string userid)
|
|
||||||
{
|
|
||||||
var info = new RelayTestInfo188 { MachineId = machineId, Server = server, UserId = userid };
|
|
||||||
this.info = info;
|
|
||||||
}
|
|
||||||
|
|
||||||
public SerializableRelayTestInfo188(RelayTestInfo188 info)
|
|
||||||
{
|
|
||||||
this.info = info;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public class RelayTestInfo188Formatter : MemoryPackFormatter<RelayTestInfo188>
|
|
||||||
{
|
|
||||||
public override void Serialize<TBufferWriter>(ref MemoryPackWriter<TBufferWriter> writer, scoped ref RelayTestInfo188 value)
|
|
||||||
{
|
|
||||||
if (value == null)
|
|
||||||
{
|
|
||||||
writer.WriteNullObjectHeader();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
writer.WritePackable(new SerializableRelayTestInfo188(value));
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void Deserialize(ref MemoryPackReader reader, scoped ref RelayTestInfo188 value)
|
|
||||||
{
|
|
||||||
if (reader.PeekIsNull())
|
|
||||||
{
|
|
||||||
reader.Advance(1); // skip null block
|
|
||||||
value = null;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableRelayTestInfo188>();
|
|
||||||
value = wrapped.info;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[MemoryPackable]
|
|
||||||
public readonly partial struct SerializableRelayServerNodeUpdateInfo188
|
|
||||||
{
|
|
||||||
[MemoryPackIgnore]
|
|
||||||
public readonly RelayServerNodeUpdateInfo188 info;
|
|
||||||
[MemoryPackInclude]
|
[MemoryPackInclude]
|
||||||
string Id => info.Id;
|
string Id => info.Id;
|
||||||
[MemoryPackInclude]
|
[MemoryPackInclude]
|
||||||
@@ -965,13 +416,13 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
bool Sync2Server => info.Sync2Server;
|
bool Sync2Server => info.Sync2Server;
|
||||||
|
|
||||||
[MemoryPackConstructor]
|
[MemoryPackConstructor]
|
||||||
SerializableRelayServerNodeUpdateInfo188(
|
SerializableRelayServerNodeUpdateInfo(
|
||||||
string id, string name,
|
string id, string name,
|
||||||
int maxConnection, double maxBandwidth, double maxBandwidthTotal,
|
int maxConnection, double maxBandwidth, double maxBandwidthTotal,
|
||||||
double maxGbTotal, long maxGbTotalLastBytes,
|
double maxGbTotal, long maxGbTotalLastBytes,
|
||||||
bool Public, string url, bool allowTcp, bool allowUdp, bool sync2Server)
|
bool Public, string url, bool allowTcp, bool allowUdp, bool sync2Server)
|
||||||
{
|
{
|
||||||
var info = new RelayServerNodeUpdateInfo188
|
var info = new RelayServerNodeUpdateInfo
|
||||||
{
|
{
|
||||||
Id = id,
|
Id = id,
|
||||||
MaxBandwidth = maxBandwidth,
|
MaxBandwidth = maxBandwidth,
|
||||||
@@ -988,15 +439,14 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
};
|
};
|
||||||
this.info = info;
|
this.info = info;
|
||||||
}
|
}
|
||||||
|
public SerializableRelayServerNodeUpdateInfo(RelayServerNodeUpdateInfo info)
|
||||||
public SerializableRelayServerNodeUpdateInfo188(RelayServerNodeUpdateInfo188 info)
|
|
||||||
{
|
{
|
||||||
this.info = info;
|
this.info = info;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public class RelayServerNodeUpdateInfo188Formatter : MemoryPackFormatter<RelayServerNodeUpdateInfo188>
|
public class RelayServerNodeUpdateInfoFormatter : MemoryPackFormatter<RelayServerNodeUpdateInfo>
|
||||||
{
|
{
|
||||||
public override void Serialize<TBufferWriter>(ref MemoryPackWriter<TBufferWriter> writer, scoped ref RelayServerNodeUpdateInfo188 value)
|
public override void Serialize<TBufferWriter>(ref MemoryPackWriter<TBufferWriter> writer, scoped ref RelayServerNodeUpdateInfo value)
|
||||||
{
|
{
|
||||||
if (value == null)
|
if (value == null)
|
||||||
{
|
{
|
||||||
@@ -1004,10 +454,10 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
writer.WritePackable(new SerializableRelayServerNodeUpdateInfo188(value));
|
writer.WritePackable(new SerializableRelayServerNodeUpdateInfo(value));
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Deserialize(ref MemoryPackReader reader, scoped ref RelayServerNodeUpdateInfo188 value)
|
public override void Deserialize(ref MemoryPackReader reader, scoped ref RelayServerNodeUpdateInfo value)
|
||||||
{
|
{
|
||||||
if (reader.PeekIsNull())
|
if (reader.PeekIsNull())
|
||||||
{
|
{
|
||||||
@@ -1015,38 +465,53 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
value = null;
|
value = null;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
value = new RelayServerNodeUpdateInfo();
|
||||||
var wrapped = reader.ReadPackable<SerializableRelayServerNodeUpdateInfo188>();
|
reader.TryReadObjectHeader(out byte count);
|
||||||
value = wrapped.info;
|
value.Id = reader.ReadValue<string>();
|
||||||
|
value.Name = reader.ReadValue<string>();
|
||||||
|
value.MaxConnection = reader.ReadValue<int>();
|
||||||
|
value.MaxBandwidth = reader.ReadValue<double>();
|
||||||
|
value.MaxBandwidthTotal = reader.ReadValue<double>();
|
||||||
|
value.MaxGbTotal = reader.ReadValue<double>();
|
||||||
|
value.MaxGbTotalLastBytes = reader.ReadValue<long>();
|
||||||
|
value.Public = reader.ReadValue<bool>();
|
||||||
|
if (count > 8)
|
||||||
|
value.Url = reader.ReadValue<string>();
|
||||||
|
if (count > 9)
|
||||||
|
value.AllowTcp = reader.ReadValue<bool>();
|
||||||
|
if (count > 10)
|
||||||
|
value.AllowUdp = reader.ReadValue<bool>();
|
||||||
|
if (count > 11)
|
||||||
|
value.Sync2Server = reader.ReadValue<bool>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
[MemoryPackable]
|
[MemoryPackable]
|
||||||
public readonly partial struct SerializableRelayServerNodeUpdateWrapInfo188
|
public readonly partial struct SerializableRelayServerNodeUpdateWrapInfo
|
||||||
{
|
{
|
||||||
[MemoryPackIgnore]
|
[MemoryPackIgnore]
|
||||||
public readonly RelayServerNodeUpdateWrapInfo188 info;
|
public readonly RelayServerNodeUpdateWrapInfo info;
|
||||||
[MemoryPackInclude]
|
[MemoryPackInclude]
|
||||||
string SecretKey => string.Empty;
|
string SecretKey => string.Empty;
|
||||||
[MemoryPackInclude, MemoryPackAllowSerialize]
|
[MemoryPackInclude, MemoryPackAllowSerialize]
|
||||||
RelayServerNodeUpdateInfo188 Info => info.Info;
|
RelayServerNodeUpdateInfo Info => info.Info;
|
||||||
|
|
||||||
[MemoryPackConstructor]
|
[MemoryPackConstructor]
|
||||||
SerializableRelayServerNodeUpdateWrapInfo188(string secretKey, RelayServerNodeUpdateInfo188 info)
|
SerializableRelayServerNodeUpdateWrapInfo(string secretKey, RelayServerNodeUpdateInfo info)
|
||||||
{
|
{
|
||||||
this.info = new RelayServerNodeUpdateWrapInfo188
|
this.info = new RelayServerNodeUpdateWrapInfo
|
||||||
{
|
{
|
||||||
Info = info
|
Info = info
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public SerializableRelayServerNodeUpdateWrapInfo188(RelayServerNodeUpdateWrapInfo188 info)
|
public SerializableRelayServerNodeUpdateWrapInfo(RelayServerNodeUpdateWrapInfo info)
|
||||||
{
|
{
|
||||||
this.info = info;
|
this.info = info;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public class RelayServerNodeUpdateWrapInfo188Formatter : MemoryPackFormatter<RelayServerNodeUpdateWrapInfo188>
|
public class RelayServerNodeUpdateWrapInfoFormatter : MemoryPackFormatter<RelayServerNodeUpdateWrapInfo>
|
||||||
{
|
{
|
||||||
public override void Serialize<TBufferWriter>(ref MemoryPackWriter<TBufferWriter> writer, scoped ref RelayServerNodeUpdateWrapInfo188 value)
|
public override void Serialize<TBufferWriter>(ref MemoryPackWriter<TBufferWriter> writer, scoped ref RelayServerNodeUpdateWrapInfo value)
|
||||||
{
|
{
|
||||||
if (value == null)
|
if (value == null)
|
||||||
{
|
{
|
||||||
@@ -1054,10 +519,10 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
writer.WritePackable(new SerializableRelayServerNodeUpdateWrapInfo188(value));
|
writer.WritePackable(new SerializableRelayServerNodeUpdateWrapInfo(value));
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Deserialize(ref MemoryPackReader reader, scoped ref RelayServerNodeUpdateWrapInfo188 value)
|
public override void Deserialize(ref MemoryPackReader reader, scoped ref RelayServerNodeUpdateWrapInfo value)
|
||||||
{
|
{
|
||||||
if (reader.PeekIsNull())
|
if (reader.PeekIsNull())
|
||||||
{
|
{
|
||||||
@@ -1066,15 +531,15 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableRelayServerNodeUpdateWrapInfo188>();
|
var wrapped = reader.ReadPackable<SerializableRelayServerNodeUpdateWrapInfo>();
|
||||||
value = wrapped.info;
|
value = wrapped.info;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
[MemoryPackable]
|
[MemoryPackable]
|
||||||
public readonly partial struct SerializableRelayServerNodeReportInfo188
|
public readonly partial struct SerializableRelayServerNodeReportInfo
|
||||||
{
|
{
|
||||||
[MemoryPackIgnore]
|
[MemoryPackIgnore]
|
||||||
public readonly RelayServerNodeReportInfo188 info;
|
public readonly RelayServerNodeReportInfo info;
|
||||||
|
|
||||||
[MemoryPackInclude]
|
[MemoryPackInclude]
|
||||||
string Id => info.Id;
|
string Id => info.Id;
|
||||||
@@ -1115,7 +580,7 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
|
|
||||||
|
|
||||||
[MemoryPackConstructor]
|
[MemoryPackConstructor]
|
||||||
SerializableRelayServerNodeReportInfo188(
|
SerializableRelayServerNodeReportInfo(
|
||||||
string id, string name,
|
string id, string name,
|
||||||
int maxConnection, double maxBandwidth, double maxBandwidthTotal,
|
int maxConnection, double maxBandwidth, double maxBandwidthTotal,
|
||||||
double maxGbTotal, long maxGbTotalLastBytes,
|
double maxGbTotal, long maxGbTotalLastBytes,
|
||||||
@@ -1123,7 +588,7 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
bool Public, int delay,
|
bool Public, int delay,
|
||||||
IPEndPoint endPoint, long lastTicks, string url, TunnelProtocolType allowProtocol, bool sync2Server, string version)
|
IPEndPoint endPoint, long lastTicks, string url, TunnelProtocolType allowProtocol, bool sync2Server, string version)
|
||||||
{
|
{
|
||||||
var info = new RelayServerNodeReportInfo188
|
var info = new RelayServerNodeReportInfo
|
||||||
{
|
{
|
||||||
BandwidthRatio = bandwidthRatio,
|
BandwidthRatio = bandwidthRatio,
|
||||||
ConnectionRatio = connectionRatio,
|
ConnectionRatio = connectionRatio,
|
||||||
@@ -1146,14 +611,14 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
this.info = info;
|
this.info = info;
|
||||||
}
|
}
|
||||||
|
|
||||||
public SerializableRelayServerNodeReportInfo188(RelayServerNodeReportInfo188 info)
|
public SerializableRelayServerNodeReportInfo(RelayServerNodeReportInfo info)
|
||||||
{
|
{
|
||||||
this.info = info;
|
this.info = info;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public class RelayServerNodeReportInfo188Formatter : MemoryPackFormatter<RelayServerNodeReportInfo188>
|
public class RelayServerNodeReportInfoFormatter : MemoryPackFormatter<RelayServerNodeReportInfo>
|
||||||
{
|
{
|
||||||
public override void Serialize<TBufferWriter>(ref MemoryPackWriter<TBufferWriter> writer, scoped ref RelayServerNodeReportInfo188 value)
|
public override void Serialize<TBufferWriter>(ref MemoryPackWriter<TBufferWriter> writer, scoped ref RelayServerNodeReportInfo value)
|
||||||
{
|
{
|
||||||
if (value == null)
|
if (value == null)
|
||||||
{
|
{
|
||||||
@@ -1161,10 +626,10 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
writer.WritePackable(new SerializableRelayServerNodeReportInfo188(value));
|
writer.WritePackable(new SerializableRelayServerNodeReportInfo(value));
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Deserialize(ref MemoryPackReader reader, scoped ref RelayServerNodeReportInfo188 value)
|
public override void Deserialize(ref MemoryPackReader reader, scoped ref RelayServerNodeReportInfo value)
|
||||||
{
|
{
|
||||||
if (reader.PeekIsNull())
|
if (reader.PeekIsNull())
|
||||||
{
|
{
|
||||||
@@ -1173,8 +638,29 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableRelayServerNodeReportInfo188>();
|
value = new RelayServerNodeReportInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.Id = reader.ReadValue<string>();
|
||||||
|
value.Name = reader.ReadValue<string>();
|
||||||
|
value.MaxConnection = reader.ReadValue<int>();
|
||||||
|
value.MaxBandwidth = reader.ReadValue<double>();
|
||||||
|
value.MaxBandwidthTotal = reader.ReadValue<double>();
|
||||||
|
value.MaxGbTotal = reader.ReadValue<double>();
|
||||||
|
value.MaxGbTotalLastBytes = reader.ReadValue<long>();
|
||||||
|
value.ConnectionRatio = reader.ReadValue<double>();
|
||||||
|
value.BandwidthRatio = reader.ReadValue<double>();
|
||||||
|
value.Public = reader.ReadValue<bool>();
|
||||||
|
value.Delay = reader.ReadValue<int>();
|
||||||
|
value.EndPoint = reader.ReadValue<IPEndPoint>();
|
||||||
|
value.LastTicks = reader.ReadValue<long>();
|
||||||
|
if(count > 13)
|
||||||
|
value.Url = reader.ReadValue<string>();
|
||||||
|
if (count > 14)
|
||||||
|
value.AllowProtocol = reader.ReadValue<TunnelProtocolType>();
|
||||||
|
if (count > 15)
|
||||||
|
value.Sync2Server = reader.ReadValue<bool>();
|
||||||
|
if (count > 16)
|
||||||
|
value.Version = reader.ReadValue<string>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,153 +6,6 @@ using System.Net.Sockets;
|
|||||||
|
|
||||||
namespace linker.messenger.serializer.memorypack
|
namespace linker.messenger.serializer.memorypack
|
||||||
{
|
{
|
||||||
[MemoryPackable]
|
|
||||||
public readonly partial struct SerializableSForwardInfo
|
|
||||||
{
|
|
||||||
[MemoryPackIgnore]
|
|
||||||
public readonly SForwardInfo info;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
long Id => info.Id;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string Name => info.Name;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string Domain => info.Domain;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
int RemotePort => info.RemotePort;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
byte BufferSize => info.BufferSize;
|
|
||||||
|
|
||||||
[MemoryPackInclude, MemoryPackAllowSerialize]
|
|
||||||
IPEndPoint LocalEP => info.LocalEP;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
bool Started => info.Started;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string Msg => info.Msg;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string LocalMsg => info.LocalMsg;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
int RemotePortMin => info.RemotePortMin;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
int RemotePortMax => info.RemotePortMax;
|
|
||||||
|
|
||||||
[MemoryPackConstructor]
|
|
||||||
SerializableSForwardInfo(long id, string name, string domain, int remotePort, byte bufferSize, IPEndPoint localEP, bool started, string msg, string localMsg, int remotePortMin, int remotePortMax)
|
|
||||||
{
|
|
||||||
this.info = new SForwardInfo
|
|
||||||
{
|
|
||||||
LocalEP = localEP,
|
|
||||||
RemotePort = remotePort,
|
|
||||||
RemotePortMax = remotePortMax,
|
|
||||||
Name = name,
|
|
||||||
BufferSize = bufferSize,
|
|
||||||
Domain = domain,
|
|
||||||
Id = id,
|
|
||||||
LocalMsg = localMsg,
|
|
||||||
Msg = localMsg,
|
|
||||||
RemotePortMin = remotePortMin,
|
|
||||||
Started = started,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
public SerializableSForwardInfo(SForwardInfo info)
|
|
||||||
{
|
|
||||||
this.info = info;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public class SForwardInfoFormatter : MemoryPackFormatter<SForwardInfo>
|
|
||||||
{
|
|
||||||
public override void Serialize<TBufferWriter>(ref MemoryPackWriter<TBufferWriter> writer, scoped ref SForwardInfo value)
|
|
||||||
{
|
|
||||||
if (value == null)
|
|
||||||
{
|
|
||||||
writer.WriteNullObjectHeader();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
writer.WritePackable(new SerializableSForwardInfo(value));
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void Deserialize(ref MemoryPackReader reader, scoped ref SForwardInfo value)
|
|
||||||
{
|
|
||||||
if (reader.PeekIsNull())
|
|
||||||
{
|
|
||||||
reader.Advance(1); // skip null block
|
|
||||||
value = null;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableSForwardInfo>();
|
|
||||||
value = wrapped.info;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[MemoryPackable]
|
|
||||||
public readonly partial struct SerializableSForwardAddInfo
|
|
||||||
{
|
|
||||||
[MemoryPackIgnore]
|
|
||||||
public readonly SForwardAddInfo info;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string Domain => info.Domain;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
int RemotePort => info.RemotePort;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string SecretKey => string.Empty;
|
|
||||||
|
|
||||||
[MemoryPackConstructor]
|
|
||||||
SerializableSForwardAddInfo(string domain, int remotePort, string secretKey)
|
|
||||||
{
|
|
||||||
this.info = new SForwardAddInfo
|
|
||||||
{
|
|
||||||
RemotePort = remotePort,
|
|
||||||
Domain = domain
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
public SerializableSForwardAddInfo(SForwardAddInfo info)
|
|
||||||
{
|
|
||||||
this.info = info;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public class SForwardAddInfoFormatter : MemoryPackFormatter<SForwardAddInfo>
|
|
||||||
{
|
|
||||||
public override void Serialize<TBufferWriter>(ref MemoryPackWriter<TBufferWriter> writer, scoped ref SForwardAddInfo value)
|
|
||||||
{
|
|
||||||
if (value == null)
|
|
||||||
{
|
|
||||||
writer.WriteNullObjectHeader();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
writer.WritePackable(new SerializableSForwardAddInfo(value));
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void Deserialize(ref MemoryPackReader reader, scoped ref SForwardAddInfo value)
|
|
||||||
{
|
|
||||||
if (reader.PeekIsNull())
|
|
||||||
{
|
|
||||||
reader.Advance(1); // skip null block
|
|
||||||
value = null;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableSForwardAddInfo>();
|
|
||||||
value = wrapped.info;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
[MemoryPackable]
|
[MemoryPackable]
|
||||||
public readonly partial struct SerializableSForwardAddResultInfo
|
public readonly partial struct SerializableSForwardAddResultInfo
|
||||||
{
|
{
|
||||||
@@ -206,8 +59,11 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableSForwardAddResultInfo>();
|
value = new SForwardAddResultInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.Success = reader.ReadValue<bool>();
|
||||||
|
value.Message = reader.ReadValue<string>();
|
||||||
|
value.BufferSize = reader.ReadValue<byte>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -262,8 +118,10 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableSForwardAddForwardInfo>();
|
value =new SForwardAddForwardInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.MachineId = reader.ReadValue<string>();
|
||||||
|
value.Data = reader.ReadValue<SForwardInfo>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -317,8 +175,11 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableSForwardRemoveForwardInfo>();
|
value =new SForwardRemoveForwardInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.MachineId = reader.ReadValue<string>();
|
||||||
|
value.Id = reader.ReadValue<int>();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -368,7 +229,6 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
MachineId = machineId
|
MachineId = machineId
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public SerializableSForwardProxyInfo(SForwardProxyInfo info)
|
public SerializableSForwardProxyInfo(SForwardProxyInfo info)
|
||||||
{
|
{
|
||||||
this.info = info;
|
this.info = info;
|
||||||
@@ -396,8 +256,16 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableSForwardProxyInfo>();
|
value = new SForwardProxyInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.Id = reader.ReadValue<ulong>();
|
||||||
|
value.Domain = reader.ReadValue<string>();
|
||||||
|
value.RemotePort = reader.ReadValue<int>();
|
||||||
|
value.BufferSize = reader.ReadValue<byte>();
|
||||||
|
value.MachineId = reader.ReadValue<string>();
|
||||||
|
value.NodeId = reader.ReadValue<string>();
|
||||||
|
value.ProtocolType = reader.ReadValue<ProtocolType>();
|
||||||
|
value.Addr = reader.ReadValue<IPAddress>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -451,72 +319,20 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableSForwardCountInfo>();
|
value = new SForwardCountInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.MachineId = reader.ReadValue<string>();
|
||||||
|
value.Count = reader.ReadValue<int>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[MemoryPackable]
|
[MemoryPackable]
|
||||||
public readonly partial struct SerializableSForwardAddForwardInfo191
|
public readonly partial struct SerializableSForwardAddInfo
|
||||||
{
|
{
|
||||||
[MemoryPackIgnore]
|
[MemoryPackIgnore]
|
||||||
public readonly SForwardAddForwardInfo191 info;
|
public readonly SForwardAddInfo info;
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string MachineId => info.MachineId;
|
|
||||||
|
|
||||||
[MemoryPackInclude, MemoryPackAllowSerialize]
|
|
||||||
SForwardInfo191 Data => info.Data;
|
|
||||||
|
|
||||||
[MemoryPackConstructor]
|
|
||||||
SerializableSForwardAddForwardInfo191(string machineId, SForwardInfo191 data)
|
|
||||||
{
|
|
||||||
this.info = new SForwardAddForwardInfo191
|
|
||||||
{
|
|
||||||
MachineId = machineId,
|
|
||||||
Data = data
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
public SerializableSForwardAddForwardInfo191(SForwardAddForwardInfo191 info)
|
|
||||||
{
|
|
||||||
this.info = info;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public class SForwardAddForwardInfo191Formatter : MemoryPackFormatter<SForwardAddForwardInfo191>
|
|
||||||
{
|
|
||||||
public override void Serialize<TBufferWriter>(ref MemoryPackWriter<TBufferWriter> writer, scoped ref SForwardAddForwardInfo191 value)
|
|
||||||
{
|
|
||||||
if (value == null)
|
|
||||||
{
|
|
||||||
writer.WriteNullObjectHeader();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
writer.WritePackable(new SerializableSForwardAddForwardInfo191(value));
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void Deserialize(ref MemoryPackReader reader, scoped ref SForwardAddForwardInfo191 value)
|
|
||||||
{
|
|
||||||
if (reader.PeekIsNull())
|
|
||||||
{
|
|
||||||
reader.Advance(1); // skip null block
|
|
||||||
value = null;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableSForwardAddForwardInfo191>();
|
|
||||||
value = wrapped.info;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
[MemoryPackable]
|
|
||||||
public readonly partial struct SerializableSForwardAddInfo191
|
|
||||||
{
|
|
||||||
[MemoryPackIgnore]
|
|
||||||
public readonly SForwardAddInfo191 info;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
[MemoryPackInclude]
|
||||||
string Domain => info.Domain;
|
string Domain => info.Domain;
|
||||||
@@ -532,35 +348,35 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
string GroupId => info.GroupId;
|
string GroupId => info.GroupId;
|
||||||
|
|
||||||
[MemoryPackInclude]
|
[MemoryPackInclude]
|
||||||
bool Validated => info.Super;
|
bool Super => info.Super;
|
||||||
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
[MemoryPackInclude]
|
||||||
double Bandwidth => info.Bandwidth;
|
double Bandwidth => info.Bandwidth;
|
||||||
|
|
||||||
[MemoryPackConstructor]
|
[MemoryPackConstructor]
|
||||||
SerializableSForwardAddInfo191(string domain, int remotePort, string nodeid, string machineid, string groupid, bool validated, double bandwidth)
|
SerializableSForwardAddInfo(string domain, int remotePort, string nodeid, string machineid, string groupid, bool super, double bandwidth)
|
||||||
{
|
{
|
||||||
this.info = new SForwardAddInfo191
|
this.info = new SForwardAddInfo
|
||||||
{
|
{
|
||||||
RemotePort = remotePort,
|
RemotePort = remotePort,
|
||||||
Domain = domain,
|
Domain = domain,
|
||||||
NodeId = nodeid,
|
NodeId = nodeid,
|
||||||
GroupId = groupid,
|
GroupId = groupid,
|
||||||
MachineId = machineid,
|
MachineId = machineid,
|
||||||
Super = validated,
|
Super = super,
|
||||||
Bandwidth = bandwidth
|
Bandwidth = bandwidth
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public SerializableSForwardAddInfo191(SForwardAddInfo191 info)
|
public SerializableSForwardAddInfo(SForwardAddInfo info)
|
||||||
{
|
{
|
||||||
this.info = info;
|
this.info = info;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public class SForwardAddInfo191Formatter : MemoryPackFormatter<SForwardAddInfo191>
|
public class SForwardAddInfoFormatter : MemoryPackFormatter<SForwardAddInfo>
|
||||||
{
|
{
|
||||||
public override void Serialize<TBufferWriter>(ref MemoryPackWriter<TBufferWriter> writer, scoped ref SForwardAddInfo191 value)
|
public override void Serialize<TBufferWriter>(ref MemoryPackWriter<TBufferWriter> writer, scoped ref SForwardAddInfo value)
|
||||||
{
|
{
|
||||||
if (value == null)
|
if (value == null)
|
||||||
{
|
{
|
||||||
@@ -568,10 +384,10 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
writer.WritePackable(new SerializableSForwardAddInfo191(value));
|
writer.WritePackable(new SerializableSForwardAddInfo(value));
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Deserialize(ref MemoryPackReader reader, scoped ref SForwardAddInfo191 value)
|
public override void Deserialize(ref MemoryPackReader reader, scoped ref SForwardAddInfo value)
|
||||||
{
|
{
|
||||||
if (reader.PeekIsNull())
|
if (reader.PeekIsNull())
|
||||||
{
|
{
|
||||||
@@ -580,15 +396,26 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableSForwardAddInfo191>();
|
value = new SForwardAddInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.Domain = reader.ReadValue<string>();
|
||||||
|
value.RemotePort = reader.ReadValue<int>();
|
||||||
|
if(count > 2)
|
||||||
|
{
|
||||||
|
value.NodeId = reader.ReadValue<string>();
|
||||||
|
value.MachineId = reader.ReadValue<string>();
|
||||||
|
value.GroupId = reader.ReadValue<string>();
|
||||||
|
value.Super = reader.ReadValue<bool>();
|
||||||
|
value.Bandwidth = reader.ReadValue<double>();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
[MemoryPackable]
|
[MemoryPackable]
|
||||||
public readonly partial struct SerializableSForwardInfo191
|
public readonly partial struct SerializableSForwardInfo
|
||||||
{
|
{
|
||||||
[MemoryPackIgnore]
|
[MemoryPackIgnore]
|
||||||
public readonly SForwardInfo191 info;
|
public readonly SForwardInfo info;
|
||||||
|
|
||||||
[MemoryPackInclude]
|
[MemoryPackInclude]
|
||||||
long Id => info.Id;
|
long Id => info.Id;
|
||||||
@@ -626,9 +453,10 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
string NodeId => info.NodeId;
|
string NodeId => info.NodeId;
|
||||||
|
|
||||||
[MemoryPackConstructor]
|
[MemoryPackConstructor]
|
||||||
SerializableSForwardInfo191(long id, string name, string domain, int remotePort, byte bufferSize, IPEndPoint localEP, bool started, string msg, string localMsg, int remotePortMin, int remotePortMax, string nodeid)
|
SerializableSForwardInfo(long id, string name, string domain, int remotePort, byte bufferSize, IPEndPoint localEP,
|
||||||
|
bool started, string msg, string localMsg, int remotePortMin, int remotePortMax, string nodeid)
|
||||||
{
|
{
|
||||||
this.info = new SForwardInfo191
|
this.info = new SForwardInfo
|
||||||
{
|
{
|
||||||
LocalEP = localEP,
|
LocalEP = localEP,
|
||||||
RemotePort = remotePort,
|
RemotePort = remotePort,
|
||||||
@@ -638,21 +466,21 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
Domain = domain,
|
Domain = domain,
|
||||||
Id = id,
|
Id = id,
|
||||||
LocalMsg = localMsg,
|
LocalMsg = localMsg,
|
||||||
Msg = localMsg,
|
Msg = msg,
|
||||||
RemotePortMin = remotePortMin,
|
RemotePortMin = remotePortMin,
|
||||||
Started = started,
|
Started = started,
|
||||||
NodeId = nodeid
|
NodeId = nodeid
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public SerializableSForwardInfo191(SForwardInfo191 info)
|
public SerializableSForwardInfo(SForwardInfo info)
|
||||||
{
|
{
|
||||||
this.info = info;
|
this.info = info;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public class SForwardInfo191Formatter : MemoryPackFormatter<SForwardInfo191>
|
public class SForwardInfoFormatter : MemoryPackFormatter<SForwardInfo>
|
||||||
{
|
{
|
||||||
public override void Serialize<TBufferWriter>(ref MemoryPackWriter<TBufferWriter> writer, scoped ref SForwardInfo191 value)
|
public override void Serialize<TBufferWriter>(ref MemoryPackWriter<TBufferWriter> writer, scoped ref SForwardInfo value)
|
||||||
{
|
{
|
||||||
if (value == null)
|
if (value == null)
|
||||||
{
|
{
|
||||||
@@ -660,10 +488,10 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
writer.WritePackable(new SerializableSForwardInfo191(value));
|
writer.WritePackable(new SerializableSForwardInfo(value));
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Deserialize(ref MemoryPackReader reader, scoped ref SForwardInfo191 value)
|
public override void Deserialize(ref MemoryPackReader reader, scoped ref SForwardInfo value)
|
||||||
{
|
{
|
||||||
if (reader.PeekIsNull())
|
if (reader.PeekIsNull())
|
||||||
{
|
{
|
||||||
@@ -672,10 +500,26 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableSForwardInfo191>();
|
value = new SForwardInfo();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
|
value.Id = reader.ReadValue<long>();
|
||||||
|
value.Name = reader.ReadValue<string>();
|
||||||
|
value.Domain = reader.ReadValue<string>();
|
||||||
|
value.RemotePort = reader.ReadValue<int>();
|
||||||
|
value.BufferSize = reader.ReadValue<byte>();
|
||||||
|
value.LocalEP = reader.ReadValue<IPEndPoint>();
|
||||||
|
value.Started = reader.ReadValue<bool>();
|
||||||
|
value.Msg = reader.ReadValue<string>();
|
||||||
|
value.LocalMsg = reader.ReadValue<string>();
|
||||||
|
value.RemotePortMin = reader.ReadValue<int>();
|
||||||
|
value.RemotePortMax = reader.ReadValue<int>();
|
||||||
|
if (count > 11)
|
||||||
|
{
|
||||||
|
value.NodeId = reader.ReadValue<string>();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[MemoryPackable]
|
[MemoryPackable]
|
||||||
public readonly partial struct SerializableSForwardServerNodeUpdateInfo
|
public readonly partial struct SerializableSForwardServerNodeUpdateInfo
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -31,11 +31,24 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
[MemoryPackInclude]
|
[MemoryPackInclude]
|
||||||
byte MapPrefixLength => info.MapPrefixLength;
|
byte MapPrefixLength => info.MapPrefixLength;
|
||||||
|
|
||||||
|
[MemoryPackInclude]
|
||||||
|
string Remark => info.Remark;
|
||||||
|
|
||||||
|
|
||||||
[MemoryPackConstructor]
|
[MemoryPackConstructor]
|
||||||
SerializableSocks5LanInfo(IPAddress ip, byte prefixLength, bool disabled, bool exists, string error, IPAddress mapip, byte mapprefixLength)
|
SerializableSocks5LanInfo(IPAddress ip, byte prefixLength, bool disabled, bool exists, string error, IPAddress mapip, byte mapprefixLength, string remark)
|
||||||
{
|
{
|
||||||
var info = new Socks5LanInfo { Disabled = disabled, Error = error, Exists = exists, IP = ip, PrefixLength = prefixLength, MapIP = mapip, MapPrefixLength = mapprefixLength };
|
var info = new Socks5LanInfo
|
||||||
|
{
|
||||||
|
Disabled = disabled,
|
||||||
|
Error = error,
|
||||||
|
Exists = exists,
|
||||||
|
IP = ip,
|
||||||
|
PrefixLength = prefixLength,
|
||||||
|
MapIP = mapip,
|
||||||
|
MapPrefixLength = mapprefixLength,
|
||||||
|
Remark = remark
|
||||||
|
};
|
||||||
this.info = info;
|
this.info = info;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -65,9 +78,17 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
value = null;
|
value = null;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
reader.TryReadObjectHeader(out byte count);
|
||||||
var wrapped = reader.ReadPackable<SerializableSocks5LanInfo>();
|
value = new Socks5LanInfo();
|
||||||
value = wrapped.info;
|
value.IP = reader.ReadValue<IPAddress>();
|
||||||
|
value.PrefixLength = reader.ReadValue<byte>();
|
||||||
|
value.Disabled = reader.ReadValue<bool>();
|
||||||
|
value.Exists = reader.ReadValue<bool>();
|
||||||
|
value.Error = reader.ReadValue<string>();
|
||||||
|
value.MapIP = reader.ReadValue<IPAddress>();
|
||||||
|
value.MapPrefixLength = reader.ReadValue<byte>();
|
||||||
|
if (count > 7)
|
||||||
|
value.Remark = reader.ReadValue<string>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -93,14 +114,14 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
[MemoryPackInclude]
|
[MemoryPackInclude]
|
||||||
string SetupError => info.SetupError;
|
string SetupError => info.SetupError;
|
||||||
|
|
||||||
[MemoryPackInclude,MemoryPackAllowSerialize]
|
[MemoryPackInclude, MemoryPackAllowSerialize]
|
||||||
IPAddress Wan => info.Wan;
|
IPAddress Wan => info.Wan;
|
||||||
|
|
||||||
|
|
||||||
[MemoryPackConstructor]
|
[MemoryPackConstructor]
|
||||||
SerializableSocks5Info(string machineId, Socks5Status status, int port, List<Socks5LanInfo> lans, string setupError, IPAddress wan)
|
SerializableSocks5Info(string machineId, Socks5Status status, int port, List<Socks5LanInfo> lans, string setupError, IPAddress wan)
|
||||||
{
|
{
|
||||||
var info = new Socks5Info { MachineId = machineId, Lans = lans, Port = port, SetupError = setupError, Status = status, Wan= wan };
|
var info = new Socks5Info { MachineId = machineId, Lans = lans, Port = port, SetupError = setupError, Status = status, Wan = wan };
|
||||||
this.info = info;
|
this.info = info;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[MemoryPackable]
|
[MemoryPackable]
|
||||||
public readonly partial struct SerializableSyncInfo
|
public readonly partial struct SerializableSyncInfo
|
||||||
{
|
{
|
||||||
@@ -17,17 +18,20 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
[MemoryPackInclude]
|
[MemoryPackInclude]
|
||||||
Memory<byte> Data => info.Data;
|
Memory<byte> Data => info.Data;
|
||||||
|
|
||||||
|
[MemoryPackInclude]
|
||||||
|
string[] Ids => info.Ids;
|
||||||
|
|
||||||
|
|
||||||
[MemoryPackConstructor]
|
[MemoryPackConstructor]
|
||||||
SerializableSyncInfo(string name, Memory<byte> data)
|
SerializableSyncInfo(string name, Memory<byte> data, string[] ids)
|
||||||
{
|
{
|
||||||
var info = new SyncInfo { Name = name, Data = data };
|
var info = new SyncInfo { Name = name, Data = data, Ids = ids };
|
||||||
this.info = info;
|
this.info = info;
|
||||||
}
|
}
|
||||||
|
|
||||||
public SerializableSyncInfo(SyncInfo signInfo)
|
public SerializableSyncInfo(SyncInfo info)
|
||||||
{
|
{
|
||||||
this.info = signInfo;
|
this.info = info;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public class SyncInfoFormatter : MemoryPackFormatter<SyncInfo>
|
public class SyncInfoFormatter : MemoryPackFormatter<SyncInfo>
|
||||||
@@ -51,65 +55,12 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
value = null;
|
value = null;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
value = new SyncInfo();
|
||||||
var wrapped = reader.ReadPackable<SerializableSyncInfo>();
|
reader.TryReadObjectHeader(out byte count);
|
||||||
value = wrapped.info;
|
value.Name = reader.ReadValue<string>();
|
||||||
}
|
value.Data = reader.ReadValue<Memory<byte>>();
|
||||||
}
|
if (count > 2)
|
||||||
|
value.Ids = reader.ReadValue<string[]>();
|
||||||
|
|
||||||
[MemoryPackable]
|
|
||||||
public readonly partial struct SerializableSync184Info
|
|
||||||
{
|
|
||||||
[MemoryPackIgnore]
|
|
||||||
public readonly Sync184Info info;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string Name => info.Name;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
Memory<byte> Data => info.Data;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string[] Ids => info.Ids;
|
|
||||||
|
|
||||||
|
|
||||||
[MemoryPackConstructor]
|
|
||||||
SerializableSync184Info(string name, Memory<byte> data, string[] ids)
|
|
||||||
{
|
|
||||||
var info = new Sync184Info { Name = name, Data = data, Ids = ids };
|
|
||||||
this.info = info;
|
|
||||||
}
|
|
||||||
|
|
||||||
public SerializableSync184Info(Sync184Info info)
|
|
||||||
{
|
|
||||||
this.info = info;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public class Sync184InfoFormatter : MemoryPackFormatter<Sync184Info>
|
|
||||||
{
|
|
||||||
public override void Serialize<TBufferWriter>(ref MemoryPackWriter<TBufferWriter> writer, scoped ref Sync184Info value)
|
|
||||||
{
|
|
||||||
if (value == null)
|
|
||||||
{
|
|
||||||
writer.WriteNullObjectHeader();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
writer.WritePackable(new SerializableSync184Info(value));
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void Deserialize(ref MemoryPackReader reader, scoped ref Sync184Info value)
|
|
||||||
{
|
|
||||||
if (reader.PeekIsNull())
|
|
||||||
{
|
|
||||||
reader.Advance(1); // skip null block
|
|
||||||
value = null;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableSync184Info>();
|
|
||||||
value = wrapped.info;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -442,8 +442,11 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
[MemoryPackInclude, MemoryPackAllowSerialize]
|
[MemoryPackInclude, MemoryPackAllowSerialize]
|
||||||
byte MapPrefixLength => info.MapPrefixLength;
|
byte MapPrefixLength => info.MapPrefixLength;
|
||||||
|
|
||||||
|
[MemoryPackInclude]
|
||||||
|
string Remark => info.Remark;
|
||||||
|
|
||||||
[MemoryPackConstructor]
|
[MemoryPackConstructor]
|
||||||
SerializableTuntapLanInfo(IPAddress ip, byte prefixLength, bool disabled, bool exists, string error, IPAddress mapip, byte mapprefixLength)
|
SerializableTuntapLanInfo(IPAddress ip, byte prefixLength, bool disabled, bool exists, string error, IPAddress mapip, byte mapprefixLength, string remark)
|
||||||
{
|
{
|
||||||
var info = new TuntapLanInfo
|
var info = new TuntapLanInfo
|
||||||
{
|
{
|
||||||
@@ -454,6 +457,7 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
Error = error,
|
Error = error,
|
||||||
MapIP = mapip,
|
MapIP = mapip,
|
||||||
MapPrefixLength = mapprefixLength,
|
MapPrefixLength = mapprefixLength,
|
||||||
|
Remark = remark
|
||||||
};
|
};
|
||||||
this.info = info;
|
this.info = info;
|
||||||
}
|
}
|
||||||
@@ -485,8 +489,19 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableTuntapLanInfo>();
|
reader.TryReadObjectHeader(out byte count);
|
||||||
value = wrapped.info;
|
value = new TuntapLanInfo();
|
||||||
|
value.IP = reader.ReadValue<IPAddress>();
|
||||||
|
value.PrefixLength = reader.ReadValue<byte>();
|
||||||
|
value.Disabled = reader.ReadValue<bool>();
|
||||||
|
value.Exists = reader.ReadValue<bool>();
|
||||||
|
value.Error = reader.ReadValue<string>();
|
||||||
|
value.MapIP = reader.ReadValue<IPAddress>();
|
||||||
|
value.MapPrefixLength = reader.ReadValue<byte>();
|
||||||
|
if (count > 7)
|
||||||
|
value.Remark = reader.ReadValue<string>();
|
||||||
|
|
||||||
|
//reader.Advance(count);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -216,7 +216,6 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[MemoryPackable]
|
[MemoryPackable]
|
||||||
public readonly partial struct SerializableUpdateInfo
|
public readonly partial struct SerializableUpdateInfo
|
||||||
{
|
{
|
||||||
@@ -280,8 +279,6 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[MemoryPackable]
|
[MemoryPackable]
|
||||||
public readonly partial struct SerializableUpdaterInfo170
|
public readonly partial struct SerializableUpdaterInfo170
|
||||||
{
|
{
|
||||||
@@ -302,10 +299,16 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
[MemoryPackInclude]
|
[MemoryPackInclude]
|
||||||
long Current => info.Current;
|
long Current => info.Current;
|
||||||
|
|
||||||
|
[MemoryPackInclude]
|
||||||
|
string ServerVersion => info.ServerVersion;
|
||||||
|
|
||||||
|
[MemoryPackInclude]
|
||||||
|
bool Sync2Server => info.Sync2Server;
|
||||||
|
|
||||||
[MemoryPackConstructor]
|
[MemoryPackConstructor]
|
||||||
SerializableUpdaterInfo170(string machineId, string version, UpdaterStatus status, long length, long current)
|
SerializableUpdaterInfo170(string machineId, string version, UpdaterStatus status, long length, long current, string serverVersion, bool sync2Server)
|
||||||
{
|
{
|
||||||
this.info = new UpdaterInfo170 { MachineId = machineId, Version = version, Status = status, Length = length, Current = current };
|
this.info = new UpdaterInfo170 { MachineId = machineId, Version = version, Status = status, Length = length, Current = current, ServerVersion = serverVersion, Sync2Server = sync2Server };
|
||||||
}
|
}
|
||||||
|
|
||||||
public SerializableUpdaterInfo170(UpdaterInfo170 info)
|
public SerializableUpdaterInfo170(UpdaterInfo170 info)
|
||||||
@@ -335,135 +338,17 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableUpdaterInfo170>();
|
value = new UpdaterInfo170();
|
||||||
value = wrapped.info;
|
reader.TryReadObjectHeader(out byte count);
|
||||||
}
|
value.MachineId = reader.ReadValue<string>();
|
||||||
}
|
value.Version = reader.ReadValue<string>();
|
||||||
|
value.Status = reader.ReadValue<UpdaterStatus>();
|
||||||
|
value.Length = reader.ReadValue<long>();
|
||||||
[MemoryPackable]
|
value.Current = reader.ReadValue<long>();
|
||||||
public readonly partial struct SerializableUpdater184Info
|
if (count > 5)
|
||||||
{
|
value.ServerVersion = reader.ReadValue<string>();
|
||||||
[MemoryPackIgnore]
|
if (count > 6)
|
||||||
public readonly Updater184Info info;
|
value.Sync2Server = reader.ReadValue<bool>();
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string MachineId => info.MachineId;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string Version => info.Version;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
UpdaterStatus Status => info.Status;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
long Length => info.Length;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
long Current => info.Current;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string ServerVersion => info.ServerVersion;
|
|
||||||
|
|
||||||
[MemoryPackConstructor]
|
|
||||||
SerializableUpdater184Info(string machineId, string version, UpdaterStatus status, long length, long current, string serverVersion)
|
|
||||||
{
|
|
||||||
this.info = new Updater184Info { MachineId = machineId, Version = version, Status = status, Length = length, Current = current, ServerVersion = serverVersion };
|
|
||||||
}
|
|
||||||
|
|
||||||
public SerializableUpdater184Info(Updater184Info info)
|
|
||||||
{
|
|
||||||
this.info = info;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public class Updater184InfoFormatter : MemoryPackFormatter<Updater184Info>
|
|
||||||
{
|
|
||||||
public override void Serialize<TBufferWriter>(ref MemoryPackWriter<TBufferWriter> writer, scoped ref Updater184Info value)
|
|
||||||
{
|
|
||||||
if (value == null)
|
|
||||||
{
|
|
||||||
writer.WriteNullObjectHeader();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
writer.WritePackable(new SerializableUpdater184Info(value));
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void Deserialize(ref MemoryPackReader reader, scoped ref Updater184Info value)
|
|
||||||
{
|
|
||||||
if (reader.PeekIsNull())
|
|
||||||
{
|
|
||||||
reader.Advance(1); // skip null block
|
|
||||||
value = null;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableUpdater184Info>();
|
|
||||||
value = wrapped.info;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[MemoryPackable]
|
|
||||||
public readonly partial struct SerializableUpdater186Info
|
|
||||||
{
|
|
||||||
[MemoryPackIgnore]
|
|
||||||
public readonly Updater186Info info;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string MachineId => info.MachineId;
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string Version => info.Version;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
UpdaterStatus Status => info.Status;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
long Length => info.Length;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
long Current => info.Current;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
string ServerVersion => info.ServerVersion;
|
|
||||||
|
|
||||||
[MemoryPackInclude]
|
|
||||||
bool Sync2Server => info.Sync2Server;
|
|
||||||
|
|
||||||
[MemoryPackConstructor]
|
|
||||||
SerializableUpdater186Info(string machineId, string version, UpdaterStatus status, long length, long current, string serverVersion, bool sync2Server)
|
|
||||||
{
|
|
||||||
this.info = new Updater186Info { MachineId = machineId, Version = version, Status = status, Length = length, Current = current, ServerVersion = serverVersion, Sync2Server = sync2Server };
|
|
||||||
}
|
|
||||||
|
|
||||||
public SerializableUpdater186Info(Updater186Info info)
|
|
||||||
{
|
|
||||||
this.info = info;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
public class Updater186InfoFormatter : MemoryPackFormatter<Updater186Info>
|
|
||||||
{
|
|
||||||
public override void Serialize<TBufferWriter>(ref MemoryPackWriter<TBufferWriter> writer, scoped ref Updater186Info value)
|
|
||||||
{
|
|
||||||
if (value == null)
|
|
||||||
{
|
|
||||||
writer.WriteNullObjectHeader();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
writer.WritePackable(new SerializableUpdater186Info(value));
|
|
||||||
}
|
|
||||||
|
|
||||||
public override void Deserialize(ref MemoryPackReader reader, scoped ref Updater186Info value)
|
|
||||||
{
|
|
||||||
if (reader.PeekIsNull())
|
|
||||||
{
|
|
||||||
reader.Advance(1); // skip null block
|
|
||||||
value = null;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var wrapped = reader.ReadPackable<SerializableUpdater186Info>();
|
|
||||||
value = wrapped.info;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -54,11 +54,9 @@ namespace linker.messenger.sforward
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public int RemotePortMax { get; set; }
|
public int RemotePortMax { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
}
|
/// 191+
|
||||||
|
/// </summary>
|
||||||
public sealed class SForwardInfo191 : SForwardInfo
|
|
||||||
{
|
|
||||||
public string NodeId { get; set; } = string.Empty;
|
public string NodeId { get; set; } = string.Empty;
|
||||||
public string NodeId1 { get; set; } = string.Empty;
|
public string NodeId1 { get; set; } = string.Empty;
|
||||||
}
|
}
|
||||||
@@ -95,11 +93,9 @@ namespace linker.messenger.sforward
|
|||||||
/// 或者端口。域名优先
|
/// 或者端口。域名优先
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int RemotePort { get; set; }
|
public int RemotePort { get; set; }
|
||||||
}
|
|
||||||
public sealed partial class SForwardAddInfo191 : SForwardAddInfo
|
|
||||||
{
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 节点id
|
/// 191+
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string NodeId { get; set; } = string.Empty;
|
public string NodeId { get; set; } = string.Empty;
|
||||||
public string MachineId { get; set; } = string.Empty;
|
public string MachineId { get; set; } = string.Empty;
|
||||||
@@ -108,7 +104,6 @@ namespace linker.messenger.sforward
|
|||||||
public bool Super { get; set; }
|
public bool Super { get; set; }
|
||||||
public double Bandwidth { get; set; }
|
public double Bandwidth { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 添加穿透结果
|
/// 添加穿透结果
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -133,10 +128,6 @@ namespace linker.messenger.sforward
|
|||||||
public string MachineId { get; set; }
|
public string MachineId { get; set; }
|
||||||
public SForwardInfo Data { get; set; }
|
public SForwardInfo Data { get; set; }
|
||||||
}
|
}
|
||||||
public sealed partial class SForwardAddForwardInfo191 : SForwardAddForwardInfo
|
|
||||||
{
|
|
||||||
public new SForwardInfo191 Data { get; set; }
|
|
||||||
}
|
|
||||||
public sealed partial class SForwardRemoveForwardInfo
|
public sealed partial class SForwardRemoveForwardInfo
|
||||||
{
|
{
|
||||||
public string MachineId { get; set; }
|
public string MachineId { get; set; }
|
||||||
|
|||||||
@@ -12,31 +12,31 @@
|
|||||||
/// 获取穿透列表
|
/// 获取穿透列表
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public IEnumerable<SForwardInfo191> Get();
|
public IEnumerable<SForwardInfo> Get();
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取穿透
|
/// 获取穿透
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="id"></param>
|
/// <param name="id"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public SForwardInfo191 Get(long id);
|
public SForwardInfo Get(long id);
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取穿透
|
/// 获取穿透
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="domain"></param>
|
/// <param name="domain"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public SForwardInfo191 Get(string domain);
|
public SForwardInfo Get(string domain);
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取穿透
|
/// 获取穿透
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="port"></param>
|
/// <param name="port"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public SForwardInfo191 GetPort(int port);
|
public SForwardInfo GetPort(int port);
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 添加穿透
|
/// 添加穿透
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="info"></param>
|
/// <param name="info"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public bool Add(SForwardInfo191 info);
|
public bool Add(SForwardInfo info);
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 更新穿透
|
/// 更新穿透
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -46,15 +46,15 @@ namespace linker.messenger.sforward.client
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="param"></param>
|
/// <param name="param"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<List<SForwardInfo191>> Get(ApiControllerParamsInfo param)
|
public async Task<List<SForwardInfo>> Get(ApiControllerParamsInfo param)
|
||||||
{
|
{
|
||||||
if (param.Content == signInClientStore.Id)
|
if (param.Content == signInClientStore.Id)
|
||||||
{
|
{
|
||||||
if (accessStore.HasAccess(AccessValue.ForwardShowSelf) == false) return new List<SForwardInfo191>();
|
if (accessStore.HasAccess(AccessValue.ForwardShowSelf) == false) return new List<SForwardInfo>();
|
||||||
return sForwardClientStore.Get().ToList();
|
return sForwardClientStore.Get().ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (accessStore.HasAccess(AccessValue.ForwardShowOther) == false) return new List<SForwardInfo191>();
|
if (accessStore.HasAccess(AccessValue.ForwardShowOther) == false) return new List<SForwardInfo>();
|
||||||
var resp = await messengerSender.SendReply(new MessageRequestWrap
|
var resp = await messengerSender.SendReply(new MessageRequestWrap
|
||||||
{
|
{
|
||||||
Connection = signInClientState.Connection,
|
Connection = signInClientState.Connection,
|
||||||
@@ -63,9 +63,9 @@ namespace linker.messenger.sforward.client
|
|||||||
}).ConfigureAwait(false);
|
}).ConfigureAwait(false);
|
||||||
if (resp.Code == MessageResponeCodes.OK)
|
if (resp.Code == MessageResponeCodes.OK)
|
||||||
{
|
{
|
||||||
return serializer.Deserialize<List<SForwardInfo191>>(resp.Data.Span);
|
return serializer.Deserialize<List<SForwardInfo>>(resp.Data.Span);
|
||||||
}
|
}
|
||||||
return new List<SForwardInfo191>();
|
return new List<SForwardInfo>();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -75,7 +75,7 @@ namespace linker.messenger.sforward.client
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<bool> Add(ApiControllerParamsInfo param)
|
public async Task<bool> Add(ApiControllerParamsInfo param)
|
||||||
{
|
{
|
||||||
SForwardAddForwardInfo191 info = param.Content.DeJson<SForwardAddForwardInfo191>();
|
SForwardAddForwardInfo info = param.Content.DeJson<SForwardAddForwardInfo>();
|
||||||
if (info.MachineId == signInClientStore.Id)
|
if (info.MachineId == signInClientStore.Id)
|
||||||
{
|
{
|
||||||
if (accessStore.HasAccess(AccessValue.ForwardSelf) == false) return false;
|
if (accessStore.HasAccess(AccessValue.ForwardSelf) == false) return false;
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ namespace linker.messenger.sforward.client
|
|||||||
|
|
||||||
public void Start(long id, string flag = "")
|
public void Start(long id, string flag = "")
|
||||||
{
|
{
|
||||||
SForwardInfo191 forwardInfo = sForwardClientStore.Get(id);
|
SForwardInfo forwardInfo = sForwardClientStore.Get(id);
|
||||||
if (forwardInfo != null)
|
if (forwardInfo != null)
|
||||||
{
|
{
|
||||||
Start(forwardInfo, flag);
|
Start(forwardInfo, flag);
|
||||||
@@ -47,14 +47,14 @@ namespace linker.messenger.sforward.client
|
|||||||
}
|
}
|
||||||
public void Stop(long id, string flag = "")
|
public void Stop(long id, string flag = "")
|
||||||
{
|
{
|
||||||
SForwardInfo191 forwardInfo = sForwardClientStore.Get(id);
|
SForwardInfo forwardInfo = sForwardClientStore.Get(id);
|
||||||
if (forwardInfo != null)
|
if (forwardInfo != null)
|
||||||
{
|
{
|
||||||
Stop(forwardInfo, flag);
|
Stop(forwardInfo, flag);
|
||||||
OnChanged();
|
OnChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void Start(SForwardInfo191 forwardInfo, string flag = "")
|
private void Start(SForwardInfo forwardInfo, string flag = "")
|
||||||
{
|
{
|
||||||
if (forwardInfo.RemotePort == 0 && string.IsNullOrWhiteSpace(forwardInfo.Domain))
|
if (forwardInfo.RemotePort == 0 && string.IsNullOrWhiteSpace(forwardInfo.Domain))
|
||||||
{
|
{
|
||||||
@@ -78,7 +78,7 @@ namespace linker.messenger.sforward.client
|
|||||||
{
|
{
|
||||||
Connection = signInClientState.Connection,
|
Connection = signInClientState.Connection,
|
||||||
MessengerId = (ushort)SForwardMessengerIds.AddForward191,
|
MessengerId = (ushort)SForwardMessengerIds.AddForward191,
|
||||||
Payload = serializer.Serialize(new SForwardAddInfo191 { Domain = forwardInfo.Domain, RemotePort = forwardInfo.RemotePort, NodeId = forwardInfo.NodeId1 })
|
Payload = serializer.Serialize(new SForwardAddInfo { Domain = forwardInfo.Domain, RemotePort = forwardInfo.RemotePort, NodeId = forwardInfo.NodeId1 })
|
||||||
}).ContinueWith((result) =>
|
}).ContinueWith((result) =>
|
||||||
{
|
{
|
||||||
if (result.Result.Code == MessageResponeCodes.OK)
|
if (result.Result.Code == MessageResponeCodes.OK)
|
||||||
@@ -110,7 +110,7 @@ namespace linker.messenger.sforward.client
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
private void Stop(SForwardInfo191 forwardInfo, string flag = "")
|
private void Stop(SForwardInfo forwardInfo, string flag = "")
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -120,7 +120,7 @@ namespace linker.messenger.sforward.client
|
|||||||
{
|
{
|
||||||
Connection = signInClientState.Connection,
|
Connection = signInClientState.Connection,
|
||||||
MessengerId = (ushort)SForwardMessengerIds.RemoveForward191,
|
MessengerId = (ushort)SForwardMessengerIds.RemoveForward191,
|
||||||
Payload = serializer.Serialize(new SForwardAddInfo191 { Domain = forwardInfo.Domain, RemotePort = forwardInfo.RemotePort, NodeId = forwardInfo.NodeId1 })
|
Payload = serializer.Serialize(new SForwardAddInfo { Domain = forwardInfo.Domain, RemotePort = forwardInfo.RemotePort, NodeId = forwardInfo.NodeId1 })
|
||||||
}).ContinueWith((result) =>
|
}).ContinueWith((result) =>
|
||||||
{
|
{
|
||||||
OnClose(forwardInfo.Id, flag);
|
OnClose(forwardInfo.Id, flag);
|
||||||
@@ -134,7 +134,7 @@ namespace linker.messenger.sforward.client
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool Add(SForwardInfo191 forwardInfo)
|
public bool Add(SForwardInfo forwardInfo)
|
||||||
{
|
{
|
||||||
sForwardClientStore.Add(forwardInfo);
|
sForwardClientStore.Add(forwardInfo);
|
||||||
OnChanged();
|
OnChanged();
|
||||||
|
|||||||
@@ -152,21 +152,21 @@ namespace linker.messenger.sforward.messenger
|
|||||||
result.Message = "need sign in";
|
result.Message = "need sign in";
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
SForwardAddInfo191 sForwardAddInfo191 = new SForwardAddInfo191
|
SForwardAddInfo SForwardAddInfo = new SForwardAddInfo
|
||||||
{
|
{
|
||||||
Domain = sForwardAddInfo.Domain,
|
Domain = sForwardAddInfo.Domain,
|
||||||
RemotePort = sForwardAddInfo.RemotePort,
|
RemotePort = sForwardAddInfo.RemotePort,
|
||||||
MachineId = cache.MachineId,
|
MachineId = cache.MachineId,
|
||||||
GroupId = cache.GroupId
|
GroupId = cache.GroupId
|
||||||
};
|
};
|
||||||
string error = await validator.Validate(cache, sForwardAddInfo191).ConfigureAwait(false);
|
string error = await validator.Validate(cache, SForwardAddInfo).ConfigureAwait(false);
|
||||||
if (string.IsNullOrWhiteSpace(error) == false)
|
if (string.IsNullOrWhiteSpace(error) == false)
|
||||||
{
|
{
|
||||||
result.Success = false;
|
result.Success = false;
|
||||||
result.Message = error;
|
result.Message = error;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Add(sForwardAddInfo, cache.MachineId, cache.GroupId, result, sForwardAddInfo191.Super, sForwardAddInfo191.Bandwidth);
|
Add(sForwardAddInfo, cache.MachineId, cache.GroupId, result, SForwardAddInfo.Super, SForwardAddInfo.Bandwidth);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
@@ -183,7 +183,7 @@ namespace linker.messenger.sforward.messenger
|
|||||||
[MessengerId((ushort)SForwardMessengerIds.Add191)]
|
[MessengerId((ushort)SForwardMessengerIds.Add191)]
|
||||||
public void Add191(IConnection connection)
|
public void Add191(IConnection connection)
|
||||||
{
|
{
|
||||||
SForwardAddInfo191 sForwardAddInfo = serializer.Deserialize<SForwardAddInfo191>(connection.ReceiveRequestWrap.Payload.Span);
|
SForwardAddInfo sForwardAddInfo = serializer.Deserialize<SForwardAddInfo>(connection.ReceiveRequestWrap.Payload.Span);
|
||||||
SForwardAddResultInfo result = new SForwardAddResultInfo { Success = true, BufferSize = 3 };
|
SForwardAddResultInfo result = new SForwardAddResultInfo { Success = true, BufferSize = 3 };
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -204,7 +204,7 @@ namespace linker.messenger.sforward.messenger
|
|||||||
[MessengerId((ushort)SForwardMessengerIds.AddForward191)]
|
[MessengerId((ushort)SForwardMessengerIds.AddForward191)]
|
||||||
public async Task AddForward191(IConnection connection)
|
public async Task AddForward191(IConnection connection)
|
||||||
{
|
{
|
||||||
SForwardAddInfo191 sForwardAddInfo = serializer.Deserialize<SForwardAddInfo191>(connection.ReceiveRequestWrap.Payload.Span);
|
SForwardAddInfo sForwardAddInfo = serializer.Deserialize<SForwardAddInfo>(connection.ReceiveRequestWrap.Payload.Span);
|
||||||
SForwardAddResultInfo result = new SForwardAddResultInfo { Success = true, BufferSize = 3 };
|
SForwardAddResultInfo result = new SForwardAddResultInfo { Success = true, BufferSize = 3 };
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -281,7 +281,7 @@ namespace linker.messenger.sforward.messenger
|
|||||||
[MessengerId((ushort)SForwardMessengerIds.Remove191)]
|
[MessengerId((ushort)SForwardMessengerIds.Remove191)]
|
||||||
public void Remove191(IConnection connection)
|
public void Remove191(IConnection connection)
|
||||||
{
|
{
|
||||||
SForwardAddInfo191 sForwardAddInfo = serializer.Deserialize<SForwardAddInfo191>(connection.ReceiveRequestWrap.Payload.Span);
|
SForwardAddInfo sForwardAddInfo = serializer.Deserialize<SForwardAddInfo>(connection.ReceiveRequestWrap.Payload.Span);
|
||||||
SForwardAddResultInfo result = new SForwardAddResultInfo { Success = true };
|
SForwardAddResultInfo result = new SForwardAddResultInfo { Success = true };
|
||||||
|
|
||||||
try
|
try
|
||||||
@@ -299,7 +299,7 @@ namespace linker.messenger.sforward.messenger
|
|||||||
[MessengerId((ushort)SForwardMessengerIds.RemoveForward191)]
|
[MessengerId((ushort)SForwardMessengerIds.RemoveForward191)]
|
||||||
public async Task RemoveForward191(IConnection connection)
|
public async Task RemoveForward191(IConnection connection)
|
||||||
{
|
{
|
||||||
SForwardAddInfo191 sForwardAddInfo = serializer.Deserialize<SForwardAddInfo191>(connection.ReceiveRequestWrap.Payload.Span);
|
SForwardAddInfo sForwardAddInfo = serializer.Deserialize<SForwardAddInfo>(connection.ReceiveRequestWrap.Payload.Span);
|
||||||
SForwardAddResultInfo result = new SForwardAddResultInfo { Success = true };
|
SForwardAddResultInfo result = new SForwardAddResultInfo { Success = true };
|
||||||
|
|
||||||
try
|
try
|
||||||
@@ -363,7 +363,7 @@ namespace linker.messenger.sforward.messenger
|
|||||||
result.Message = $"sforward fail : {ex.Message}";
|
result.Message = $"sforward fail : {ex.Message}";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void Remove(SForwardAddInfo191 sForwardAddInfo, SForwardAddResultInfo result)
|
public void Remove(SForwardAddInfo sForwardAddInfo, SForwardAddResultInfo result)
|
||||||
{
|
{
|
||||||
Remove((SForwardAddInfo)sForwardAddInfo, sForwardAddInfo.MachineId, result);
|
Remove((SForwardAddInfo)sForwardAddInfo, sForwardAddInfo.MachineId, result);
|
||||||
}
|
}
|
||||||
@@ -443,7 +443,7 @@ namespace linker.messenger.sforward.messenger
|
|||||||
result.Message = $"sforward fail : {ex.Message}";
|
result.Message = $"sforward fail : {ex.Message}";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void Add(SForwardAddInfo191 sForwardAddInfo, SForwardAddResultInfo result)
|
public void Add(SForwardAddInfo sForwardAddInfo, SForwardAddResultInfo result)
|
||||||
{
|
{
|
||||||
Add((SForwardAddInfo)sForwardAddInfo, sForwardAddInfo.MachineId, sForwardAddInfo.GroupId, result, sForwardAddInfo.Super, sForwardAddInfo.Bandwidth);
|
Add((SForwardAddInfo)sForwardAddInfo, sForwardAddInfo.MachineId, sForwardAddInfo.GroupId, result, sForwardAddInfo.Super, sForwardAddInfo.Bandwidth);
|
||||||
}
|
}
|
||||||
@@ -520,7 +520,7 @@ namespace linker.messenger.sforward.messenger
|
|||||||
[MessengerId((ushort)SForwardMessengerIds.AddClientForward191)]
|
[MessengerId((ushort)SForwardMessengerIds.AddClientForward191)]
|
||||||
public async Task AddClientForward191(IConnection connection)
|
public async Task AddClientForward191(IConnection connection)
|
||||||
{
|
{
|
||||||
SForwardAddForwardInfo191 info = serializer.Deserialize<SForwardAddForwardInfo191>(connection.ReceiveRequestWrap.Payload.Span);
|
SForwardAddForwardInfo info = serializer.Deserialize<SForwardAddForwardInfo>(connection.ReceiveRequestWrap.Payload.Span);
|
||||||
if (signCaching.TryGet(connection.Id, info.MachineId, out SignCacheInfo from, out SignCacheInfo to))
|
if (signCaching.TryGet(connection.Id, info.MachineId, out SignCacheInfo from, out SignCacheInfo to))
|
||||||
{
|
{
|
||||||
uint requestid = connection.ReceiveRequestWrap.RequestId;
|
uint requestid = connection.ReceiveRequestWrap.RequestId;
|
||||||
@@ -781,7 +781,7 @@ namespace linker.messenger.sforward.messenger
|
|||||||
[MessengerId((ushort)SForwardMessengerIds.Get)]
|
[MessengerId((ushort)SForwardMessengerIds.Get)]
|
||||||
public void Get(IConnection connection)
|
public void Get(IConnection connection)
|
||||||
{
|
{
|
||||||
List<SForwardInfo191> result = sForwardClientStore.Get().ToList();
|
List<SForwardInfo> result = sForwardClientStore.Get().ToList();
|
||||||
connection.Write(serializer.Serialize(result));
|
connection.Write(serializer.Serialize(result));
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -791,14 +791,14 @@ namespace linker.messenger.sforward.messenger
|
|||||||
[MessengerId((ushort)SForwardMessengerIds.AddClient)]
|
[MessengerId((ushort)SForwardMessengerIds.AddClient)]
|
||||||
public void AddClient(IConnection connection)
|
public void AddClient(IConnection connection)
|
||||||
{
|
{
|
||||||
SForwardInfo191 sForwardInfo = serializer.Deserialize<SForwardInfo191>(connection.ReceiveRequestWrap.Payload.Span);
|
SForwardInfo sForwardInfo = serializer.Deserialize<SForwardInfo>(connection.ReceiveRequestWrap.Payload.Span);
|
||||||
sForwardTransfer.Add(sForwardInfo);
|
sForwardTransfer.Add(sForwardInfo);
|
||||||
connection.Write(Helper.TrueArray);
|
connection.Write(Helper.TrueArray);
|
||||||
}
|
}
|
||||||
[MessengerId((ushort)SForwardMessengerIds.AddClient191)]
|
[MessengerId((ushort)SForwardMessengerIds.AddClient191)]
|
||||||
public void AddClient191(IConnection connection)
|
public void AddClient191(IConnection connection)
|
||||||
{
|
{
|
||||||
SForwardInfo191 sForwardInfo = serializer.Deserialize<SForwardInfo191>(connection.ReceiveRequestWrap.Payload.Span);
|
SForwardInfo sForwardInfo = serializer.Deserialize<SForwardInfo>(connection.ReceiveRequestWrap.Payload.Span);
|
||||||
sForwardTransfer.Add(sForwardInfo);
|
sForwardTransfer.Add(sForwardInfo);
|
||||||
connection.Write(Helper.TrueArray);
|
connection.Write(Helper.TrueArray);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ namespace linker.messenger.sforward.server
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<SForwardAddResultInfo> Add(SForwardAddInfo191 info, SignCacheInfo from)
|
public async Task<SForwardAddResultInfo> Add(SForwardAddInfo info, SignCacheInfo from)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrWhiteSpace(info.NodeId)) info.NodeId = sForwardServerNodeStore.Node.Id;
|
if (string.IsNullOrWhiteSpace(info.NodeId)) info.NodeId = sForwardServerNodeStore.Node.Id;
|
||||||
if (GetNode(info.NodeId, out var node) == false)
|
if (GetNode(info.NodeId, out var node) == false)
|
||||||
@@ -148,7 +148,7 @@ namespace linker.messenger.sforward.server
|
|||||||
Success = false
|
Success = false
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
public async Task<SForwardAddResultInfo> Remove(SForwardAddInfo191 info)
|
public async Task<SForwardAddResultInfo> Remove(SForwardAddInfo info)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrWhiteSpace(info.NodeId)) info.NodeId = sForwardServerNodeStore.Node.Id;
|
if (string.IsNullOrWhiteSpace(info.NodeId)) info.NodeId = sForwardServerNodeStore.Node.Id;
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,6 @@ namespace linker.messenger.sforward.server.validator
|
|||||||
/// <param name="signCacheInfo">来源客户端</param>
|
/// <param name="signCacheInfo">来源客户端</param>
|
||||||
/// <param name="sForwardAddInfo">穿透信息</param>
|
/// <param name="sForwardAddInfo">穿透信息</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public Task<string> Validate(SignCacheInfo signCacheInfo, SForwardAddInfo191 sForwardAddInfo);
|
public Task<string> Validate(SignCacheInfo signCacheInfo, SForwardAddInfo sForwardAddInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ namespace linker.messenger.sforward.server.validator
|
|||||||
this.sForwardServerNodeStore = sForwardServerNodeStore;
|
this.sForwardServerNodeStore = sForwardServerNodeStore;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<string> Validate(SignCacheInfo signCacheInfo, SForwardAddInfo191 sForwardAddInfo)
|
public async Task<string> Validate(SignCacheInfo signCacheInfo, SForwardAddInfo sForwardAddInfo)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrWhiteSpace(sForwardAddInfo.NodeId)) sForwardAddInfo.NodeId = sForwardServerNodeStore.Node.Id;
|
if (string.IsNullOrWhiteSpace(sForwardAddInfo.NodeId)) sForwardAddInfo.NodeId = sForwardServerNodeStore.Node.Id;
|
||||||
|
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ namespace linker.messenger.sforward.server.validator
|
|||||||
/// <param name="signCacheInfo"></param>
|
/// <param name="signCacheInfo"></param>
|
||||||
/// <param name="sForwardAddInfo"></param>
|
/// <param name="sForwardAddInfo"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<string> Validate(SignCacheInfo signCacheInfo, SForwardAddInfo191 sForwardAddInfo)
|
public async Task<string> Validate(SignCacheInfo signCacheInfo, SForwardAddInfo sForwardAddInfo)
|
||||||
{
|
{
|
||||||
foreach (var item in validators)
|
foreach (var item in validators)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -284,6 +284,10 @@ namespace linker.messenger.signin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 检查超级权限
|
||||||
|
/// </summary>
|
||||||
|
/// <returns></returns>
|
||||||
public async Task CheckSuper()
|
public async Task CheckSuper()
|
||||||
{
|
{
|
||||||
MessageResponeInfo resp = await messengerSender.SendReply(new MessageRequestWrap
|
MessageResponeInfo resp = await messengerSender.SendReply(new MessageRequestWrap
|
||||||
|
|||||||
@@ -68,6 +68,7 @@ namespace linker.messenger.socks5
|
|||||||
public bool Disabled { get; set; }
|
public bool Disabled { get; set; }
|
||||||
public bool Exists { get; set; }
|
public bool Exists { get; set; }
|
||||||
public string Error { get; set; } = string.Empty;
|
public string Error { get; set; } = string.Empty;
|
||||||
|
public string Remark { get; set; } = string.Empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum Socks5Status : byte
|
public enum Socks5Status : byte
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ namespace linker.messenger.store.file.relay
|
|||||||
{
|
{
|
||||||
config.Data.Server.Relay.Distributed.Node = node;
|
config.Data.Server.Relay.Distributed.Node = node;
|
||||||
}
|
}
|
||||||
public void UpdateInfo(RelayServerNodeUpdateInfo188 update)
|
public void UpdateInfo(RelayServerNodeUpdateInfo update)
|
||||||
{
|
{
|
||||||
config.Data.Server.Relay.Distributed.Node.Name = update.Name;
|
config.Data.Server.Relay.Distributed.Node.Name = update.Name;
|
||||||
config.Data.Server.Relay.Distributed.Node.MaxConnection = update.MaxConnection;
|
config.Data.Server.Relay.Distributed.Node.MaxConnection = update.MaxConnection;
|
||||||
|
|||||||
@@ -10,43 +10,43 @@ namespace linker.messenger.store.file.sforward
|
|||||||
{
|
{
|
||||||
private readonly FileConfig fileConfig;
|
private readonly FileConfig fileConfig;
|
||||||
private readonly Storefactory dBfactory;
|
private readonly Storefactory dBfactory;
|
||||||
private readonly ILiteCollection<SForwardInfo191> liteCollection;
|
private readonly ILiteCollection<SForwardInfo> liteCollection;
|
||||||
|
|
||||||
public SForwardClientStore(FileConfig fileConfig, Storefactory dBfactory)
|
public SForwardClientStore(FileConfig fileConfig, Storefactory dBfactory)
|
||||||
{
|
{
|
||||||
this.fileConfig = fileConfig;
|
this.fileConfig = fileConfig;
|
||||||
|
|
||||||
this.dBfactory = dBfactory;
|
this.dBfactory = dBfactory;
|
||||||
liteCollection = dBfactory.GetCollection<SForwardInfo191>("sforward");
|
liteCollection = dBfactory.GetCollection<SForwardInfo>("sforward");
|
||||||
liteCollection.UpdateMany(c => new SForwardInfo191 { Started = false }, c => c.Started == true);
|
liteCollection.UpdateMany(c => new SForwardInfo { Started = false }, c => c.Started == true);
|
||||||
}
|
}
|
||||||
public int Count()
|
public int Count()
|
||||||
{
|
{
|
||||||
return liteCollection.Count();
|
return liteCollection.Count();
|
||||||
}
|
}
|
||||||
|
|
||||||
public IEnumerable<SForwardInfo191> Get()
|
public IEnumerable<SForwardInfo> Get()
|
||||||
{
|
{
|
||||||
return liteCollection.FindAll();
|
return liteCollection.FindAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
public SForwardInfo191 Get(long id)
|
public SForwardInfo Get(long id)
|
||||||
{
|
{
|
||||||
return liteCollection.FindOne(x => x.Id == id);
|
return liteCollection.FindOne(x => x.Id == id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public SForwardInfo191 Get(string domain)
|
public SForwardInfo Get(string domain)
|
||||||
{
|
{
|
||||||
return liteCollection.FindOne(x => x.Domain == domain);
|
return liteCollection.FindOne(x => x.Domain == domain);
|
||||||
}
|
}
|
||||||
|
|
||||||
public SForwardInfo191 GetPort(int port)
|
public SForwardInfo GetPort(int port)
|
||||||
{
|
{
|
||||||
return liteCollection.FindOne(c => c.RemotePort == port);
|
return liteCollection.FindOne(c => c.RemotePort == port);
|
||||||
}
|
}
|
||||||
public bool Add(SForwardInfo191 info)
|
public bool Add(SForwardInfo info)
|
||||||
{
|
{
|
||||||
SForwardInfo191 old = liteCollection.FindOne(c => info.RemotePort > 0 && c.RemotePort == info.RemotePort || string.IsNullOrWhiteSpace(info.Domain) == false && c.Domain == info.Domain);
|
SForwardInfo old = liteCollection.FindOne(c => info.RemotePort > 0 && c.RemotePort == info.RemotePort || string.IsNullOrWhiteSpace(info.Domain) == false && c.Domain == info.Domain);
|
||||||
if (old != null && old.Id != info.Id)
|
if (old != null && old.Id != info.Id)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
@@ -59,7 +59,7 @@ namespace linker.messenger.store.file.sforward
|
|||||||
}
|
}
|
||||||
if (info.Id != 0)
|
if (info.Id != 0)
|
||||||
{
|
{
|
||||||
liteCollection.UpdateMany(c => new SForwardInfo191
|
liteCollection.UpdateMany(c => new SForwardInfo
|
||||||
{
|
{
|
||||||
RemotePort = info.RemotePort,
|
RemotePort = info.RemotePort,
|
||||||
Name = info.Name,
|
Name = info.Name,
|
||||||
@@ -82,20 +82,20 @@ namespace linker.messenger.store.file.sforward
|
|||||||
}
|
}
|
||||||
public bool Update(long id, bool started, string msg)
|
public bool Update(long id, bool started, string msg)
|
||||||
{
|
{
|
||||||
return liteCollection.UpdateMany(c => new SForwardInfo191 { Started = started, Msg = msg }, c => c.Id == id) > 0;
|
return liteCollection.UpdateMany(c => new SForwardInfo { Started = started, Msg = msg }, c => c.Id == id) > 0;
|
||||||
}
|
}
|
||||||
public bool Update(long id, bool started)
|
public bool Update(long id, bool started)
|
||||||
{
|
{
|
||||||
return liteCollection.UpdateMany(c => new SForwardInfo191 { Started = started }, c => c.Id == id) > 0;
|
return liteCollection.UpdateMany(c => new SForwardInfo { Started = started }, c => c.Id == id) > 0;
|
||||||
}
|
}
|
||||||
public bool Update(long id, string localMsg)
|
public bool Update(long id, string localMsg)
|
||||||
{
|
{
|
||||||
return liteCollection.UpdateMany(c => new SForwardInfo191 { LocalMsg = localMsg }, c => c.Id == id) > 0;
|
return liteCollection.UpdateMany(c => new SForwardInfo { LocalMsg = localMsg }, c => c.Id == id) > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool UpdateNodeId1(long id, string nodeid1)
|
public bool UpdateNodeId1(long id, string nodeid1)
|
||||||
{
|
{
|
||||||
return liteCollection.UpdateMany(c => new SForwardInfo191 { NodeId1 = nodeid1 }, c => c.Id == id) > 0;
|
return liteCollection.UpdateMany(c => new SForwardInfo { NodeId1 = nodeid1 }, c => c.Id == id) > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool Remove(long id)
|
public bool Remove(long id)
|
||||||
|
|||||||
@@ -13,10 +13,7 @@ namespace linker.messenger.sync
|
|||||||
public SyncInfo() { }
|
public SyncInfo() { }
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
public Memory<byte> Data { get; set; }
|
public Memory<byte> Data { get; set; }
|
||||||
}
|
|
||||||
public sealed partial class Sync184Info : SyncInfo
|
|
||||||
{
|
|
||||||
public Sync184Info() { }
|
|
||||||
public string[] Ids { get; set; }
|
public string[] Ids { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ namespace linker.messenger.sync
|
|||||||
[MessengerId((ushort)ConfigMessengerIds.Sync184Forward)]
|
[MessengerId((ushort)ConfigMessengerIds.Sync184Forward)]
|
||||||
public async Task Sync184Forward(IConnection connection)
|
public async Task Sync184Forward(IConnection connection)
|
||||||
{
|
{
|
||||||
Sync184Info info = serializer.Deserialize<Sync184Info>(connection.ReceiveRequestWrap.Payload.Span);
|
SyncInfo info = serializer.Deserialize<SyncInfo>(connection.ReceiveRequestWrap.Payload.Span);
|
||||||
string[] ids = info.Ids;
|
string[] ids = info.Ids;
|
||||||
info.Ids = [];
|
info.Ids = [];
|
||||||
Memory<byte> data = serializer.Serialize(info);
|
Memory<byte> data = serializer.Serialize(info);
|
||||||
@@ -87,7 +87,7 @@ namespace linker.messenger.sync
|
|||||||
[MessengerId((ushort)ConfigMessengerIds.Sync184)]
|
[MessengerId((ushort)ConfigMessengerIds.Sync184)]
|
||||||
public void Sync184(IConnection connection)
|
public void Sync184(IConnection connection)
|
||||||
{
|
{
|
||||||
Sync184Info info = serializer.Deserialize<Sync184Info>(connection.ReceiveRequestWrap.Payload.Span);
|
SyncInfo info = serializer.Deserialize<SyncInfo>(connection.ReceiveRequestWrap.Payload.Span);
|
||||||
syncTreansfer.Sync(info);
|
syncTreansfer.Sync(info);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ namespace linker.messenger.sync
|
|||||||
{
|
{
|
||||||
Connection = signInClientState.Connection,
|
Connection = signInClientState.Connection,
|
||||||
MessengerId = (ushort)ConfigMessengerIds.Sync184Forward,
|
MessengerId = (ushort)ConfigMessengerIds.Sync184Forward,
|
||||||
Payload = serializer.Serialize(new Sync184Info { Name = sync.Name, Data = data, Ids = ids }),
|
Payload = serializer.Serialize(new SyncInfo { Name = sync.Name, Data = data, Ids = ids }),
|
||||||
}).ConfigureAwait(false);
|
}).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -56,7 +56,7 @@ namespace linker.messenger.sync
|
|||||||
{
|
{
|
||||||
Connection = signInClientState.Connection,
|
Connection = signInClientState.Connection,
|
||||||
MessengerId = (ushort)ConfigMessengerIds.Sync184Forward,
|
MessengerId = (ushort)ConfigMessengerIds.Sync184Forward,
|
||||||
Payload = serializer.Serialize(new Sync184Info { Name = sync.Name, Data = sync.GetData(), Ids = ids }),
|
Payload = serializer.Serialize(new SyncInfo { Name = sync.Name, Data = sync.GetData(), Ids = ids }),
|
||||||
}).ConfigureAwait(false);
|
}).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
@@ -73,7 +73,7 @@ namespace linker.messenger.sync
|
|||||||
{
|
{
|
||||||
Connection = signInClientState.Connection,
|
Connection = signInClientState.Connection,
|
||||||
MessengerId = (ushort)ConfigMessengerIds.Sync184Forward,
|
MessengerId = (ushort)ConfigMessengerIds.Sync184Forward,
|
||||||
Payload = serializer.Serialize(new Sync184Info { Name = c.Name, Data = c.GetData(), Ids = ids }),
|
Payload = serializer.Serialize(new SyncInfo { Name = c.Name, Data = c.GetData(), Ids = ids }),
|
||||||
|
|
||||||
});
|
});
|
||||||
}).ToList();
|
}).ToList();
|
||||||
|
|||||||
@@ -401,7 +401,7 @@ namespace linker.messenger.tuntap
|
|||||||
public IPAddress MapIP { get; set; } = IPAddress.Any;
|
public IPAddress MapIP { get; set; } = IPAddress.Any;
|
||||||
public byte MapPrefixLength { get; set; } = 24;
|
public byte MapPrefixLength { get; set; } = 24;
|
||||||
|
|
||||||
public string Rematk { get; set; } = string.Empty;
|
public string Remark { get; set; } = string.Empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum TuntapStatus : byte
|
public enum TuntapStatus : byte
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
using linker.libs;
|
using System.Collections.Concurrent;
|
||||||
using System.Collections.Concurrent;
|
|
||||||
using System.Text.Json.Serialization;
|
using System.Text.Json.Serialization;
|
||||||
namespace linker.messenger.updater
|
namespace linker.messenger.updater
|
||||||
{
|
{
|
||||||
@@ -81,17 +80,11 @@ namespace linker.messenger.updater
|
|||||||
public UpdaterStatus Status { get; set; }
|
public UpdaterStatus Status { get; set; }
|
||||||
public long Length { get; set; }
|
public long Length { get; set; }
|
||||||
public long Current { get; set; }
|
public long Current { get; set; }
|
||||||
}
|
|
||||||
public partial class Updater184Info : UpdaterInfo170
|
|
||||||
{
|
|
||||||
public string ServerVersion { get; set; }
|
public string ServerVersion { get; set; }
|
||||||
}
|
|
||||||
public sealed partial class Updater186Info : Updater184Info
|
|
||||||
{
|
|
||||||
public bool Sync2Server { get; set; }
|
public bool Sync2Server { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public enum UpdaterStatus : byte
|
public enum UpdaterStatus : byte
|
||||||
{
|
{
|
||||||
None = 0,
|
None = 0,
|
||||||
|
|||||||
@@ -171,7 +171,7 @@ namespace linker.messenger.updater
|
|||||||
}).ConfigureAwait(false);
|
}).ConfigureAwait(false);
|
||||||
if (resp.Code == MessageResponeCodes.OK && resp.Data.Length > 0)
|
if (resp.Code == MessageResponeCodes.OK && resp.Data.Length > 0)
|
||||||
{
|
{
|
||||||
Updater186Info info = serializer.Deserialize<Updater186Info>(resp.Data.Span);
|
UpdaterInfo170 info = serializer.Deserialize<UpdaterInfo170>(resp.Data.Span);
|
||||||
|
|
||||||
//服务端不是已经开始下载,本地也不是已经开始下载,就更新一下本地状态
|
//服务端不是已经开始下载,本地也不是已经开始下载,就更新一下本地状态
|
||||||
if (info.Status < UpdaterStatus.Downloading && updateInfo.Status < UpdaterStatus.Downloading)
|
if (info.Status < UpdaterStatus.Downloading && updateInfo.Status < UpdaterStatus.Downloading)
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ namespace linker.messenger.updater
|
|||||||
public void UpdateServer184(IConnection connection)
|
public void UpdateServer184(IConnection connection)
|
||||||
{
|
{
|
||||||
var info = updaterServerTransfer.Get();
|
var info = updaterServerTransfer.Get();
|
||||||
Updater184Info result = new Updater184Info
|
UpdaterInfo170 result = new UpdaterInfo170
|
||||||
{
|
{
|
||||||
MachineId = string.Empty,
|
MachineId = string.Empty,
|
||||||
Current = info.Current,
|
Current = info.Current,
|
||||||
@@ -159,7 +159,7 @@ namespace linker.messenger.updater
|
|||||||
public void UpdateServer186(IConnection connection)
|
public void UpdateServer186(IConnection connection)
|
||||||
{
|
{
|
||||||
var info = updaterServerTransfer.Get();
|
var info = updaterServerTransfer.Get();
|
||||||
Updater186Info result = new Updater186Info
|
UpdaterInfo170 result = new UpdaterInfo170
|
||||||
{
|
{
|
||||||
MachineId = string.Empty,
|
MachineId = string.Empty,
|
||||||
Current = info.Current,
|
Current = info.Current,
|
||||||
|
|||||||
@@ -45,18 +45,24 @@ namespace linker.messenger
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int length = await socket.ReceiveAsync(buffer.AsMemory(0, 1), SocketFlags.None).ConfigureAwait(false);
|
int length = await socket.ReceiveAsync(buffer.AsMemory(0, 1), SocketFlags.None).AsTask().WaitAsync(TimeSpan.FromMilliseconds(1000)).ConfigureAwait(false);
|
||||||
byte type = buffer[0];
|
byte type = buffer[0];
|
||||||
|
|
||||||
if (resolvers.TryGetValue(type, out IResolver resolver))
|
if (resolvers.TryGetValue(type, out IResolver resolver))
|
||||||
{
|
{
|
||||||
await resolver.Resolve(socket, buffer.AsMemory(1, length)).ConfigureAwait(false);
|
await resolver.Resolve(socket, buffer.AsMemory(1, length)).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
socket.SafeClose();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
if (LoggerHelper.Instance.LoggerLevel <= LoggerTypes.DEBUG)
|
if (LoggerHelper.Instance.LoggerLevel <= LoggerTypes.DEBUG)
|
||||||
LoggerHelper.Instance.Error(ex);
|
LoggerHelper.Instance.Error(ex);
|
||||||
|
|
||||||
|
socket.SafeClose();
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ namespace linker.tunnel
|
|||||||
{
|
{
|
||||||
if (await HasMap(device, Protocol.Tcp, MapInfo.PublicPort).ConfigureAwait(false) == false)
|
if (await HasMap(device, Protocol.Tcp, MapInfo.PublicPort).ConfigureAwait(false) == false)
|
||||||
{
|
{
|
||||||
Mapping mapping = new Mapping(Protocol.Tcp, MapInfo.PrivatePort, MapInfo.PublicPort, 720, $"linker-tcp-{MapInfo.PublicPort}-{MapInfo.PrivatePort}");
|
Mapping mapping = new Mapping(Protocol.Tcp, MapInfo.PrivatePort, MapInfo.PublicPort, 86400, $"linker-tcp-{MapInfo.PublicPort}-{MapInfo.PrivatePort}");
|
||||||
await device.CreatePortMapAsync(mapping).ConfigureAwait(false);
|
await device.CreatePortMapAsync(mapping).ConfigureAwait(false);
|
||||||
Mapping m = await device.GetSpecificMappingAsync(Protocol.Tcp, mapping.PublicPort).ConfigureAwait(false);
|
Mapping m = await device.GetSpecificMappingAsync(Protocol.Tcp, mapping.PublicPort).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
@@ -75,7 +75,7 @@ namespace linker.tunnel
|
|||||||
{
|
{
|
||||||
if (await HasMap(device, Protocol.Udp, MapInfo.PublicPort).ConfigureAwait(false) == false)
|
if (await HasMap(device, Protocol.Udp, MapInfo.PublicPort).ConfigureAwait(false) == false)
|
||||||
{
|
{
|
||||||
Mapping mapping = new Mapping(Protocol.Udp, MapInfo.PrivatePort, MapInfo.PublicPort, 720, $"linker-udp-{MapInfo.PublicPort}-{MapInfo.PrivatePort}");
|
Mapping mapping = new Mapping(Protocol.Udp, MapInfo.PrivatePort, MapInfo.PublicPort, 86400, $"linker-udp-{MapInfo.PublicPort}-{MapInfo.PrivatePort}");
|
||||||
await device.CreatePortMapAsync(mapping).ConfigureAwait(false);
|
await device.CreatePortMapAsync(mapping).ConfigureAwait(false);
|
||||||
Mapping m = await device.GetSpecificMappingAsync(Protocol.Udp, mapping.PublicPort).ConfigureAwait(false);
|
Mapping m = await device.GetSpecificMappingAsync(Protocol.Udp, mapping.PublicPort).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
@@ -92,7 +92,7 @@ namespace linker.tunnel
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
Mapping m = await device.GetSpecificMappingAsync(protocol, publicPort).ConfigureAwait(false);
|
Mapping m = await device.GetSpecificMappingAsync(protocol, publicPort).ConfigureAwait(false);
|
||||||
return true;
|
return (DateTime.Now - m.Expiration).TotalSeconds > 2 * 60;
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
|
|||||||
233
src/linker.web/.VSCodeCounter/2025-11-19_15-40-20/details.md
Normal file
233
src/linker.web/.VSCodeCounter/2025-11-19_15-40-20/details.md
Normal file
@@ -0,0 +1,233 @@
|
|||||||
|
# Details
|
||||||
|
|
||||||
|
Date : 2025-11-19 15:40:20
|
||||||
|
|
||||||
|
Directory c:\\Users\\snltty\\Desktop\\linker\\src\\linker.web
|
||||||
|
|
||||||
|
Total : 218 files, 24592 codes, 40 comments, 1113 blanks, all 25745 lines
|
||||||
|
|
||||||
|
[Summary](results.md) / Details / [Diff Summary](diff.md) / [Diff Details](diff-details.md)
|
||||||
|
|
||||||
|
## Files
|
||||||
|
| filename | language | code | comment | blank | total |
|
||||||
|
| :--- | :--- | ---: | ---: | ---: | ---: |
|
||||||
|
| [README.md](/README.md) | Markdown | 15 | 0 | 5 | 20 |
|
||||||
|
| [babel.config.js](/babel.config.js) | JavaScript | 5 | 0 | 1 | 6 |
|
||||||
|
| [jsconfig.json](/jsconfig.json) | JSON with Comments | 19 | 0 | 1 | 20 |
|
||||||
|
| [package-lock.json](/package-lock.json) | JSON | 9,999 | 0 | 1 | 10,000 |
|
||||||
|
| [package.json](/package.json) | JSON | 31 | 0 | 1 | 32 |
|
||||||
|
| [public/404\_default.html](/public/404_default.html) | HTML | 13 | 0 | 1 | 14 |
|
||||||
|
| [public/action.svg](/public/action.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/aliyun.svg](/public/aliyun.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/alpine.svg](/public/alpine.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/amazon.svg](/public/amazon.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/android.svg](/public/android.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/archlinux.svg](/public/archlinux.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/armbian.svg](/public/armbian.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/blist.svg](/public/blist.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/centos.svg](/public/centos.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/chinamobile.svg](/public/chinamobile.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/chinanet.svg](/public/chinanet.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/chinaunicom.svg](/public/chinaunicom.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/debian.svg](/public/debian.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/docker.svg](/public/docker.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/fedora.svg](/public/fedora.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/firewall.svg](/public/firewall.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/google.svg](/public/google.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/home.svg](/public/home.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/huawei.svg](/public/huawei.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/index.html](/public/index.html) | HTML | 23 | 1 | 3 | 27 |
|
||||||
|
| [public/ios.svg](/public/ios.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/iphone.svg](/public/iphone.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/jdcom.svg](/public/jdcom.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/linux.svg](/public/linux.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/logger.svg](/public/logger.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/openwrt.svg](/public/openwrt.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/oppo.svg](/public/oppo.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/refresh.svg](/public/refresh.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/rocky.svg](/public/rocky.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/samsung.svg](/public/samsung.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/server.svg](/public/server.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/system.svg](/public/system.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/transport.svg](/public/transport.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/ubuntu.svg](/public/ubuntu.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/vivo.svg](/public/vivo.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/wakeup.svg](/public/wakeup.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/windows.svg](/public/windows.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/wlist-none.svg](/public/wlist-none.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/wlist.svg](/public/wlist.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [public/xiaomi.svg](/public/xiaomi.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [src/App.vue](/src/App.vue) | Vue | 43 | 0 | 4 | 47 |
|
||||||
|
| [src/apis/access.js](/src/apis/access.js) | JavaScript | 13 | 0 | 1 | 14 |
|
||||||
|
| [src/apis/action.js](/src/apis/action.js) | JavaScript | 7 | 0 | 2 | 9 |
|
||||||
|
| [src/apis/cdkey.js](/src/apis/cdkey.js) | JavaScript | 25 | 0 | 1 | 26 |
|
||||||
|
| [src/apis/config.js](/src/apis/config.js) | JavaScript | 22 | 0 | 2 | 24 |
|
||||||
|
| [src/apis/decenter.js](/src/apis/decenter.js) | JavaScript | 7 | 0 | 3 | 10 |
|
||||||
|
| [src/apis/firewall.js](/src/apis/firewall.js) | JavaScript | 16 | 0 | 1 | 17 |
|
||||||
|
| [src/apis/flow.js](/src/apis/flow.js) | JavaScript | 28 | 0 | 1 | 29 |
|
||||||
|
| [src/apis/forward.js](/src/apis/forward.js) | JavaScript | 16 | 0 | 2 | 18 |
|
||||||
|
| [src/apis/logger.js](/src/apis/logger.js) | JavaScript | 13 | 0 | 4 | 17 |
|
||||||
|
| [src/apis/plan.js](/src/apis/plan.js) | JavaScript | 10 | 0 | 2 | 12 |
|
||||||
|
| [src/apis/relay.js](/src/apis/relay.js) | JavaScript | 28 | 0 | 1 | 29 |
|
||||||
|
| [src/apis/request.js](/src/apis/request.js) | JavaScript | 158 | 19 | 8 | 185 |
|
||||||
|
| [src/apis/sforward.js](/src/apis/sforward.js) | JavaScript | 31 | 0 | 5 | 36 |
|
||||||
|
| [src/apis/signin.js](/src/apis/signin.js) | JavaScript | 37 | 0 | 6 | 43 |
|
||||||
|
| [src/apis/socks5.js](/src/apis/socks5.js) | JavaScript | 16 | 0 | 1 | 17 |
|
||||||
|
| [src/apis/sync.js](/src/apis/sync.js) | JavaScript | 7 | 0 | 1 | 8 |
|
||||||
|
| [src/apis/tunnel.js](/src/apis/tunnel.js) | JavaScript | 34 | 0 | 5 | 39 |
|
||||||
|
| [src/apis/tuntap.js](/src/apis/tuntap.js) | JavaScript | 40 | 0 | 6 | 46 |
|
||||||
|
| [src/apis/updater.js](/src/apis/updater.js) | JavaScript | 37 | 0 | 4 | 41 |
|
||||||
|
| [src/apis/wakeup.js](/src/apis/wakeup.js) | JavaScript | 19 | 0 | 1 | 20 |
|
||||||
|
| [src/apis/wlist.js](/src/apis/wlist.js) | JavaScript | 19 | 0 | 0 | 19 |
|
||||||
|
| [src/assets/cell.svg](/src/assets/cell.svg) | XML | 5 | 0 | 0 | 5 |
|
||||||
|
| [src/assets/coin.svg](/src/assets/coin.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [src/assets/dianchi.svg](/src/assets/dianchi.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [src/assets/group.svg](/src/assets/group.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [src/assets/loading.svg](/src/assets/loading.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [src/assets/no-permission.svg](/src/assets/no-permission.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [src/assets/run.svg](/src/assets/run.svg) | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| [src/assets/style.css](/src/assets/style.css) | PostCSS | 394 | 9 | 109 | 512 |
|
||||||
|
| [src/lang/en-us.js](/src/lang/en-us.js) | JavaScript | 384 | 0 | 30 | 414 |
|
||||||
|
| [src/lang/index.js](/src/lang/index.js) | JavaScript | 18 | 0 | 1 | 19 |
|
||||||
|
| [src/lang/provide.js](/src/lang/provide.js) | JavaScript | 19 | 0 | 0 | 19 |
|
||||||
|
| [src/lang/zh-cn.js](/src/lang/zh-cn.js) | JavaScript | 470 | 0 | 40 | 510 |
|
||||||
|
| [src/main.js](/src/main.js) | JavaScript | 78 | 0 | 8 | 86 |
|
||||||
|
| [src/provide.js](/src/provide.js) | JavaScript | 44 | 3 | 5 | 52 |
|
||||||
|
| [src/router/index.js](/src/router/index.js) | JavaScript | 63 | 0 | 3 | 66 |
|
||||||
|
| [src/views/Api.vue](/src/views/Api.vue) | Vue | 134 | 0 | 12 | 146 |
|
||||||
|
| [src/views/NoPermission.vue](/src/views/NoPermission.vue) | Vue | 41 | 0 | 5 | 46 |
|
||||||
|
| [src/views/Refresh.vue](/src/views/Refresh.vue) | Vue | 71 | 0 | 8 | 79 |
|
||||||
|
| [src/views/components/accesss/Access.vue](/src/views/components/accesss/Access.vue) | Vue | 103 | 0 | 5 | 108 |
|
||||||
|
| [src/views/components/accesss/AccessBoolean.vue](/src/views/components/accesss/AccessBoolean.vue) | Vue | 20 | 0 | 5 | 25 |
|
||||||
|
| [src/views/components/accesss/AccessEdit.vue](/src/views/components/accesss/AccessEdit.vue) | Vue | 61 | 0 | 3 | 64 |
|
||||||
|
| [src/views/components/accesss/AccessNum.vue](/src/views/components/accesss/AccessNum.vue) | Vue | 23 | 0 | 5 | 28 |
|
||||||
|
| [src/views/components/accesss/AccessShow.vue](/src/views/components/accesss/AccessShow.vue) | Vue | 17 | 0 | 4 | 21 |
|
||||||
|
| [src/views/components/accesss/access.js](/src/views/components/accesss/access.js) | JavaScript | 40 | 0 | 3 | 43 |
|
||||||
|
| [src/views/components/action/Action.vue](/src/views/components/action/Action.vue) | Vue | 72 | 0 | 1 | 73 |
|
||||||
|
| [src/views/components/action/Oper.vue](/src/views/components/action/Oper.vue) | Vue | 24 | 0 | 6 | 30 |
|
||||||
|
| [src/views/components/action/OperDialog.vue](/src/views/components/action/OperDialog.vue) | Vue | 40 | 0 | 0 | 40 |
|
||||||
|
| [src/views/components/action/action.js](/src/views/components/action/action.js) | JavaScript | 15 | 0 | 1 | 16 |
|
||||||
|
| [src/views/components/adv/Index.vue](/src/views/components/adv/Index.vue) | Vue | 39 | 0 | 7 | 46 |
|
||||||
|
| [src/views/components/decenter/decenter.js](/src/views/components/decenter/decenter.js) | JavaScript | 43 | 0 | 3 | 46 |
|
||||||
|
| [src/views/components/device/Device.vue](/src/views/components/device/Device.vue) | Vue | 56 | 0 | 5 | 61 |
|
||||||
|
| [src/views/components/device/DeviceEdit.vue](/src/views/components/device/DeviceEdit.vue) | Vue | 66 | 0 | 3 | 69 |
|
||||||
|
| [src/views/components/device/DeviceName.vue](/src/views/components/device/DeviceName.vue) | Vue | 56 | 0 | 8 | 64 |
|
||||||
|
| [src/views/components/device/devices.js](/src/views/components/device/devices.js) | JavaScript | 147 | 1 | 7 | 155 |
|
||||||
|
| [src/views/components/firewall/Add.vue](/src/views/components/firewall/Add.vue) | Vue | 210 | 0 | 11 | 221 |
|
||||||
|
| [src/views/components/firewall/Firewall.vue](/src/views/components/firewall/Firewall.vue) | Vue | 290 | 0 | 15 | 305 |
|
||||||
|
| [src/views/components/firewall/Oper.vue](/src/views/components/firewall/Oper.vue) | Vue | 40 | 0 | 6 | 46 |
|
||||||
|
| [src/views/components/firewall/OperDialog.vue](/src/views/components/firewall/OperDialog.vue) | Vue | 40 | 0 | 2 | 42 |
|
||||||
|
| [src/views/components/firewall/firewall.js](/src/views/components/firewall/firewall.js) | JavaScript | 15 | 0 | 1 | 16 |
|
||||||
|
| [src/views/components/flow/Index.vue](/src/views/components/flow/Index.vue) | Vue | 190 | 0 | 16 | 206 |
|
||||||
|
| [src/views/components/flow/OnlineAllMap.vue](/src/views/components/flow/OnlineAllMap.vue) | Vue | 75 | 0 | 9 | 84 |
|
||||||
|
| [src/views/components/flow/OnlineMap.vue](/src/views/components/flow/OnlineMap.vue) | Vue | 87 | 0 | 9 | 96 |
|
||||||
|
| [src/views/components/flow/Oper.vue](/src/views/components/flow/Oper.vue) | Vue | 30 | 0 | 7 | 37 |
|
||||||
|
| [src/views/components/flow/OperDialog.vue](/src/views/components/flow/OperDialog.vue) | Vue | 31 | 0 | 1 | 32 |
|
||||||
|
| [src/views/components/flow/ServerFlowForward.vue](/src/views/components/flow/ServerFlowForward.vue) | Vue | 149 | 0 | 11 | 160 |
|
||||||
|
| [src/views/components/flow/ServerFlowMessenger.vue](/src/views/components/flow/ServerFlowMessenger.vue) | Vue | 111 | 0 | 12 | 123 |
|
||||||
|
| [src/views/components/flow/ServerFlowRelay.vue](/src/views/components/flow/ServerFlowRelay.vue) | Vue | 141 | 0 | 10 | 151 |
|
||||||
|
| [src/views/components/flow/ServerFlowSForward.vue](/src/views/components/flow/ServerFlowSForward.vue) | Vue | 141 | 0 | 10 | 151 |
|
||||||
|
| [src/views/components/flow/ServerFlowSocks5.vue](/src/views/components/flow/ServerFlowSocks5.vue) | Vue | 149 | 0 | 11 | 160 |
|
||||||
|
| [src/views/components/flow/ServerFlowTunnel.vue](/src/views/components/flow/ServerFlowTunnel.vue) | Vue | 157 | 0 | 11 | 168 |
|
||||||
|
| [src/views/components/flow/flow.js](/src/views/components/flow/flow.js) | JavaScript | 22 | 0 | 1 | 23 |
|
||||||
|
| [src/views/components/flow/messenger/Index.vue](/src/views/components/flow/messenger/Index.vue) | Vue | 101 | 0 | 11 | 112 |
|
||||||
|
| [src/views/components/flow/stopwatch/Index.vue](/src/views/components/flow/stopwatch/Index.vue) | Vue | 42 | 0 | 4 | 46 |
|
||||||
|
| [src/views/components/flow/stopwatch/Stopwatch.vue](/src/views/components/flow/stopwatch/Stopwatch.vue) | Vue | 56 | 0 | 5 | 61 |
|
||||||
|
| [src/views/components/forward/Config.vue](/src/views/components/forward/Config.vue) | Vue | 59 | 1 | 4 | 64 |
|
||||||
|
| [src/views/components/forward/EditNode.vue](/src/views/components/forward/EditNode.vue) | Vue | 123 | 0 | 7 | 130 |
|
||||||
|
| [src/views/components/forward/Forward.vue](/src/views/components/forward/Forward.vue) | Vue | 86 | 0 | 4 | 90 |
|
||||||
|
| [src/views/components/forward/ForwardEdit.vue](/src/views/components/forward/ForwardEdit.vue) | Vue | 318 | 0 | 13 | 331 |
|
||||||
|
| [src/views/components/forward/Nodes.vue](/src/views/components/forward/Nodes.vue) | Vue | 156 | 0 | 4 | 160 |
|
||||||
|
| [src/views/components/forward/SForwardEdit.vue](/src/views/components/forward/SForwardEdit.vue) | Vue | 319 | 0 | 15 | 334 |
|
||||||
|
| [src/views/components/forward/forward.js](/src/views/components/forward/forward.js) | JavaScript | 16 | 0 | 1 | 17 |
|
||||||
|
| [src/views/components/forward/sforward.js](/src/views/components/forward/sforward.js) | JavaScript | 17 | 0 | 3 | 20 |
|
||||||
|
| [src/views/components/global/PcShow.vue](/src/views/components/global/PcShow.vue) | Vue | 16 | 0 | 5 | 21 |
|
||||||
|
| [src/views/components/global/PhoneShow.vue](/src/views/components/global/PhoneShow.vue) | Vue | 17 | 0 | 4 | 21 |
|
||||||
|
| [src/views/components/groups/Groups.vue](/src/views/components/groups/Groups.vue) | Vue | 156 | 3 | 5 | 164 |
|
||||||
|
| [src/views/components/groups/Index.vue](/src/views/components/groups/Index.vue) | Vue | 85 | 0 | 3 | 88 |
|
||||||
|
| [src/views/components/oper/Oper.vue](/src/views/components/oper/Oper.vue) | Vue | 147 | 0 | 16 | 163 |
|
||||||
|
| [src/views/components/oper/oper.js](/src/views/components/oper/oper.js) | JavaScript | 14 | 0 | 1 | 15 |
|
||||||
|
| [src/views/components/plan/PlanEdit.vue](/src/views/components/plan/PlanEdit.vue) | Vue | 279 | 0 | 9 | 288 |
|
||||||
|
| [src/views/components/plan/PlanList.vue](/src/views/components/plan/PlanList.vue) | Vue | 66 | 0 | 5 | 71 |
|
||||||
|
| [src/views/components/plan/PlanShow.vue](/src/views/components/plan/PlanShow.vue) | Vue | 90 | 0 | 7 | 97 |
|
||||||
|
| [src/views/components/relay/Config.vue](/src/views/components/relay/Config.vue) | Vue | 83 | 0 | 4 | 87 |
|
||||||
|
| [src/views/components/relay/EditNode.vue](/src/views/components/relay/EditNode.vue) | Vue | 114 | 0 | 4 | 118 |
|
||||||
|
| [src/views/components/relay/Nodes.vue](/src/views/components/relay/Nodes.vue) | Vue | 222 | 0 | 6 | 228 |
|
||||||
|
| [src/views/components/socks5/Socks5.vue](/src/views/components/socks5/Socks5.vue) | Vue | 21 | 0 | 1 | 22 |
|
||||||
|
| [src/views/components/socks5/Socks5Edit.vue](/src/views/components/socks5/Socks5Edit.vue) | Vue | 86 | 0 | 3 | 89 |
|
||||||
|
| [src/views/components/socks5/Socks5Lan.vue](/src/views/components/socks5/Socks5Lan.vue) | Vue | 146 | 0 | 5 | 151 |
|
||||||
|
| [src/views/components/socks5/Socks5Show.vue](/src/views/components/socks5/Socks5Show.vue) | Vue | 133 | 0 | 9 | 142 |
|
||||||
|
| [src/views/components/socks5/socks5.js](/src/views/components/socks5/socks5.js) | JavaScript | 58 | 0 | 5 | 63 |
|
||||||
|
| [src/views/components/status/Api.vue](/src/views/components/status/Api.vue) | Vue | 53 | 0 | 1 | 54 |
|
||||||
|
| [src/views/components/status/Export.vue](/src/views/components/status/Export.vue) | Vue | 262 | 1 | 18 | 281 |
|
||||||
|
| [src/views/components/status/Index.vue](/src/views/components/status/Index.vue) | Vue | 81 | 1 | 4 | 86 |
|
||||||
|
| [src/views/components/status/server/Flow.vue](/src/views/components/status/server/Flow.vue) | Vue | 43 | 0 | 3 | 46 |
|
||||||
|
| [src/views/components/status/server/Index.vue](/src/views/components/status/server/Index.vue) | Vue | 39 | 0 | 3 | 42 |
|
||||||
|
| [src/views/components/status/server/Version.vue](/src/views/components/status/server/Version.vue) | Vue | 154 | 0 | 11 | 165 |
|
||||||
|
| [src/views/components/sync/Ids.vue](/src/views/components/sync/Ids.vue) | Vue | 54 | 0 | 4 | 58 |
|
||||||
|
| [src/views/components/sync/Index.vue](/src/views/components/sync/Index.vue) | Vue | 95 | 0 | 3 | 98 |
|
||||||
|
| [src/views/components/transport/Oper.vue](/src/views/components/transport/Oper.vue) | Vue | 36 | 0 | 4 | 40 |
|
||||||
|
| [src/views/components/transport/OperDialog.vue](/src/views/components/transport/OperDialog.vue) | Vue | 43 | 0 | 4 | 47 |
|
||||||
|
| [src/views/components/transport/Transport.vue](/src/views/components/transport/Transport.vue) | Vue | 93 | 0 | 3 | 96 |
|
||||||
|
| [src/views/components/transport/transport.js](/src/views/components/transport/transport.js) | JavaScript | 15 | 0 | 1 | 16 |
|
||||||
|
| [src/views/components/tunnel/ConnectionShow.vue](/src/views/components/tunnel/ConnectionShow.vue) | Vue | 74 | 0 | 8 | 82 |
|
||||||
|
| [src/views/components/tunnel/ConnectionsEdit.vue](/src/views/components/tunnel/ConnectionsEdit.vue) | Vue | 244 | 1 | 16 | 261 |
|
||||||
|
| [src/views/components/tunnel/Tunnel.vue](/src/views/components/tunnel/Tunnel.vue) | Vue | 127 | 0 | 10 | 137 |
|
||||||
|
| [src/views/components/tunnel/TunnelEdit.vue](/src/views/components/tunnel/TunnelEdit.vue) | Vue | 124 | 0 | 6 | 130 |
|
||||||
|
| [src/views/components/tunnel/connections.js](/src/views/components/tunnel/connections.js) | JavaScript | 78 | 0 | 13 | 91 |
|
||||||
|
| [src/views/components/tunnel/tunnel.js](/src/views/components/tunnel/tunnel.js) | JavaScript | 112 | 0 | 10 | 122 |
|
||||||
|
| [src/views/components/tuntap/SystemInfo.vue](/src/views/components/tuntap/SystemInfo.vue) | Vue | 26 | 0 | 2 | 28 |
|
||||||
|
| [src/views/components/tuntap/Tuntap.vue](/src/views/components/tuntap/Tuntap.vue) | Vue | 30 | 0 | 3 | 33 |
|
||||||
|
| [src/views/components/tuntap/TuntapEdit.vue](/src/views/components/tuntap/TuntapEdit.vue) | Vue | 83 | 0 | 5 | 88 |
|
||||||
|
| [src/views/components/tuntap/TuntapForward.vue](/src/views/components/tuntap/TuntapForward.vue) | Vue | 191 | 0 | 10 | 201 |
|
||||||
|
| [src/views/components/tuntap/TuntapIP.vue](/src/views/components/tuntap/TuntapIP.vue) | Vue | 119 | 0 | 7 | 126 |
|
||||||
|
| [src/views/components/tuntap/TuntapLan.vue](/src/views/components/tuntap/TuntapLan.vue) | Vue | 163 | 0 | 5 | 168 |
|
||||||
|
| [src/views/components/tuntap/TuntapLease.vue](/src/views/components/tuntap/TuntapLease.vue) | Vue | 133 | 0 | 5 | 138 |
|
||||||
|
| [src/views/components/tuntap/TuntapRoutes.vue](/src/views/components/tuntap/TuntapRoutes.vue) | Vue | 48 | 0 | 4 | 52 |
|
||||||
|
| [src/views/components/tuntap/TuntapShow.vue](/src/views/components/tuntap/TuntapShow.vue) | Vue | 175 | 0 | 12 | 187 |
|
||||||
|
| [src/views/components/tuntap/tuntap.js](/src/views/components/tuntap/tuntap.js) | JavaScript | 76 | 0 | 10 | 86 |
|
||||||
|
| [src/views/components/updater/Config.vue](/src/views/components/updater/Config.vue) | Vue | 37 | 0 | 2 | 39 |
|
||||||
|
| [src/views/components/updater/UpdaterBtn.vue](/src/views/components/updater/UpdaterBtn.vue) | Vue | 133 | 0 | 9 | 142 |
|
||||||
|
| [src/views/components/updater/UpdaterConfirm.vue](/src/views/components/updater/UpdaterConfirm.vue) | Vue | 104 | 0 | 8 | 112 |
|
||||||
|
| [src/views/components/updater/updater.js](/src/views/components/updater/updater.js) | JavaScript | 53 | 0 | 7 | 60 |
|
||||||
|
| [src/views/components/wakeup/Add.vue](/src/views/components/wakeup/Add.vue) | Vue | 216 | 0 | 6 | 222 |
|
||||||
|
| [src/views/components/wakeup/Oper.vue](/src/views/components/wakeup/Oper.vue) | Vue | 40 | 0 | 4 | 44 |
|
||||||
|
| [src/views/components/wakeup/OperDialog.vue](/src/views/components/wakeup/OperDialog.vue) | Vue | 40 | 0 | 2 | 42 |
|
||||||
|
| [src/views/components/wakeup/Wakeup.vue](/src/views/components/wakeup/Wakeup.vue) | Vue | 210 | 0 | 9 | 219 |
|
||||||
|
| [src/views/components/wakeup/wakeup.js](/src/views/components/wakeup/wakeup.js) | JavaScript | 15 | 0 | 1 | 16 |
|
||||||
|
| [src/views/components/wlist/Add.vue](/src/views/components/wlist/Add.vue) | Vue | 194 | 0 | 14 | 208 |
|
||||||
|
| [src/views/components/wlist/Device.vue](/src/views/components/wlist/Device.vue) | Vue | 54 | 0 | 8 | 62 |
|
||||||
|
| [src/views/components/wlist/Index.vue](/src/views/components/wlist/Index.vue) | Vue | 25 | 0 | 4 | 29 |
|
||||||
|
| [src/views/components/wlist/Manager.vue](/src/views/components/wlist/Manager.vue) | Vue | 152 | 0 | 7 | 159 |
|
||||||
|
| [src/views/components/wlist/OperDialog.vue](/src/views/components/wlist/OperDialog.vue) | Vue | 119 | 0 | 8 | 127 |
|
||||||
|
| [src/views/components/wlist/Status.vue](/src/views/components/wlist/Status.vue) | Vue | 49 | 0 | 6 | 55 |
|
||||||
|
| [src/views/components/wlist/wlist.js](/src/views/components/wlist/wlist.js) | JavaScript | 41 | 0 | 6 | 47 |
|
||||||
|
| [src/views/layout/full/Index.vue](/src/views/layout/full/Index.vue) | Vue | 63 | 0 | 3 | 66 |
|
||||||
|
| [src/views/layout/full/action/Index.vue](/src/views/layout/full/action/Index.vue) | Vue | 25 | 0 | 0 | 25 |
|
||||||
|
| [src/views/layout/full/config/Config.vue](/src/views/layout/full/config/Config.vue) | Vue | 99 | 0 | 5 | 104 |
|
||||||
|
| [src/views/layout/full/config/Index.vue](/src/views/layout/full/config/Index.vue) | Vue | 24 | 0 | 0 | 24 |
|
||||||
|
| [src/views/layout/full/firewall/Index.vue](/src/views/layout/full/firewall/Index.vue) | Vue | 34 | 0 | 3 | 37 |
|
||||||
|
| [src/views/layout/full/head/Background.vue](/src/views/layout/full/head/Background.vue) | Vue | 80 | 0 | 6 | 86 |
|
||||||
|
| [src/views/layout/full/head/Index.vue](/src/views/layout/full/head/Index.vue) | Vue | 105 | 0 | 15 | 120 |
|
||||||
|
| [src/views/layout/full/head/Locale.vue](/src/views/layout/full/head/Locale.vue) | Vue | 57 | 0 | 5 | 62 |
|
||||||
|
| [src/views/layout/full/head/Menu.vue](/src/views/layout/full/head/Menu.vue) | Vue | 108 | 0 | 8 | 116 |
|
||||||
|
| [src/views/layout/full/head/Theme.vue](/src/views/layout/full/head/Theme.vue) | Vue | 45 | 0 | 5 | 50 |
|
||||||
|
| [src/views/layout/full/install/Client.vue](/src/views/layout/full/install/Client.vue) | Vue | 170 | 0 | 8 | 178 |
|
||||||
|
| [src/views/layout/full/install/Common.vue](/src/views/layout/full/install/Common.vue) | Vue | 53 | 0 | 6 | 59 |
|
||||||
|
| [src/views/layout/full/install/Copy.vue](/src/views/layout/full/install/Copy.vue) | Vue | 38 | 0 | 4 | 42 |
|
||||||
|
| [src/views/layout/full/install/Index.vue](/src/views/layout/full/install/Index.vue) | Vue | 38 | 0 | 3 | 41 |
|
||||||
|
| [src/views/layout/full/install/Input.vue](/src/views/layout/full/install/Input.vue) | Vue | 84 | 0 | 3 | 87 |
|
||||||
|
| [src/views/layout/full/install/Save.vue](/src/views/layout/full/install/Save.vue) | Vue | 57 | 0 | 4 | 61 |
|
||||||
|
| [src/views/layout/full/install/Server.vue](/src/views/layout/full/install/Server.vue) | Vue | 178 | 0 | 7 | 185 |
|
||||||
|
| [src/views/layout/full/list/Index.vue](/src/views/layout/full/list/Index.vue) | Vue | 212 | 0 | 30 | 242 |
|
||||||
|
| [src/views/layout/full/list/Sort.vue](/src/views/layout/full/list/Sort.vue) | Vue | 58 | 0 | 7 | 65 |
|
||||||
|
| [src/views/layout/full/logger/Index.vue](/src/views/layout/full/logger/Index.vue) | Vue | 184 | 0 | 13 | 197 |
|
||||||
|
| [src/views/layout/full/logger/Setting.vue](/src/views/layout/full/logger/Setting.vue) | Vue | 127 | 0 | 8 | 135 |
|
||||||
|
| [src/views/layout/full/transport/Index.vue](/src/views/layout/full/transport/Index.vue) | Vue | 27 | 0 | 0 | 27 |
|
||||||
|
| [src/views/layout/full/wakeup/Index.vue](/src/views/layout/full/wakeup/Index.vue) | Vue | 34 | 0 | 2 | 36 |
|
||||||
|
| [src/views/layout/net/Head.vue](/src/views/layout/net/Head.vue) | Vue | 75 | 0 | 7 | 82 |
|
||||||
|
| [src/views/layout/net/Index.vue](/src/views/layout/net/Index.vue) | Vue | 41 | 0 | 1 | 42 |
|
||||||
|
| [src/views/layout/net/List.vue](/src/views/layout/net/List.vue) | Vue | 90 | 0 | 6 | 96 |
|
||||||
|
| [vue.config.js](/vue.config.js) | JavaScript | 10 | 0 | 1 | 11 |
|
||||||
|
|
||||||
|
[Summary](results.md) / Details / [Diff Summary](diff.md) / [Diff Details](diff-details.md)
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
# Diff Details
|
||||||
|
|
||||||
|
Date : 2025-11-19 15:40:20
|
||||||
|
|
||||||
|
Directory c:\\Users\\snltty\\Desktop\\linker\\src\\linker.web
|
||||||
|
|
||||||
|
Total : 0 files, 0 codes, 0 comments, 0 blanks, all 0 lines
|
||||||
|
|
||||||
|
[Summary](results.md) / [Details](details.md) / [Diff Summary](diff.md) / Diff Details
|
||||||
|
|
||||||
|
## Files
|
||||||
|
| filename | language | code | comment | blank | total |
|
||||||
|
| :--- | :--- | ---: | ---: | ---: | ---: |
|
||||||
|
|
||||||
|
[Summary](results.md) / [Details](details.md) / [Diff Summary](diff.md) / Diff Details
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
"filename", "language", "", "comment", "blank", "total"
|
||||||
|
"Total", "-", , 0, 0, 0
|
||||||
|
19
src/linker.web/.VSCodeCounter/2025-11-19_15-40-20/diff.md
Normal file
19
src/linker.web/.VSCodeCounter/2025-11-19_15-40-20/diff.md
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
# Diff Summary
|
||||||
|
|
||||||
|
Date : 2025-11-19 15:40:20
|
||||||
|
|
||||||
|
Directory c:\\Users\\snltty\\Desktop\\linker\\src\\linker.web
|
||||||
|
|
||||||
|
Total : 0 files, 0 codes, 0 comments, 0 blanks, all 0 lines
|
||||||
|
|
||||||
|
[Summary](results.md) / [Details](details.md) / Diff Summary / [Diff Details](diff-details.md)
|
||||||
|
|
||||||
|
## Languages
|
||||||
|
| language | files | code | comment | blank | total |
|
||||||
|
| :--- | ---: | ---: | ---: | ---: | ---: |
|
||||||
|
|
||||||
|
## Directories
|
||||||
|
| path | files | code | comment | blank | total |
|
||||||
|
| :--- | ---: | ---: | ---: | ---: | ---: |
|
||||||
|
|
||||||
|
[Summary](results.md) / [Details](details.md) / Diff Summary / [Diff Details](diff-details.md)
|
||||||
22
src/linker.web/.VSCodeCounter/2025-11-19_15-40-20/diff.txt
Normal file
22
src/linker.web/.VSCodeCounter/2025-11-19_15-40-20/diff.txt
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
Date : 2025-11-19 15:40:20
|
||||||
|
Directory : c:\Users\snltty\Desktop\linker\src\linker.web
|
||||||
|
Total : 0 files, 0 codes, 0 comments, 0 blanks, all 0 lines
|
||||||
|
|
||||||
|
Languages
|
||||||
|
+----------+------------+------------+------------+------------+------------+
|
||||||
|
| language | files | code | comment | blank | total |
|
||||||
|
+----------+------------+------------+------------+------------+------------+
|
||||||
|
+----------+------------+------------+------------+------------+------------+
|
||||||
|
|
||||||
|
Directories
|
||||||
|
+------+------------+------------+------------+------------+------------+
|
||||||
|
| path | files | code | comment | blank | total |
|
||||||
|
+------+------------+------------+------------+------------+------------+
|
||||||
|
+------+------------+------------+------------+------------+------------+
|
||||||
|
|
||||||
|
Files
|
||||||
|
+----------+----------+------------+------------+------------+------------+
|
||||||
|
| filename | language | code | comment | blank | total |
|
||||||
|
+----------+----------+------------+------------+------------+------------+
|
||||||
|
| Total | | 0 | 0 | 0 | 0 |
|
||||||
|
+----------+----------+------------+------------+------------+------------+
|
||||||
220
src/linker.web/.VSCodeCounter/2025-11-19_15-40-20/results.csv
Normal file
220
src/linker.web/.VSCodeCounter/2025-11-19_15-40-20/results.csv
Normal file
@@ -0,0 +1,220 @@
|
|||||||
|
"filename", "language", "Markdown", "JavaScript", "XML", "HTML", "Vue", "JSON", "JSON with Comments", "PostCSS", "comment", "blank", "total"
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\README.md", "Markdown", 15, 0, 0, 0, 0, 0, 0, 0, 0, 5, 20
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\babel.config.js", "JavaScript", 0, 5, 0, 0, 0, 0, 0, 0, 0, 1, 6
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\jsconfig.json", "JSON with Comments", 0, 0, 0, 0, 0, 0, 19, 0, 0, 1, 20
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\package-lock.json", "JSON", 0, 0, 0, 0, 0, 9999, 0, 0, 0, 1, 10000
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\package.json", "JSON", 0, 0, 0, 0, 0, 31, 0, 0, 0, 1, 32
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\404_default.html", "HTML", 0, 0, 0, 13, 0, 0, 0, 0, 0, 1, 14
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\action.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\aliyun.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\alpine.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\amazon.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\android.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\archlinux.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\armbian.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\blist.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\centos.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\chinamobile.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\chinanet.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\chinaunicom.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\debian.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\docker.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\fedora.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\firewall.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\google.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\home.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\huawei.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\index.html", "HTML", 0, 0, 0, 23, 0, 0, 0, 0, 1, 3, 27
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\ios.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\iphone.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\jdcom.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\linux.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\logger.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\openwrt.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\oppo.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\refresh.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\rocky.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\samsung.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\server.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\system.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\transport.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\ubuntu.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\vivo.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\wakeup.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\windows.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\wlist-none.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\wlist.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\public\xiaomi.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\App.vue", "Vue", 0, 0, 0, 0, 43, 0, 0, 0, 0, 4, 47
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\access.js", "JavaScript", 0, 13, 0, 0, 0, 0, 0, 0, 0, 1, 14
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\action.js", "JavaScript", 0, 7, 0, 0, 0, 0, 0, 0, 0, 2, 9
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\cdkey.js", "JavaScript", 0, 25, 0, 0, 0, 0, 0, 0, 0, 1, 26
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\config.js", "JavaScript", 0, 22, 0, 0, 0, 0, 0, 0, 0, 2, 24
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\decenter.js", "JavaScript", 0, 7, 0, 0, 0, 0, 0, 0, 0, 3, 10
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\firewall.js", "JavaScript", 0, 16, 0, 0, 0, 0, 0, 0, 0, 1, 17
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\flow.js", "JavaScript", 0, 28, 0, 0, 0, 0, 0, 0, 0, 1, 29
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\forward.js", "JavaScript", 0, 16, 0, 0, 0, 0, 0, 0, 0, 2, 18
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\logger.js", "JavaScript", 0, 13, 0, 0, 0, 0, 0, 0, 0, 4, 17
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\plan.js", "JavaScript", 0, 10, 0, 0, 0, 0, 0, 0, 0, 2, 12
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\relay.js", "JavaScript", 0, 28, 0, 0, 0, 0, 0, 0, 0, 1, 29
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\request.js", "JavaScript", 0, 158, 0, 0, 0, 0, 0, 0, 19, 8, 185
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\sforward.js", "JavaScript", 0, 31, 0, 0, 0, 0, 0, 0, 0, 5, 36
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\signin.js", "JavaScript", 0, 37, 0, 0, 0, 0, 0, 0, 0, 6, 43
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\socks5.js", "JavaScript", 0, 16, 0, 0, 0, 0, 0, 0, 0, 1, 17
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\sync.js", "JavaScript", 0, 7, 0, 0, 0, 0, 0, 0, 0, 1, 8
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\tunnel.js", "JavaScript", 0, 34, 0, 0, 0, 0, 0, 0, 0, 5, 39
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\tuntap.js", "JavaScript", 0, 40, 0, 0, 0, 0, 0, 0, 0, 6, 46
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\updater.js", "JavaScript", 0, 37, 0, 0, 0, 0, 0, 0, 0, 4, 41
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\wakeup.js", "JavaScript", 0, 19, 0, 0, 0, 0, 0, 0, 0, 1, 20
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\wlist.js", "JavaScript", 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 19
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\cell.svg", "XML", 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 5
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\coin.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\dianchi.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\group.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\loading.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\no-permission.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\run.svg", "XML", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\style.css", "PostCSS", 0, 0, 0, 0, 0, 0, 0, 394, 9, 109, 512
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\lang\en-us.js", "JavaScript", 0, 384, 0, 0, 0, 0, 0, 0, 0, 30, 414
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\lang\index.js", "JavaScript", 0, 18, 0, 0, 0, 0, 0, 0, 0, 1, 19
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\lang\provide.js", "JavaScript", 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 19
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\lang\zh-cn.js", "JavaScript", 0, 470, 0, 0, 0, 0, 0, 0, 0, 40, 510
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\main.js", "JavaScript", 0, 78, 0, 0, 0, 0, 0, 0, 0, 8, 86
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\provide.js", "JavaScript", 0, 44, 0, 0, 0, 0, 0, 0, 3, 5, 52
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\router\index.js", "JavaScript", 0, 63, 0, 0, 0, 0, 0, 0, 0, 3, 66
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\Api.vue", "Vue", 0, 0, 0, 0, 134, 0, 0, 0, 0, 12, 146
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\NoPermission.vue", "Vue", 0, 0, 0, 0, 41, 0, 0, 0, 0, 5, 46
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\Refresh.vue", "Vue", 0, 0, 0, 0, 71, 0, 0, 0, 0, 8, 79
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\accesss\Access.vue", "Vue", 0, 0, 0, 0, 103, 0, 0, 0, 0, 5, 108
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\accesss\AccessBoolean.vue", "Vue", 0, 0, 0, 0, 20, 0, 0, 0, 0, 5, 25
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\accesss\AccessEdit.vue", "Vue", 0, 0, 0, 0, 61, 0, 0, 0, 0, 3, 64
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\accesss\AccessNum.vue", "Vue", 0, 0, 0, 0, 23, 0, 0, 0, 0, 5, 28
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\accesss\AccessShow.vue", "Vue", 0, 0, 0, 0, 17, 0, 0, 0, 0, 4, 21
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\accesss\access.js", "JavaScript", 0, 40, 0, 0, 0, 0, 0, 0, 0, 3, 43
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\action\Action.vue", "Vue", 0, 0, 0, 0, 72, 0, 0, 0, 0, 1, 73
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\action\Oper.vue", "Vue", 0, 0, 0, 0, 24, 0, 0, 0, 0, 6, 30
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\action\OperDialog.vue", "Vue", 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 40
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\action\action.js", "JavaScript", 0, 15, 0, 0, 0, 0, 0, 0, 0, 1, 16
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\adv\Index.vue", "Vue", 0, 0, 0, 0, 39, 0, 0, 0, 0, 7, 46
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\decenter\decenter.js", "JavaScript", 0, 43, 0, 0, 0, 0, 0, 0, 0, 3, 46
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\device\Device.vue", "Vue", 0, 0, 0, 0, 56, 0, 0, 0, 0, 5, 61
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\device\DeviceEdit.vue", "Vue", 0, 0, 0, 0, 66, 0, 0, 0, 0, 3, 69
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\device\DeviceName.vue", "Vue", 0, 0, 0, 0, 56, 0, 0, 0, 0, 8, 64
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\device\devices.js", "JavaScript", 0, 147, 0, 0, 0, 0, 0, 0, 1, 7, 155
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\firewall\Add.vue", "Vue", 0, 0, 0, 0, 210, 0, 0, 0, 0, 11, 221
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\firewall\Firewall.vue", "Vue", 0, 0, 0, 0, 290, 0, 0, 0, 0, 15, 305
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\firewall\Oper.vue", "Vue", 0, 0, 0, 0, 40, 0, 0, 0, 0, 6, 46
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\firewall\OperDialog.vue", "Vue", 0, 0, 0, 0, 40, 0, 0, 0, 0, 2, 42
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\firewall\firewall.js", "JavaScript", 0, 15, 0, 0, 0, 0, 0, 0, 0, 1, 16
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\Index.vue", "Vue", 0, 0, 0, 0, 190, 0, 0, 0, 0, 16, 206
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\OnlineAllMap.vue", "Vue", 0, 0, 0, 0, 75, 0, 0, 0, 0, 9, 84
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\OnlineMap.vue", "Vue", 0, 0, 0, 0, 87, 0, 0, 0, 0, 9, 96
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\Oper.vue", "Vue", 0, 0, 0, 0, 30, 0, 0, 0, 0, 7, 37
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\OperDialog.vue", "Vue", 0, 0, 0, 0, 31, 0, 0, 0, 0, 1, 32
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\ServerFlowForward.vue", "Vue", 0, 0, 0, 0, 149, 0, 0, 0, 0, 11, 160
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\ServerFlowMessenger.vue", "Vue", 0, 0, 0, 0, 111, 0, 0, 0, 0, 12, 123
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\ServerFlowRelay.vue", "Vue", 0, 0, 0, 0, 141, 0, 0, 0, 0, 10, 151
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\ServerFlowSForward.vue", "Vue", 0, 0, 0, 0, 141, 0, 0, 0, 0, 10, 151
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\ServerFlowSocks5.vue", "Vue", 0, 0, 0, 0, 149, 0, 0, 0, 0, 11, 160
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\ServerFlowTunnel.vue", "Vue", 0, 0, 0, 0, 157, 0, 0, 0, 0, 11, 168
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\flow.js", "JavaScript", 0, 22, 0, 0, 0, 0, 0, 0, 0, 1, 23
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\messenger\Index.vue", "Vue", 0, 0, 0, 0, 101, 0, 0, 0, 0, 11, 112
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\stopwatch\Index.vue", "Vue", 0, 0, 0, 0, 42, 0, 0, 0, 0, 4, 46
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\stopwatch\Stopwatch.vue", "Vue", 0, 0, 0, 0, 56, 0, 0, 0, 0, 5, 61
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\Config.vue", "Vue", 0, 0, 0, 0, 59, 0, 0, 0, 1, 4, 64
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\EditNode.vue", "Vue", 0, 0, 0, 0, 123, 0, 0, 0, 0, 7, 130
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\Forward.vue", "Vue", 0, 0, 0, 0, 86, 0, 0, 0, 0, 4, 90
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\ForwardEdit.vue", "Vue", 0, 0, 0, 0, 318, 0, 0, 0, 0, 13, 331
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\Nodes.vue", "Vue", 0, 0, 0, 0, 156, 0, 0, 0, 0, 4, 160
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\SForwardEdit.vue", "Vue", 0, 0, 0, 0, 319, 0, 0, 0, 0, 15, 334
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\forward.js", "JavaScript", 0, 16, 0, 0, 0, 0, 0, 0, 0, 1, 17
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\sforward.js", "JavaScript", 0, 17, 0, 0, 0, 0, 0, 0, 0, 3, 20
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\global\PcShow.vue", "Vue", 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 21
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\global\PhoneShow.vue", "Vue", 0, 0, 0, 0, 17, 0, 0, 0, 0, 4, 21
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\groups\Groups.vue", "Vue", 0, 0, 0, 0, 156, 0, 0, 0, 3, 5, 164
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\groups\Index.vue", "Vue", 0, 0, 0, 0, 85, 0, 0, 0, 0, 3, 88
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\oper\Oper.vue", "Vue", 0, 0, 0, 0, 147, 0, 0, 0, 0, 16, 163
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\oper\oper.js", "JavaScript", 0, 14, 0, 0, 0, 0, 0, 0, 0, 1, 15
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\plan\PlanEdit.vue", "Vue", 0, 0, 0, 0, 279, 0, 0, 0, 0, 9, 288
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\plan\PlanList.vue", "Vue", 0, 0, 0, 0, 66, 0, 0, 0, 0, 5, 71
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\plan\PlanShow.vue", "Vue", 0, 0, 0, 0, 90, 0, 0, 0, 0, 7, 97
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\relay\Config.vue", "Vue", 0, 0, 0, 0, 83, 0, 0, 0, 0, 4, 87
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\relay\EditNode.vue", "Vue", 0, 0, 0, 0, 114, 0, 0, 0, 0, 4, 118
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\relay\Nodes.vue", "Vue", 0, 0, 0, 0, 222, 0, 0, 0, 0, 6, 228
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\socks5\Socks5.vue", "Vue", 0, 0, 0, 0, 21, 0, 0, 0, 0, 1, 22
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\socks5\Socks5Edit.vue", "Vue", 0, 0, 0, 0, 86, 0, 0, 0, 0, 3, 89
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\socks5\Socks5Lan.vue", "Vue", 0, 0, 0, 0, 146, 0, 0, 0, 0, 5, 151
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\socks5\Socks5Show.vue", "Vue", 0, 0, 0, 0, 133, 0, 0, 0, 0, 9, 142
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\socks5\socks5.js", "JavaScript", 0, 58, 0, 0, 0, 0, 0, 0, 0, 5, 63
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\status\Api.vue", "Vue", 0, 0, 0, 0, 53, 0, 0, 0, 0, 1, 54
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\status\Export.vue", "Vue", 0, 0, 0, 0, 262, 0, 0, 0, 1, 18, 281
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\status\Index.vue", "Vue", 0, 0, 0, 0, 81, 0, 0, 0, 1, 4, 86
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\status\server\Flow.vue", "Vue", 0, 0, 0, 0, 43, 0, 0, 0, 0, 3, 46
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\status\server\Index.vue", "Vue", 0, 0, 0, 0, 39, 0, 0, 0, 0, 3, 42
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\status\server\Version.vue", "Vue", 0, 0, 0, 0, 154, 0, 0, 0, 0, 11, 165
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\sync\Ids.vue", "Vue", 0, 0, 0, 0, 54, 0, 0, 0, 0, 4, 58
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\sync\Index.vue", "Vue", 0, 0, 0, 0, 95, 0, 0, 0, 0, 3, 98
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\transport\Oper.vue", "Vue", 0, 0, 0, 0, 36, 0, 0, 0, 0, 4, 40
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\transport\OperDialog.vue", "Vue", 0, 0, 0, 0, 43, 0, 0, 0, 0, 4, 47
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\transport\Transport.vue", "Vue", 0, 0, 0, 0, 93, 0, 0, 0, 0, 3, 96
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\transport\transport.js", "JavaScript", 0, 15, 0, 0, 0, 0, 0, 0, 0, 1, 16
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tunnel\ConnectionShow.vue", "Vue", 0, 0, 0, 0, 74, 0, 0, 0, 0, 8, 82
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tunnel\ConnectionsEdit.vue", "Vue", 0, 0, 0, 0, 244, 0, 0, 0, 1, 16, 261
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tunnel\Tunnel.vue", "Vue", 0, 0, 0, 0, 127, 0, 0, 0, 0, 10, 137
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tunnel\TunnelEdit.vue", "Vue", 0, 0, 0, 0, 124, 0, 0, 0, 0, 6, 130
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tunnel\connections.js", "JavaScript", 0, 78, 0, 0, 0, 0, 0, 0, 0, 13, 91
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tunnel\tunnel.js", "JavaScript", 0, 112, 0, 0, 0, 0, 0, 0, 0, 10, 122
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\SystemInfo.vue", "Vue", 0, 0, 0, 0, 26, 0, 0, 0, 0, 2, 28
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\Tuntap.vue", "Vue", 0, 0, 0, 0, 30, 0, 0, 0, 0, 3, 33
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapEdit.vue", "Vue", 0, 0, 0, 0, 83, 0, 0, 0, 0, 5, 88
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapForward.vue", "Vue", 0, 0, 0, 0, 191, 0, 0, 0, 0, 10, 201
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapIP.vue", "Vue", 0, 0, 0, 0, 119, 0, 0, 0, 0, 7, 126
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapLan.vue", "Vue", 0, 0, 0, 0, 163, 0, 0, 0, 0, 5, 168
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapLease.vue", "Vue", 0, 0, 0, 0, 133, 0, 0, 0, 0, 5, 138
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapRoutes.vue", "Vue", 0, 0, 0, 0, 48, 0, 0, 0, 0, 4, 52
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapShow.vue", "Vue", 0, 0, 0, 0, 175, 0, 0, 0, 0, 12, 187
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\tuntap.js", "JavaScript", 0, 76, 0, 0, 0, 0, 0, 0, 0, 10, 86
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\updater\Config.vue", "Vue", 0, 0, 0, 0, 37, 0, 0, 0, 0, 2, 39
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\updater\UpdaterBtn.vue", "Vue", 0, 0, 0, 0, 133, 0, 0, 0, 0, 9, 142
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\updater\UpdaterConfirm.vue", "Vue", 0, 0, 0, 0, 104, 0, 0, 0, 0, 8, 112
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\updater\updater.js", "JavaScript", 0, 53, 0, 0, 0, 0, 0, 0, 0, 7, 60
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wakeup\Add.vue", "Vue", 0, 0, 0, 0, 216, 0, 0, 0, 0, 6, 222
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wakeup\Oper.vue", "Vue", 0, 0, 0, 0, 40, 0, 0, 0, 0, 4, 44
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wakeup\OperDialog.vue", "Vue", 0, 0, 0, 0, 40, 0, 0, 0, 0, 2, 42
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wakeup\Wakeup.vue", "Vue", 0, 0, 0, 0, 210, 0, 0, 0, 0, 9, 219
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wakeup\wakeup.js", "JavaScript", 0, 15, 0, 0, 0, 0, 0, 0, 0, 1, 16
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wlist\Add.vue", "Vue", 0, 0, 0, 0, 194, 0, 0, 0, 0, 14, 208
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wlist\Device.vue", "Vue", 0, 0, 0, 0, 54, 0, 0, 0, 0, 8, 62
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wlist\Index.vue", "Vue", 0, 0, 0, 0, 25, 0, 0, 0, 0, 4, 29
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wlist\Manager.vue", "Vue", 0, 0, 0, 0, 152, 0, 0, 0, 0, 7, 159
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wlist\OperDialog.vue", "Vue", 0, 0, 0, 0, 119, 0, 0, 0, 0, 8, 127
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wlist\Status.vue", "Vue", 0, 0, 0, 0, 49, 0, 0, 0, 0, 6, 55
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wlist\wlist.js", "JavaScript", 0, 41, 0, 0, 0, 0, 0, 0, 0, 6, 47
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\Index.vue", "Vue", 0, 0, 0, 0, 63, 0, 0, 0, 0, 3, 66
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\action\Index.vue", "Vue", 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 25
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\config\Config.vue", "Vue", 0, 0, 0, 0, 99, 0, 0, 0, 0, 5, 104
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\config\Index.vue", "Vue", 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 24
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\firewall\Index.vue", "Vue", 0, 0, 0, 0, 34, 0, 0, 0, 0, 3, 37
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\head\Background.vue", "Vue", 0, 0, 0, 0, 80, 0, 0, 0, 0, 6, 86
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\head\Index.vue", "Vue", 0, 0, 0, 0, 105, 0, 0, 0, 0, 15, 120
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\head\Locale.vue", "Vue", 0, 0, 0, 0, 57, 0, 0, 0, 0, 5, 62
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\head\Menu.vue", "Vue", 0, 0, 0, 0, 108, 0, 0, 0, 0, 8, 116
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\head\Theme.vue", "Vue", 0, 0, 0, 0, 45, 0, 0, 0, 0, 5, 50
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Client.vue", "Vue", 0, 0, 0, 0, 170, 0, 0, 0, 0, 8, 178
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Common.vue", "Vue", 0, 0, 0, 0, 53, 0, 0, 0, 0, 6, 59
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Copy.vue", "Vue", 0, 0, 0, 0, 38, 0, 0, 0, 0, 4, 42
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Index.vue", "Vue", 0, 0, 0, 0, 38, 0, 0, 0, 0, 3, 41
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Input.vue", "Vue", 0, 0, 0, 0, 84, 0, 0, 0, 0, 3, 87
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Save.vue", "Vue", 0, 0, 0, 0, 57, 0, 0, 0, 0, 4, 61
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Server.vue", "Vue", 0, 0, 0, 0, 178, 0, 0, 0, 0, 7, 185
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\list\Index.vue", "Vue", 0, 0, 0, 0, 212, 0, 0, 0, 0, 30, 242
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\list\Sort.vue", "Vue", 0, 0, 0, 0, 58, 0, 0, 0, 0, 7, 65
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\logger\Index.vue", "Vue", 0, 0, 0, 0, 184, 0, 0, 0, 0, 13, 197
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\logger\Setting.vue", "Vue", 0, 0, 0, 0, 127, 0, 0, 0, 0, 8, 135
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\transport\Index.vue", "Vue", 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 27
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\wakeup\Index.vue", "Vue", 0, 0, 0, 0, 34, 0, 0, 0, 0, 2, 36
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\net\Head.vue", "Vue", 0, 0, 0, 0, 75, 0, 0, 0, 0, 7, 82
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\net\Index.vue", "Vue", 0, 0, 0, 0, 41, 0, 0, 0, 0, 1, 42
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\net\List.vue", "Vue", 0, 0, 0, 0, 90, 0, 0, 0, 0, 6, 96
|
||||||
|
"c:\Users\snltty\Desktop\linker\src\linker.web\vue.config.js", "JavaScript", 0, 10, 0, 0, 0, 0, 0, 0, 0, 1, 11
|
||||||
|
"Total", "-", 15, 2451, 50, 36, 11597, 10030, 19, 394, 40, 1113, 25745
|
||||||
|
File diff suppressed because one or more lines are too long
79
src/linker.web/.VSCodeCounter/2025-11-19_15-40-20/results.md
Normal file
79
src/linker.web/.VSCodeCounter/2025-11-19_15-40-20/results.md
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
# Summary
|
||||||
|
|
||||||
|
Date : 2025-11-19 15:40:20
|
||||||
|
|
||||||
|
Directory c:\\Users\\snltty\\Desktop\\linker\\src\\linker.web
|
||||||
|
|
||||||
|
Total : 218 files, 24592 codes, 40 comments, 1113 blanks, all 25745 lines
|
||||||
|
|
||||||
|
Summary / [Details](details.md) / [Diff Summary](diff.md) / [Diff Details](diff-details.md)
|
||||||
|
|
||||||
|
## Languages
|
||||||
|
| language | files | code | comment | blank | total |
|
||||||
|
| :--- | ---: | ---: | ---: | ---: | ---: |
|
||||||
|
| Vue | 118 | 11,597 | 7 | 772 | 12,376 |
|
||||||
|
| JSON | 2 | 10,030 | 0 | 2 | 10,032 |
|
||||||
|
| JavaScript | 47 | 2,451 | 23 | 220 | 2,694 |
|
||||||
|
| PostCSS | 1 | 394 | 9 | 109 | 512 |
|
||||||
|
| XML | 46 | 50 | 0 | 0 | 50 |
|
||||||
|
| HTML | 2 | 36 | 1 | 4 | 41 |
|
||||||
|
| JSON with Comments | 1 | 19 | 0 | 1 | 20 |
|
||||||
|
| Markdown | 1 | 15 | 0 | 5 | 20 |
|
||||||
|
|
||||||
|
## Directories
|
||||||
|
| path | files | code | comment | blank | total |
|
||||||
|
| :--- | ---: | ---: | ---: | ---: | ---: |
|
||||||
|
| . | 218 | 24,592 | 40 | 1,113 | 25,745 |
|
||||||
|
| . (Files) | 6 | 10,079 | 0 | 10 | 10,089 |
|
||||||
|
| public | 41 | 75 | 1 | 4 | 80 |
|
||||||
|
| src | 171 | 14,438 | 39 | 1,099 | 15,576 |
|
||||||
|
| src (Files) | 3 | 165 | 3 | 17 | 185 |
|
||||||
|
| src\\apis | 21 | 583 | 19 | 57 | 659 |
|
||||||
|
| src\\assets | 8 | 405 | 9 | 109 | 523 |
|
||||||
|
| src\\lang | 4 | 891 | 0 | 71 | 962 |
|
||||||
|
| src\\router | 1 | 63 | 0 | 3 | 66 |
|
||||||
|
| src\\views | 134 | 12,331 | 8 | 842 | 13,181 |
|
||||||
|
| src\\views (Files) | 3 | 246 | 0 | 25 | 271 |
|
||||||
|
| src\\views\\components | 105 | 9,979 | 8 | 658 | 10,645 |
|
||||||
|
| src\\views\\components\\accesss | 6 | 264 | 0 | 25 | 289 |
|
||||||
|
| src\\views\\components\\action | 4 | 151 | 0 | 8 | 159 |
|
||||||
|
| src\\views\\components\\adv | 1 | 39 | 0 | 7 | 46 |
|
||||||
|
| src\\views\\components\\decenter | 1 | 43 | 0 | 3 | 46 |
|
||||||
|
| src\\views\\components\\device | 4 | 325 | 1 | 23 | 349 |
|
||||||
|
| src\\views\\components\\firewall | 5 | 595 | 0 | 35 | 630 |
|
||||||
|
| src\\views\\components\\flow | 15 | 1,482 | 0 | 128 | 1,610 |
|
||||||
|
| src\\views\\components\\flow (Files) | 12 | 1,283 | 0 | 108 | 1,391 |
|
||||||
|
| src\\views\\components\\flow\\messenger | 1 | 101 | 0 | 11 | 112 |
|
||||||
|
| src\\views\\components\\flow\\stopwatch | 2 | 98 | 0 | 9 | 107 |
|
||||||
|
| src\\views\\components\\forward | 8 | 1,094 | 1 | 51 | 1,146 |
|
||||||
|
| src\\views\\components\\global | 2 | 33 | 0 | 9 | 42 |
|
||||||
|
| src\\views\\components\\groups | 2 | 241 | 3 | 8 | 252 |
|
||||||
|
| src\\views\\components\\oper | 2 | 161 | 0 | 17 | 178 |
|
||||||
|
| src\\views\\components\\plan | 3 | 435 | 0 | 21 | 456 |
|
||||||
|
| src\\views\\components\\relay | 3 | 419 | 0 | 14 | 433 |
|
||||||
|
| src\\views\\components\\socks5 | 5 | 444 | 0 | 23 | 467 |
|
||||||
|
| src\\views\\components\\status | 6 | 632 | 2 | 40 | 674 |
|
||||||
|
| src\\views\\components\\status (Files) | 3 | 396 | 2 | 23 | 421 |
|
||||||
|
| src\\views\\components\\status\\server | 3 | 236 | 0 | 17 | 253 |
|
||||||
|
| src\\views\\components\\sync | 2 | 149 | 0 | 7 | 156 |
|
||||||
|
| src\\views\\components\\transport | 4 | 187 | 0 | 12 | 199 |
|
||||||
|
| src\\views\\components\\tunnel | 6 | 759 | 1 | 63 | 823 |
|
||||||
|
| src\\views\\components\\tuntap | 10 | 1,044 | 0 | 63 | 1,107 |
|
||||||
|
| src\\views\\components\\updater | 4 | 327 | 0 | 26 | 353 |
|
||||||
|
| src\\views\\components\\wakeup | 5 | 521 | 0 | 22 | 543 |
|
||||||
|
| src\\views\\components\\wlist | 7 | 634 | 0 | 53 | 687 |
|
||||||
|
| src\\views\\layout | 26 | 2,106 | 0 | 159 | 2,265 |
|
||||||
|
| src\\views\\layout\\full | 23 | 1,900 | 0 | 145 | 2,045 |
|
||||||
|
| src\\views\\layout\\full (Files) | 1 | 63 | 0 | 3 | 66 |
|
||||||
|
| src\\views\\layout\\full\\action | 1 | 25 | 0 | 0 | 25 |
|
||||||
|
| src\\views\\layout\\full\\config | 2 | 123 | 0 | 5 | 128 |
|
||||||
|
| src\\views\\layout\\full\\firewall | 1 | 34 | 0 | 3 | 37 |
|
||||||
|
| src\\views\\layout\\full\\head | 5 | 395 | 0 | 39 | 434 |
|
||||||
|
| src\\views\\layout\\full\\install | 7 | 618 | 0 | 35 | 653 |
|
||||||
|
| src\\views\\layout\\full\\list | 2 | 270 | 0 | 37 | 307 |
|
||||||
|
| src\\views\\layout\\full\\logger | 2 | 311 | 0 | 21 | 332 |
|
||||||
|
| src\\views\\layout\\full\\transport | 1 | 27 | 0 | 0 | 27 |
|
||||||
|
| src\\views\\layout\\full\\wakeup | 1 | 34 | 0 | 2 | 36 |
|
||||||
|
| src\\views\\layout\\net | 3 | 206 | 0 | 14 | 220 |
|
||||||
|
|
||||||
|
Summary / [Details](details.md) / [Diff Summary](diff.md) / [Diff Details](diff-details.md)
|
||||||
300
src/linker.web/.VSCodeCounter/2025-11-19_15-40-20/results.txt
Normal file
300
src/linker.web/.VSCodeCounter/2025-11-19_15-40-20/results.txt
Normal file
@@ -0,0 +1,300 @@
|
|||||||
|
Date : 2025-11-19 15:40:20
|
||||||
|
Directory : c:\Users\snltty\Desktop\linker\src\linker.web
|
||||||
|
Total : 218 files, 24592 codes, 40 comments, 1113 blanks, all 25745 lines
|
||||||
|
|
||||||
|
Languages
|
||||||
|
+--------------------+------------+------------+------------+------------+------------+
|
||||||
|
| language | files | code | comment | blank | total |
|
||||||
|
+--------------------+------------+------------+------------+------------+------------+
|
||||||
|
| Vue | 118 | 11,597 | 7 | 772 | 12,376 |
|
||||||
|
| JSON | 2 | 10,030 | 0 | 2 | 10,032 |
|
||||||
|
| JavaScript | 47 | 2,451 | 23 | 220 | 2,694 |
|
||||||
|
| PostCSS | 1 | 394 | 9 | 109 | 512 |
|
||||||
|
| XML | 46 | 50 | 0 | 0 | 50 |
|
||||||
|
| HTML | 2 | 36 | 1 | 4 | 41 |
|
||||||
|
| JSON with Comments | 1 | 19 | 0 | 1 | 20 |
|
||||||
|
| Markdown | 1 | 15 | 0 | 5 | 20 |
|
||||||
|
+--------------------+------------+------------+------------+------------+------------+
|
||||||
|
|
||||||
|
Directories
|
||||||
|
+-------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+
|
||||||
|
| path | files | code | comment | blank | total |
|
||||||
|
+-------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+
|
||||||
|
| . | 218 | 24,592 | 40 | 1,113 | 25,745 |
|
||||||
|
| . (Files) | 6 | 10,079 | 0 | 10 | 10,089 |
|
||||||
|
| public | 41 | 75 | 1 | 4 | 80 |
|
||||||
|
| src | 171 | 14,438 | 39 | 1,099 | 15,576 |
|
||||||
|
| src (Files) | 3 | 165 | 3 | 17 | 185 |
|
||||||
|
| src\apis | 21 | 583 | 19 | 57 | 659 |
|
||||||
|
| src\assets | 8 | 405 | 9 | 109 | 523 |
|
||||||
|
| src\lang | 4 | 891 | 0 | 71 | 962 |
|
||||||
|
| src\router | 1 | 63 | 0 | 3 | 66 |
|
||||||
|
| src\views | 134 | 12,331 | 8 | 842 | 13,181 |
|
||||||
|
| src\views (Files) | 3 | 246 | 0 | 25 | 271 |
|
||||||
|
| src\views\components | 105 | 9,979 | 8 | 658 | 10,645 |
|
||||||
|
| src\views\components\accesss | 6 | 264 | 0 | 25 | 289 |
|
||||||
|
| src\views\components\action | 4 | 151 | 0 | 8 | 159 |
|
||||||
|
| src\views\components\adv | 1 | 39 | 0 | 7 | 46 |
|
||||||
|
| src\views\components\decenter | 1 | 43 | 0 | 3 | 46 |
|
||||||
|
| src\views\components\device | 4 | 325 | 1 | 23 | 349 |
|
||||||
|
| src\views\components\firewall | 5 | 595 | 0 | 35 | 630 |
|
||||||
|
| src\views\components\flow | 15 | 1,482 | 0 | 128 | 1,610 |
|
||||||
|
| src\views\components\flow (Files) | 12 | 1,283 | 0 | 108 | 1,391 |
|
||||||
|
| src\views\components\flow\messenger | 1 | 101 | 0 | 11 | 112 |
|
||||||
|
| src\views\components\flow\stopwatch | 2 | 98 | 0 | 9 | 107 |
|
||||||
|
| src\views\components\forward | 8 | 1,094 | 1 | 51 | 1,146 |
|
||||||
|
| src\views\components\global | 2 | 33 | 0 | 9 | 42 |
|
||||||
|
| src\views\components\groups | 2 | 241 | 3 | 8 | 252 |
|
||||||
|
| src\views\components\oper | 2 | 161 | 0 | 17 | 178 |
|
||||||
|
| src\views\components\plan | 3 | 435 | 0 | 21 | 456 |
|
||||||
|
| src\views\components\relay | 3 | 419 | 0 | 14 | 433 |
|
||||||
|
| src\views\components\socks5 | 5 | 444 | 0 | 23 | 467 |
|
||||||
|
| src\views\components\status | 6 | 632 | 2 | 40 | 674 |
|
||||||
|
| src\views\components\status (Files) | 3 | 396 | 2 | 23 | 421 |
|
||||||
|
| src\views\components\status\server | 3 | 236 | 0 | 17 | 253 |
|
||||||
|
| src\views\components\sync | 2 | 149 | 0 | 7 | 156 |
|
||||||
|
| src\views\components\transport | 4 | 187 | 0 | 12 | 199 |
|
||||||
|
| src\views\components\tunnel | 6 | 759 | 1 | 63 | 823 |
|
||||||
|
| src\views\components\tuntap | 10 | 1,044 | 0 | 63 | 1,107 |
|
||||||
|
| src\views\components\updater | 4 | 327 | 0 | 26 | 353 |
|
||||||
|
| src\views\components\wakeup | 5 | 521 | 0 | 22 | 543 |
|
||||||
|
| src\views\components\wlist | 7 | 634 | 0 | 53 | 687 |
|
||||||
|
| src\views\layout | 26 | 2,106 | 0 | 159 | 2,265 |
|
||||||
|
| src\views\layout\full | 23 | 1,900 | 0 | 145 | 2,045 |
|
||||||
|
| src\views\layout\full (Files) | 1 | 63 | 0 | 3 | 66 |
|
||||||
|
| src\views\layout\full\action | 1 | 25 | 0 | 0 | 25 |
|
||||||
|
| src\views\layout\full\config | 2 | 123 | 0 | 5 | 128 |
|
||||||
|
| src\views\layout\full\firewall | 1 | 34 | 0 | 3 | 37 |
|
||||||
|
| src\views\layout\full\head | 5 | 395 | 0 | 39 | 434 |
|
||||||
|
| src\views\layout\full\install | 7 | 618 | 0 | 35 | 653 |
|
||||||
|
| src\views\layout\full\list | 2 | 270 | 0 | 37 | 307 |
|
||||||
|
| src\views\layout\full\logger | 2 | 311 | 0 | 21 | 332 |
|
||||||
|
| src\views\layout\full\transport | 1 | 27 | 0 | 0 | 27 |
|
||||||
|
| src\views\layout\full\wakeup | 1 | 34 | 0 | 2 | 36 |
|
||||||
|
| src\views\layout\net | 3 | 206 | 0 | 14 | 220 |
|
||||||
|
+-------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+
|
||||||
|
|
||||||
|
Files
|
||||||
|
+-------------------------------------------------------------------------------------------------+--------------------+------------+------------+------------+------------+
|
||||||
|
| filename | language | code | comment | blank | total |
|
||||||
|
+-------------------------------------------------------------------------------------------------+--------------------+------------+------------+------------+------------+
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\README.md | Markdown | 15 | 0 | 5 | 20 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\babel.config.js | JavaScript | 5 | 0 | 1 | 6 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\jsconfig.json | JSON with Comments | 19 | 0 | 1 | 20 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\package-lock.json | JSON | 9,999 | 0 | 1 | 10,000 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\package.json | JSON | 31 | 0 | 1 | 32 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\404_default.html | HTML | 13 | 0 | 1 | 14 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\action.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\aliyun.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\alpine.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\amazon.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\android.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\archlinux.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\armbian.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\blist.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\centos.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\chinamobile.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\chinanet.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\chinaunicom.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\debian.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\docker.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\fedora.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\firewall.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\google.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\home.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\huawei.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\index.html | HTML | 23 | 1 | 3 | 27 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\ios.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\iphone.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\jdcom.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\linux.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\logger.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\openwrt.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\oppo.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\refresh.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\rocky.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\samsung.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\server.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\system.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\transport.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\ubuntu.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\vivo.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\wakeup.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\windows.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\wlist-none.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\wlist.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\public\xiaomi.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\App.vue | Vue | 43 | 0 | 4 | 47 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\access.js | JavaScript | 13 | 0 | 1 | 14 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\action.js | JavaScript | 7 | 0 | 2 | 9 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\cdkey.js | JavaScript | 25 | 0 | 1 | 26 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\config.js | JavaScript | 22 | 0 | 2 | 24 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\decenter.js | JavaScript | 7 | 0 | 3 | 10 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\firewall.js | JavaScript | 16 | 0 | 1 | 17 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\flow.js | JavaScript | 28 | 0 | 1 | 29 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\forward.js | JavaScript | 16 | 0 | 2 | 18 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\logger.js | JavaScript | 13 | 0 | 4 | 17 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\plan.js | JavaScript | 10 | 0 | 2 | 12 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\relay.js | JavaScript | 28 | 0 | 1 | 29 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\request.js | JavaScript | 158 | 19 | 8 | 185 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\sforward.js | JavaScript | 31 | 0 | 5 | 36 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\signin.js | JavaScript | 37 | 0 | 6 | 43 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\socks5.js | JavaScript | 16 | 0 | 1 | 17 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\sync.js | JavaScript | 7 | 0 | 1 | 8 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\tunnel.js | JavaScript | 34 | 0 | 5 | 39 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\tuntap.js | JavaScript | 40 | 0 | 6 | 46 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\updater.js | JavaScript | 37 | 0 | 4 | 41 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\wakeup.js | JavaScript | 19 | 0 | 1 | 20 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\apis\wlist.js | JavaScript | 19 | 0 | 0 | 19 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\cell.svg | XML | 5 | 0 | 0 | 5 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\coin.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\dianchi.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\group.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\loading.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\no-permission.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\run.svg | XML | 1 | 0 | 0 | 1 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\assets\style.css | PostCSS | 394 | 9 | 109 | 512 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\lang\en-us.js | JavaScript | 384 | 0 | 30 | 414 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\lang\index.js | JavaScript | 18 | 0 | 1 | 19 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\lang\provide.js | JavaScript | 19 | 0 | 0 | 19 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\lang\zh-cn.js | JavaScript | 470 | 0 | 40 | 510 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\main.js | JavaScript | 78 | 0 | 8 | 86 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\provide.js | JavaScript | 44 | 3 | 5 | 52 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\router\index.js | JavaScript | 63 | 0 | 3 | 66 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\Api.vue | Vue | 134 | 0 | 12 | 146 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\NoPermission.vue | Vue | 41 | 0 | 5 | 46 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\Refresh.vue | Vue | 71 | 0 | 8 | 79 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\accesss\Access.vue | Vue | 103 | 0 | 5 | 108 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\accesss\AccessBoolean.vue | Vue | 20 | 0 | 5 | 25 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\accesss\AccessEdit.vue | Vue | 61 | 0 | 3 | 64 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\accesss\AccessNum.vue | Vue | 23 | 0 | 5 | 28 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\accesss\AccessShow.vue | Vue | 17 | 0 | 4 | 21 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\accesss\access.js | JavaScript | 40 | 0 | 3 | 43 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\action\Action.vue | Vue | 72 | 0 | 1 | 73 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\action\Oper.vue | Vue | 24 | 0 | 6 | 30 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\action\OperDialog.vue | Vue | 40 | 0 | 0 | 40 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\action\action.js | JavaScript | 15 | 0 | 1 | 16 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\adv\Index.vue | Vue | 39 | 0 | 7 | 46 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\decenter\decenter.js | JavaScript | 43 | 0 | 3 | 46 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\device\Device.vue | Vue | 56 | 0 | 5 | 61 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\device\DeviceEdit.vue | Vue | 66 | 0 | 3 | 69 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\device\DeviceName.vue | Vue | 56 | 0 | 8 | 64 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\device\devices.js | JavaScript | 147 | 1 | 7 | 155 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\firewall\Add.vue | Vue | 210 | 0 | 11 | 221 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\firewall\Firewall.vue | Vue | 290 | 0 | 15 | 305 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\firewall\Oper.vue | Vue | 40 | 0 | 6 | 46 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\firewall\OperDialog.vue | Vue | 40 | 0 | 2 | 42 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\firewall\firewall.js | JavaScript | 15 | 0 | 1 | 16 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\Index.vue | Vue | 190 | 0 | 16 | 206 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\OnlineAllMap.vue | Vue | 75 | 0 | 9 | 84 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\OnlineMap.vue | Vue | 87 | 0 | 9 | 96 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\Oper.vue | Vue | 30 | 0 | 7 | 37 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\OperDialog.vue | Vue | 31 | 0 | 1 | 32 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\ServerFlowForward.vue | Vue | 149 | 0 | 11 | 160 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\ServerFlowMessenger.vue | Vue | 111 | 0 | 12 | 123 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\ServerFlowRelay.vue | Vue | 141 | 0 | 10 | 151 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\ServerFlowSForward.vue | Vue | 141 | 0 | 10 | 151 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\ServerFlowSocks5.vue | Vue | 149 | 0 | 11 | 160 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\ServerFlowTunnel.vue | Vue | 157 | 0 | 11 | 168 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\flow.js | JavaScript | 22 | 0 | 1 | 23 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\messenger\Index.vue | Vue | 101 | 0 | 11 | 112 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\stopwatch\Index.vue | Vue | 42 | 0 | 4 | 46 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\flow\stopwatch\Stopwatch.vue | Vue | 56 | 0 | 5 | 61 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\Config.vue | Vue | 59 | 1 | 4 | 64 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\EditNode.vue | Vue | 123 | 0 | 7 | 130 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\Forward.vue | Vue | 86 | 0 | 4 | 90 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\ForwardEdit.vue | Vue | 318 | 0 | 13 | 331 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\Nodes.vue | Vue | 156 | 0 | 4 | 160 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\SForwardEdit.vue | Vue | 319 | 0 | 15 | 334 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\forward.js | JavaScript | 16 | 0 | 1 | 17 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\forward\sforward.js | JavaScript | 17 | 0 | 3 | 20 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\global\PcShow.vue | Vue | 16 | 0 | 5 | 21 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\global\PhoneShow.vue | Vue | 17 | 0 | 4 | 21 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\groups\Groups.vue | Vue | 156 | 3 | 5 | 164 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\groups\Index.vue | Vue | 85 | 0 | 3 | 88 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\oper\Oper.vue | Vue | 147 | 0 | 16 | 163 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\oper\oper.js | JavaScript | 14 | 0 | 1 | 15 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\plan\PlanEdit.vue | Vue | 279 | 0 | 9 | 288 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\plan\PlanList.vue | Vue | 66 | 0 | 5 | 71 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\plan\PlanShow.vue | Vue | 90 | 0 | 7 | 97 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\relay\Config.vue | Vue | 83 | 0 | 4 | 87 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\relay\EditNode.vue | Vue | 114 | 0 | 4 | 118 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\relay\Nodes.vue | Vue | 222 | 0 | 6 | 228 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\socks5\Socks5.vue | Vue | 21 | 0 | 1 | 22 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\socks5\Socks5Edit.vue | Vue | 86 | 0 | 3 | 89 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\socks5\Socks5Lan.vue | Vue | 146 | 0 | 5 | 151 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\socks5\Socks5Show.vue | Vue | 133 | 0 | 9 | 142 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\socks5\socks5.js | JavaScript | 58 | 0 | 5 | 63 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\status\Api.vue | Vue | 53 | 0 | 1 | 54 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\status\Export.vue | Vue | 262 | 1 | 18 | 281 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\status\Index.vue | Vue | 81 | 1 | 4 | 86 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\status\server\Flow.vue | Vue | 43 | 0 | 3 | 46 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\status\server\Index.vue | Vue | 39 | 0 | 3 | 42 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\status\server\Version.vue | Vue | 154 | 0 | 11 | 165 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\sync\Ids.vue | Vue | 54 | 0 | 4 | 58 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\sync\Index.vue | Vue | 95 | 0 | 3 | 98 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\transport\Oper.vue | Vue | 36 | 0 | 4 | 40 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\transport\OperDialog.vue | Vue | 43 | 0 | 4 | 47 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\transport\Transport.vue | Vue | 93 | 0 | 3 | 96 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\transport\transport.js | JavaScript | 15 | 0 | 1 | 16 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tunnel\ConnectionShow.vue | Vue | 74 | 0 | 8 | 82 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tunnel\ConnectionsEdit.vue | Vue | 244 | 1 | 16 | 261 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tunnel\Tunnel.vue | Vue | 127 | 0 | 10 | 137 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tunnel\TunnelEdit.vue | Vue | 124 | 0 | 6 | 130 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tunnel\connections.js | JavaScript | 78 | 0 | 13 | 91 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tunnel\tunnel.js | JavaScript | 112 | 0 | 10 | 122 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\SystemInfo.vue | Vue | 26 | 0 | 2 | 28 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\Tuntap.vue | Vue | 30 | 0 | 3 | 33 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapEdit.vue | Vue | 83 | 0 | 5 | 88 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapForward.vue | Vue | 191 | 0 | 10 | 201 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapIP.vue | Vue | 119 | 0 | 7 | 126 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapLan.vue | Vue | 163 | 0 | 5 | 168 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapLease.vue | Vue | 133 | 0 | 5 | 138 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapRoutes.vue | Vue | 48 | 0 | 4 | 52 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\TuntapShow.vue | Vue | 175 | 0 | 12 | 187 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\tuntap\tuntap.js | JavaScript | 76 | 0 | 10 | 86 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\updater\Config.vue | Vue | 37 | 0 | 2 | 39 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\updater\UpdaterBtn.vue | Vue | 133 | 0 | 9 | 142 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\updater\UpdaterConfirm.vue | Vue | 104 | 0 | 8 | 112 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\updater\updater.js | JavaScript | 53 | 0 | 7 | 60 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wakeup\Add.vue | Vue | 216 | 0 | 6 | 222 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wakeup\Oper.vue | Vue | 40 | 0 | 4 | 44 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wakeup\OperDialog.vue | Vue | 40 | 0 | 2 | 42 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wakeup\Wakeup.vue | Vue | 210 | 0 | 9 | 219 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wakeup\wakeup.js | JavaScript | 15 | 0 | 1 | 16 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wlist\Add.vue | Vue | 194 | 0 | 14 | 208 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wlist\Device.vue | Vue | 54 | 0 | 8 | 62 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wlist\Index.vue | Vue | 25 | 0 | 4 | 29 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wlist\Manager.vue | Vue | 152 | 0 | 7 | 159 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wlist\OperDialog.vue | Vue | 119 | 0 | 8 | 127 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wlist\Status.vue | Vue | 49 | 0 | 6 | 55 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\components\wlist\wlist.js | JavaScript | 41 | 0 | 6 | 47 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\Index.vue | Vue | 63 | 0 | 3 | 66 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\action\Index.vue | Vue | 25 | 0 | 0 | 25 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\config\Config.vue | Vue | 99 | 0 | 5 | 104 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\config\Index.vue | Vue | 24 | 0 | 0 | 24 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\firewall\Index.vue | Vue | 34 | 0 | 3 | 37 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\head\Background.vue | Vue | 80 | 0 | 6 | 86 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\head\Index.vue | Vue | 105 | 0 | 15 | 120 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\head\Locale.vue | Vue | 57 | 0 | 5 | 62 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\head\Menu.vue | Vue | 108 | 0 | 8 | 116 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\head\Theme.vue | Vue | 45 | 0 | 5 | 50 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Client.vue | Vue | 170 | 0 | 8 | 178 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Common.vue | Vue | 53 | 0 | 6 | 59 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Copy.vue | Vue | 38 | 0 | 4 | 42 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Index.vue | Vue | 38 | 0 | 3 | 41 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Input.vue | Vue | 84 | 0 | 3 | 87 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Save.vue | Vue | 57 | 0 | 4 | 61 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\install\Server.vue | Vue | 178 | 0 | 7 | 185 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\list\Index.vue | Vue | 212 | 0 | 30 | 242 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\list\Sort.vue | Vue | 58 | 0 | 7 | 65 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\logger\Index.vue | Vue | 184 | 0 | 13 | 197 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\logger\Setting.vue | Vue | 127 | 0 | 8 | 135 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\transport\Index.vue | Vue | 27 | 0 | 0 | 27 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\full\wakeup\Index.vue | Vue | 34 | 0 | 2 | 36 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\net\Head.vue | Vue | 75 | 0 | 7 | 82 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\net\Index.vue | Vue | 41 | 0 | 1 | 42 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\src\views\layout\net\List.vue | Vue | 90 | 0 | 6 | 96 |
|
||||||
|
| c:\Users\snltty\Desktop\linker\src\linker.web\vue.config.js | JavaScript | 10 | 0 | 1 | 11 |
|
||||||
|
| Total | | 24,592 | 40 | 1,113 | 25,745 |
|
||||||
|
+-------------------------------------------------------------------------------------------------+--------------------+------------+------------+------------+------------+
|
||||||
@@ -1 +1 @@
|
|||||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763364230445" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="12699" xmlns:xlink="http://www.w3.org/1999/xlink" width="1000" height="1000"><path d="M0 512c0 282.4 229.6 512 512 512s512-229.6 512-512S794.4 0 512 0 0 229.6 0 512z" fill="#515151" p-id="12700" data-spm-anchor-id="a313x.search_index.0.i2.53a83a81qrVrBK" class="selected"></path><path d="M85.6 512c0 236 191.2 426.4 426.4 426.4 236 0 426.4-191.2 426.4-426.4 0-236-191.2-426.4-426.4-426.4S85.6 276 85.6 512z" fill="#FFFFFF" p-id="12701"></path><path d="M624.8 469.6v104L720 793.6s28.8 46.4-16.8 60c0 0-30.4 4.8-46.4-24L572 668.8s-18.4-48-34.4-30.4l-60 64.8s-16.8 34.4-16.8 128c0 0 7.2 22.4-37.6 22.4 0 0-30.4 1.6-30.4-20.8V745.6s4.8-99.2 92-197.6v-28.8l-15.2-81.6s-16.8-20.8-28.8-3.2c0 0 3.2 24-48 51.2l-58.4 20.8s-32.8 12-37.6-7.2c0 0-12-25.6 7.2-32.8l52.8-28.8s61.6-40.8 58.4-92c0 0 10.4-58.4 63.2-75.2 0 0 25.6-20.8 58.4-8.8l138.4 63.2s18.4 12 18.4 25.6v136.8s3.2 25.6-15.2 25.6c0 0-30.4-10.4-30.4-18.4l1.6-102.4s-3.2-8.8-25.6-22.4l-22.4-16.8S576 336 580.8 360c-2.4-1.6 44 66.4 44 109.6zM445.6 256c-32.8 0-60-25.6-60-60 0-32.8 25.6-60 60-60s60 25.6 60 60-26.4 60-60 60z" fill="#515151" p-id="12702" data-spm-anchor-id="a313x.search_index.0.i3.53a83a81qrVrBK" class="selected"></path></svg>
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763625401599" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5643" xmlns:xlink="http://www.w3.org/1999/xlink" width="1000" height="1000"><path d="M0 512c0 282.4 229.6 512 512 512s512-229.6 512-512S794.4 0 512 0 0 229.6 0 512z" fill="#cdcdcd" p-id="5644" data-spm-anchor-id="a313x.search_index.0.i2.74063a81vN1pno" class="selected"></path><path d="M85.6 512c0 236 191.2 426.4 426.4 426.4 236 0 426.4-191.2 426.4-426.4 0-236-191.2-426.4-426.4-426.4S85.6 276 85.6 512z" fill="#FFFFFF" p-id="5645"></path><path d="M624.8 469.6v104L720 793.6s28.8 46.4-16.8 60c0 0-30.4 4.8-46.4-24L572 668.8s-18.4-48-34.4-30.4l-60 64.8s-16.8 34.4-16.8 128c0 0 7.2 22.4-37.6 22.4 0 0-30.4 1.6-30.4-20.8V745.6s4.8-99.2 92-197.6v-28.8l-15.2-81.6s-16.8-20.8-28.8-3.2c0 0 3.2 24-48 51.2l-58.4 20.8s-32.8 12-37.6-7.2c0 0-12-25.6 7.2-32.8l52.8-28.8s61.6-40.8 58.4-92c0 0 10.4-58.4 63.2-75.2 0 0 25.6-20.8 58.4-8.8l138.4 63.2s18.4 12 18.4 25.6v136.8s3.2 25.6-15.2 25.6c0 0-30.4-10.4-30.4-18.4l1.6-102.4s-3.2-8.8-25.6-22.4l-22.4-16.8S576 336 580.8 360c-2.4-1.6 44 66.4 44 109.6zM445.6 256c-32.8 0-60-25.6-60-60 0-32.8 25.6-60 60-60s60 25.6 60 60-26.4 60-60 60z" fill="#cdcdcd" p-id="5646" data-spm-anchor-id="a313x.search_index.0.i3.74063a81vN1pno" class="selected"></path></svg>
|
||||||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
@@ -48,16 +48,16 @@
|
|||||||
<div>
|
<div>
|
||||||
<template v-for="(item1,index) in item.hook_tuntap.Lans" :key="index">
|
<template v-for="(item1,index) in item.hook_tuntap.Lans" :key="index">
|
||||||
<template v-if="item.hook_tuntap.Available == false">
|
<template v-if="item.hook_tuntap.Available == false">
|
||||||
<div class="flex disable" title="IP不生效,可能是设备不在线">{{ item1.IP }} / {{ item1.PrefixLength }}</div>
|
<div class="flex disable" title="IP不生效,可能是设备不在线">{{ item1.IP }}/{{ item1.PrefixLength }}</div>
|
||||||
</template>
|
</template>
|
||||||
<template v-else-if="item1.Disabled">
|
<template v-else-if="item1.Disabled">
|
||||||
<div class="flex disable" title="已禁用">{{ item1.IP }} / {{ item1.PrefixLength }}</div>
|
<div class="flex disable" title="已禁用">{{ item1.IP }}/{{ item1.PrefixLength }}</div>
|
||||||
</template>
|
</template>
|
||||||
<template v-else-if="item1.Exists">
|
<template v-else-if="item1.Exists">
|
||||||
<div class="flex yellow" title="与其它设备填写IP、或本机局域网IP有冲突、或与本机外网IP一致">{{ item1.IP }} / {{ item1.PrefixLength }}</div>
|
<div class="flex yellow" title="与其它设备填写IP、或本机局域网IP有冲突、或与本机外网IP一致">{{ item1.IP }}/{{ item1.PrefixLength }}</div>
|
||||||
</template>
|
</template>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<div class="flex green" title="正常使用">{{ item1.IP }} / {{ item1.PrefixLength }}</div>
|
<div class="flex green" title="正常使用">{{ item1.IP }}/{{ item1.PrefixLength }}</div>
|
||||||
</template>
|
</template>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user