mirror of
https://github.com/snltty/linker.git
synced 2025-11-01 04:53:15 +08:00
167
This commit is contained in:
2
.github/workflows/dotnet.yml
vendored
2
.github/workflows/dotnet.yml
vendored
@@ -35,7 +35,7 @@ jobs:
|
|||||||
release_name: v1.6.7.${{ steps.date.outputs.today }}
|
release_name: v1.6.7.${{ steps.date.outputs.today }}
|
||||||
draft: false
|
draft: false
|
||||||
prerelease: false
|
prerelease: false
|
||||||
body: "1. 修复首次启动网卡未启动bug\r\n2. 自定义网卡名\r\n3. 可禁用NAT\r\n4. 修复网卡端口转发BUG"
|
body: "1. 修复首次启动网卡未启动bug\r\n2. 自定义网卡名\r\n3. 可禁用NAT\r\n4. 修复网卡端口转发BUG\r\n5. 显示局域网IP"
|
||||||
- name: publish projects
|
- name: publish projects
|
||||||
run: ./publish.bat
|
run: ./publish.bat
|
||||||
- name: upload-win-x86-oss
|
- name: upload-win-x86-oss
|
||||||
|
|||||||
@@ -155,6 +155,8 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
List<TuntapLanInfo> Lans => info.Lans;
|
List<TuntapLanInfo> Lans => info.Lans;
|
||||||
[MemoryPackInclude, MemoryPackAllowSerialize]
|
[MemoryPackInclude, MemoryPackAllowSerialize]
|
||||||
IPAddress Wan => info.Wan;
|
IPAddress Wan => info.Wan;
|
||||||
|
[MemoryPackInclude, MemoryPackAllowSerialize]
|
||||||
|
IPAddress Lan => info.Lan;
|
||||||
|
|
||||||
[MemoryPackInclude]
|
[MemoryPackInclude]
|
||||||
string SetupError => info.SetupError;
|
string SetupError => info.SetupError;
|
||||||
@@ -173,13 +175,14 @@ namespace linker.messenger.serializer.memorypack
|
|||||||
|
|
||||||
[MemoryPackConstructor]
|
[MemoryPackConstructor]
|
||||||
SerializableTuntapInfo(string machineId, TuntapStatus status, IPAddress ip, byte prefixLength, string name,
|
SerializableTuntapInfo(string machineId, TuntapStatus status, IPAddress ip, byte prefixLength, string name,
|
||||||
List<TuntapLanInfo> lans, IPAddress wan, string setupError, string natError, string systemInfo, List<TuntapForwardInfo> forwards, TuntapSwitch Switch)
|
List<TuntapLanInfo> lans, IPAddress wan, IPAddress lan, string setupError, string natError, string systemInfo, List<TuntapForwardInfo> forwards, TuntapSwitch Switch)
|
||||||
{
|
{
|
||||||
var info = new TuntapInfo
|
var info = new TuntapInfo
|
||||||
{
|
{
|
||||||
MachineId = machineId,
|
MachineId = machineId,
|
||||||
Lans = lans,
|
Lans = lans,
|
||||||
Wan = wan,
|
Wan = wan,
|
||||||
|
Lan = lan,
|
||||||
Forwards = forwards,
|
Forwards = forwards,
|
||||||
IP = ip,
|
IP = ip,
|
||||||
NatError = natError,
|
NatError = natError,
|
||||||
|
|||||||
@@ -28,6 +28,8 @@ namespace linker.messenger.signin
|
|||||||
public string Version { get; set; }
|
public string Version { get; set; }
|
||||||
|
|
||||||
public IPEndPoint WanAddress { get; set; } = new IPEndPoint(IPAddress.Any, 0);
|
public IPEndPoint WanAddress { get; set; } = new IPEndPoint(IPAddress.Any, 0);
|
||||||
|
public IPEndPoint LanAddress => Connection?.LocalAddress ?? new IPEndPoint(IPAddress.Any, 0);
|
||||||
|
|
||||||
|
|
||||||
private int networdkEnabledTimes = 0;
|
private int networdkEnabledTimes = 0;
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
|
|||||||
@@ -99,12 +99,6 @@ namespace linker.messenger.tuntap
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 局域网IP列表
|
|
||||||
/// </summary>
|
|
||||||
public List<TuntapLanInfo> Lans { get; set; } = new List<TuntapLanInfo>();
|
|
||||||
public IPAddress Wan { get; set; } = IPAddress.Any;
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 网卡安装错误
|
/// 网卡安装错误
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -118,18 +112,21 @@ namespace linker.messenger.tuntap
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string SystemInfo { get; set; }
|
public string SystemInfo { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 局域网IP列表
|
||||||
|
/// </summary>
|
||||||
|
public List<TuntapLanInfo> Lans { get; set; } = new List<TuntapLanInfo>();
|
||||||
|
public IPAddress Wan { get; set; } = IPAddress.Any;
|
||||||
|
public IPAddress Lan { get; set; } = IPAddress.Any;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 端口转发列表
|
/// 端口转发列表
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public List<TuntapForwardInfo> Forwards { get; set; } = new List<TuntapForwardInfo>();
|
public List<TuntapForwardInfo> Forwards { get; set; } = new List<TuntapForwardInfo>();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 开关,多个bool集合
|
/// 开关,多个bool集合
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public TuntapSwitch Switch { get; set; }
|
public TuntapSwitch Switch { get; set; }
|
||||||
|
|
||||||
public LastTicksManager LastTicks { get; set; } = new LastTicksManager();
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 延迟ms
|
/// 延迟ms
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -66,6 +66,7 @@ namespace linker.messenger.tuntap
|
|||||||
Lans = tuntapConfigTransfer.Info.Lans.Where(c => c.IP != null && c.IP.Equals(IPAddress.Any) == false)
|
Lans = tuntapConfigTransfer.Info.Lans.Where(c => c.IP != null && c.IP.Equals(IPAddress.Any) == false)
|
||||||
.Select(c => { c.Exists = false; return c; }).ToList(),
|
.Select(c => { c.Exists = false; return c; }).ToList(),
|
||||||
Wan = signInClientState.WanAddress.Address,
|
Wan = signInClientState.WanAddress.Address,
|
||||||
|
Lan = signInClientState.LanAddress.Address,
|
||||||
PrefixLength = tuntapConfigTransfer.Info.PrefixLength,
|
PrefixLength = tuntapConfigTransfer.Info.PrefixLength,
|
||||||
Name = tuntapConfigTransfer.Info.Name,
|
Name = tuntapConfigTransfer.Info.Name,
|
||||||
MachineId = signInClientStore.Id,
|
MachineId = signInClientStore.Id,
|
||||||
@@ -124,7 +125,6 @@ namespace linker.messenger.tuntap
|
|||||||
foreach (var item in list)
|
foreach (var item in list)
|
||||||
{
|
{
|
||||||
tuntapInfos.AddOrUpdate(item.MachineId, item, (a, b) => item);
|
tuntapInfos.AddOrUpdate(item.MachineId, item, (a, b) => item);
|
||||||
item.LastTicks.Update();
|
|
||||||
}
|
}
|
||||||
var removes = tuntapInfos.Keys.Except(list.Select(c => c.MachineId)).Where(c => c != signInClientStore.Id).ToList();
|
var removes = tuntapInfos.Keys.Except(list.Select(c => c.MachineId)).Where(c => c != signInClientStore.Id).ToList();
|
||||||
foreach (var item in removes)
|
foreach (var item in removes)
|
||||||
@@ -132,7 +132,6 @@ namespace linker.messenger.tuntap
|
|||||||
if (tuntapInfos.TryGetValue(item, out TuntapInfo tuntapInfo))
|
if (tuntapInfos.TryGetValue(item, out TuntapInfo tuntapInfo))
|
||||||
{
|
{
|
||||||
tuntapInfo.Status = TuntapStatus.Normal;
|
tuntapInfo.Status = TuntapStatus.Normal;
|
||||||
tuntapInfo.LastTicks.Clear();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
DataVersion.Add();
|
DataVersion.Add();
|
||||||
|
|||||||
@@ -22,9 +22,8 @@ export const provideGlobalData = () => {
|
|||||||
configed: false
|
configed: false
|
||||||
},
|
},
|
||||||
//登录信息
|
//登录信息
|
||||||
signin: { Connected: false, Connecting: false, Version: 'v1.0.0.0' },
|
signin: { Connected: false, Connecting: false, Version: 'v1.0.0.0', LanAddress: '0.0.0.0' },
|
||||||
bufferSize: ['1KB', '2KB', '4KB', '8KB', '16KB', '32KB', '64KB', '128KB', '256KB', '512KB', '1024KB'],
|
bufferSize: ['1KB', '2KB', '4KB', '8KB', '16KB', '32KB', '64KB', '128KB', '256KB', '512KB', '1024KB'],
|
||||||
updater: {}, //更新信息
|
|
||||||
self: {}, //本机
|
self: {}, //本机
|
||||||
hasAccess(name) {
|
hasAccess(name) {
|
||||||
if (this.config.Client.Accesss[name] == undefined) {
|
if (this.config.Client.Accesss[name] == undefined) {
|
||||||
|
|||||||
@@ -83,6 +83,7 @@ export default {
|
|||||||
globalData.value.signin.Connected = res.Connected;
|
globalData.value.signin.Connected = res.Connected;
|
||||||
globalData.value.signin.Connecting = res.Connecting;
|
globalData.value.signin.Connecting = res.Connecting;
|
||||||
globalData.value.signin.Version = res.Version;
|
globalData.value.signin.Version = res.Version;
|
||||||
|
globalData.value.signin.LanAddress = res.LanAddress;
|
||||||
setTimeout(()=>{
|
setTimeout(()=>{
|
||||||
_getSignInfoInfo();
|
_getSignInfoInfo();
|
||||||
},1000);
|
},1000);
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<div class="flex">
|
<div class="flex">
|
||||||
<div class="flex-1">
|
<div class="flex-1">
|
||||||
<ConnectionShow :data="connections.list[item.MachineId]"></ConnectionShow>
|
<ConnectionShow :data="connections.list[item.MachineId]"></ConnectionShow>
|
||||||
<a href="javascript:;" class="a-line" @click="handleTuntapIP(tuntap.list[item.MachineId])" title="此设备的虚拟网卡IP">
|
<a href="javascript:;" class="a-line" @click="handleTuntapIP(tuntap.list[item.MachineId])" :title="`虚拟网卡IP:${tuntap.list[item.MachineId].IP}\r\n局域网IP:${tuntap.list[item.MachineId].Lan}`">
|
||||||
<template v-if="tuntap.list[item.MachineId].SetupError">
|
<template v-if="tuntap.list[item.MachineId].SetupError">
|
||||||
<strong class="red" :title="tuntap.list[item.MachineId].SetupError">{{ tuntap.list[item.MachineId].IP }}</strong>
|
<strong class="red" :title="tuntap.list[item.MachineId].SetupError">{{ tuntap.list[item.MachineId].IP }}</strong>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -23,7 +23,8 @@
|
|||||||
<Description>1. 修复首次启动网卡未启动bug
|
<Description>1. 修复首次启动网卡未启动bug
|
||||||
2. 自定义网卡名
|
2. 自定义网卡名
|
||||||
3. 可禁用NAT
|
3. 可禁用NAT
|
||||||
4. 修复网卡端口转发BUG</Description>
|
4. 修复网卡端口转发BUG
|
||||||
|
5. 显示局域网IP</Description>
|
||||||
<Copyright>snltty</Copyright>
|
<Copyright>snltty</Copyright>
|
||||||
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
|
<PackageProjectUrl>https://github.com/snltty/linker</PackageProjectUrl>
|
||||||
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
|
<RepositoryUrl>https://github.com/snltty/linker</RepositoryUrl>
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
v1.6.7
|
v1.6.7
|
||||||
2025-02-15 19:05:03
|
2025-02-16 23:25:12
|
||||||
1. 修复首次启动网卡未启动bug
|
1. 修复首次启动网卡未启动bug
|
||||||
2. 自定义网卡名
|
2. 自定义网卡名
|
||||||
3. 可禁用NAT
|
3. 可禁用NAT
|
||||||
4. 修复网卡端口转发BUG
|
4. 修复网卡端口转发BUG
|
||||||
|
5. 显示局域网IP
|
||||||
Reference in New Issue
Block a user