mirror of
https://github.com/snltty/linker.git
synced 2025-09-26 21:15:57 +08:00
187
This commit is contained in:
@@ -20,7 +20,7 @@ sidebar_position: 5
|
||||
|
||||
#### 1、安装linker的设备
|
||||
1. 如果你无法将linker安装在路由器上,那你可以将linker安装到局域网内其它设备都可以连接的其中一台设备上
|
||||
2. 安装linux的设备可以是`linux`、`windows`,但是`windows`需要支持`NetNat`,<a href="./1.1.1、NetNat">请参照 1.1.1、NetNat</a>
|
||||
2. 安装linker的设备可以是`linux`、`windows`,但是`windows`需要支持`NetNat`,<a href="./1.1.1、NetNat">请参照 1.1.1、NetNat</a>
|
||||
#### 2、局域网内其它设备
|
||||
|
||||
##### 1、手动添加路由
|
||||
|
@@ -302,6 +302,7 @@ namespace linker.messenger.store.file
|
||||
client.Name,
|
||||
client.CApi,
|
||||
client.AccessBits,
|
||||
client.FullAccess,
|
||||
Groups = new SignInClientGroupInfo[] { config.Data.Client.Groups[0] },
|
||||
Servers = new SignInClientServerInfo[] { config.Data.Client.Servers[0] },
|
||||
client.Updater,
|
||||
|
@@ -26,14 +26,19 @@ namespace linker.messenger.store.file
|
||||
}
|
||||
public async Task<string> Save(IPEndPoint server, string value)
|
||||
{
|
||||
byte[] buffer = ArrayPool<byte>.Shared.Rent(1024);
|
||||
byte[] buffer = ArrayPool<byte>.Shared.Rent(8 * 1024);
|
||||
Socket socket = new Socket(server.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
|
||||
try
|
||||
{
|
||||
await socket.ConnectAsync(server).WaitAsync(TimeSpan.FromMilliseconds(5000));
|
||||
|
||||
await socket.SendAsync(new byte[] { Type });
|
||||
await socket.SendAsync(serializer.Serialize(new ExportSaveInfo { Type = ExportSaveType.Save, Value = value }.ToJson()));
|
||||
|
||||
byte[] playload = serializer.Serialize(new ExportSaveInfo { Type = ExportSaveType.Save, Value = value }.ToJson());
|
||||
playload.Length.ToBytes().CopyTo(buffer.AsSpan(0, 4));
|
||||
playload.CopyTo(buffer.AsSpan(4));
|
||||
|
||||
await socket.SendAsync(buffer.AsMemory(0, playload.Length + 4));
|
||||
|
||||
int length = await socket.ReceiveAsync(buffer.AsMemory(), SocketFlags.None).AsTask().WaitAsync(TimeSpan.FromMilliseconds(5000)).ConfigureAwait(false);
|
||||
|
||||
@@ -83,11 +88,18 @@ namespace linker.messenger.store.file
|
||||
|
||||
public async Task Resolve(Socket socket, Memory<byte> memory)
|
||||
{
|
||||
byte[] buffer = ArrayPool<byte>.Shared.Rent(8192);
|
||||
byte[] buffer = ArrayPool<byte>.Shared.Rent(8 * 1024);
|
||||
try
|
||||
{
|
||||
int length = await socket.ReceiveAsync(buffer.AsMemory(), SocketFlags.None).ConfigureAwait(false);
|
||||
ExportSaveInfo info = serializer.Deserialize<string>(buffer.AsMemory(0, length).Span).DeJson<ExportSaveInfo>();
|
||||
int length = 0, payloadLength = 0;
|
||||
|
||||
while (length < payloadLength + 4)
|
||||
{
|
||||
length += await socket.ReceiveAsync(buffer.AsMemory(length), SocketFlags.None).ConfigureAwait(false);
|
||||
if (length >= 4) payloadLength = buffer.ToInt32();
|
||||
}
|
||||
|
||||
ExportSaveInfo info = serializer.Deserialize<string>(buffer.AsMemory(4, length - 4).Span).DeJson<ExportSaveInfo>();
|
||||
|
||||
if (string.IsNullOrWhiteSpace(info.Value))
|
||||
{
|
||||
|
@@ -1,5 +1,5 @@
|
||||
v1.8.7
|
||||
2025-07-11 13:51:25
|
||||
2025-07-15 22:31:08
|
||||
1. 一些累计更新
|
||||
2. 暗色模式
|
||||
3. 服务器穿透白名单、匿名连接
|
||||
|
Reference in New Issue
Block a user