From c5a12185e7d3b33a9b5eec7af211f2cada794218 Mon Sep 17 00:00:00 2001 From: snltty <1069410172@qq.com> Date: Wed, 16 Oct 2024 17:33:41 +0800 Subject: [PATCH] sync --- .../docs/4、通信功能/3.1.1.1、NetNat.md | 4 +- .../docs/4、通信功能/3.1.1、点对网.md | 5 +- linker.gen/InterfaceSourceGenerator.cs | 1 + linker.libs/Helper.cs | 7 -- linker.libs/NetworkHelper.cs | 2 +- linker.web/src/apis/signin.js | 4 + linker.web/src/views/full/devices/List.vue | 4 +- linker.web/src/views/full/devices/Tuntap.vue | 3 + .../src/views/full/devices/TuntapDHCP.vue | 71 +++++++++++ linker.web/src/views/full/devices/tuntap.js | 4 +- linker.web/src/views/full/install/Client.vue | 28 +++-- linker.web/src/views/full/install/Server.vue | 16 +-- linker.web/src/views/full/server/Groups.vue | 118 ++++++++++++++++++ linker.web/src/views/full/server/Index.vue | 13 +- .../src/views/full/server/RelayServers.vue | 2 +- linker.web/src/views/full/server/SForward.vue | 2 +- linker.web/src/views/full/server/Updater.vue | 2 +- .../views/full/status/server/ServerConfig.vue | 28 ++++- .../views/full/status/server/ServerFlow.vue | 22 ++-- linker/config/Config.cs | 2 +- linker/plugins/action/ActionApiController.cs | 5 - linker/plugins/client/ClientSignInTransfer.cs | 63 ++++------ linker/plugins/client/ClientStartup.cs | 6 + .../plugins/client/SignInArgsGroupPassword.cs | 68 ++++++++++ linker/plugins/client/config/Config.cs | 69 ++++++++-- linker/plugins/config/ConfigApiController.cs | 41 +++--- linker/plugins/config/ConfigStartup.cs | 6 + linker/plugins/config/ConfigSyncTreansfer.cs | 87 +++++++++++++ linker/plugins/config/RunningConfig.cs | 23 +--- .../config/messenger/ConfigMessenger.cs | 66 ++-------- .../config/messenger/ConfigMessengerIds.cs | 7 +- .../plugins/forward/proxy/ForwardProxyUdp.cs | 20 +-- linker/plugins/messenger/MessengerStartup.cs | 6 +- linker/plugins/relay/RelayTransfer.cs | 2 +- linker/plugins/relay/config/Config.cs | 10 +- .../relay/transport/TransportSelfHost.cs | 4 +- linker/plugins/server/config/Config.cs | 10 +- linker/plugins/sforward/config/Config.cs | 11 +- .../plugins/sforward/proxy/SForwardProxy.cs | 2 +- linker/plugins/signIn/SignInApiController.cs | 16 ++- .../signIn/messenger/SignInMessenger.cs | 2 +- linker/plugins/tunnel/TunnelAdapter.cs | 4 +- linker/plugins/tuntap/DHCPTreansfer.cs | 22 ++++ linker/plugins/tuntap/client/TuntapProxy.cs | 23 ++-- .../plugins/tuntap/client/TuntapTransfer.cs | 30 +++-- linker/plugins/updater/config/config.cs | 6 +- linker/store/Storefactory.cs | 7 +- version.txt | 2 +- 48 files changed, 681 insertions(+), 275 deletions(-) create mode 100644 linker.web/src/views/full/devices/TuntapDHCP.vue create mode 100644 linker.web/src/views/full/server/Groups.vue create mode 100644 linker/plugins/client/SignInArgsGroupPassword.cs create mode 100644 linker/plugins/config/ConfigSyncTreansfer.cs create mode 100644 linker/plugins/tuntap/DHCPTreansfer.cs diff --git a/linker.doc.web/docs/4、通信功能/3.1.1.1、NetNat.md b/linker.doc.web/docs/4、通信功能/3.1.1.1、NetNat.md index c9bd4cd4..fd463994 100644 --- a/linker.doc.web/docs/4、通信功能/3.1.1.1、NetNat.md +++ b/linker.doc.web/docs/4、通信功能/3.1.1.1、NetNat.md @@ -12,6 +12,8 @@ sidebar_position: 3 4. 在`powershell`尝试运行`2`命令,如果没有报错,运行`3`命令删除,你可以使用NetNat 5. 如果报错,那你需要打开`Hyper-V`功能, `控制面板\程序\启用或关闭 Windows 功能` 6. 确认支持即可,剩下的交给linker -::: ![Docusaurus Plushie](./img/hyper-v.png) +::: + + diff --git a/linker.doc.web/docs/4、通信功能/3.1.1、点对网.md b/linker.doc.web/docs/4、通信功能/3.1.1、点对网.md index df3374b0..8676cb70 100644 --- a/linker.doc.web/docs/4、通信功能/3.1.1、点对网.md +++ b/linker.doc.web/docs/4、通信功能/3.1.1、点对网.md @@ -6,9 +6,10 @@ sidebar_position: 2 :::danger[重要] 1. 你要确定你知道你在搞什么,如果只是简单的P2P通信,上面的内容已经够了,以下的东西不要看,不要看,不要看 -2. 确定要搞,那么请看示意图 +2. 确定要搞,那么请看示意图(仅示例,以下绿色内容与此图无关) ![Docusaurus Plushie](./img/tuntap12n.jpg) + ::: :::tip[1、情况1,你的设备支持NAT转发时] @@ -28,7 +29,7 @@ nat on en0 from 10.18.18.0/24 to any -> (en0) sudo pfctl -f /etc/pf.conf -e ``` -这里我`公司-linux`的局域网IP为`192.168.1.18`,配置完成后,即可访问其所在局域网`192.168.1.18/24`的所有设备 +这里我`公司-linux`的局域网IP为`192.168.1.18`,如图配置,`其它客户端`即可通过`192.168.1.18/24`访问`公司-linux`的所有设备 ![Docusaurus Plushie](./img/tuntap12n-1.png) ![Docusaurus Plushie](./img/tuntap12n-2.png) diff --git a/linker.gen/InterfaceSourceGenerator.cs b/linker.gen/InterfaceSourceGenerator.cs index bb990543..b45c5b31 100644 --- a/linker.gen/InterfaceSourceGenerator.cs +++ b/linker.gen/InterfaceSourceGenerator.cs @@ -21,6 +21,7 @@ namespace linker.gen new GeneratorInfo{ ClassName="StartupTransfer", ClassNameSpace="linker.startup", InterfaceName="linker.startup.IStartup", Instance=true }, new GeneratorInfo{ ClassName="MessengerResolverTypes", ClassNameSpace="linker.plugins.messenger", InterfaceName="linker.plugins.messenger.IMessenger"}, new GeneratorInfo{ ClassName="ApiClientServer", ClassNameSpace="linker.plugins.capi", InterfaceName="linker.plugins.capi.IApiClientController"}, + new GeneratorInfo{ ClassName="ConfigSyncTreansfer", ClassNameSpace="linker.plugins.config", InterfaceName="linker.plugins.config.IConfigSync"}, }; public void Initialize(IncrementalGeneratorInitializationContext context) diff --git a/linker.libs/Helper.cs b/linker.libs/Helper.cs index a8e575ff..59f91881 100644 --- a/linker.libs/Helper.cs +++ b/linker.libs/Helper.cs @@ -21,13 +21,6 @@ namespace linker.libs await Task.Delay(-1, cancellationTokenSource.Token).ConfigureAwait(false); } - static DateTime startTime = new DateTime(1970, 1, 1); - public static long Timestamp() - { - return (long)(DateTime.UtcNow.Subtract(startTime)).TotalMilliseconds; - } - - private delegate bool ConsoleCtrlDelegate(int ctrlType); private static ConsoleCtrlDelegate handler; [DllImport("Kernel32")] diff --git a/linker.libs/NetworkHelper.cs b/linker.libs/NetworkHelper.cs index bfa42780..08bf5c1f 100644 --- a/linker.libs/NetworkHelper.cs +++ b/linker.libs/NetworkHelper.cs @@ -107,7 +107,7 @@ namespace linker.libs for (ushort i = 1; i <= 5; i++) { using Ping pinger = new(); - PingReply reply = pinger.Send(target, 100, Encoding.ASCII.GetBytes("snltty"), new PingOptions { Ttl = i, DontFragment = true }); + PingReply reply = pinger.Send(target, 100, Encoding.ASCII.GetBytes(Helper.GlobalString), new PingOptions { Ttl = i, DontFragment = true }); if (starts.Any(c => reply.Address.ToString().StartsWith(c))) { diff --git a/linker.web/src/apis/signin.js b/linker.web/src/apis/signin.js index 9811947a..cdc2abc1 100644 --- a/linker.web/src/apis/signin.js +++ b/linker.web/src/apis/signin.js @@ -4,6 +4,7 @@ import { sendWebsocketMsg } from './request' export const setSignIn = (data) => { return sendWebsocketMsg('signInclient/set', data); } + export const setSignInServers = (servers) => { return sendWebsocketMsg('signInclient/setservers', servers); } @@ -27,3 +28,6 @@ export const signInDel = (machineId) => { export const setSignInName = (data) => { return sendWebsocketMsg('signInclient/setname', data); } +export const setSignInGroups = (data) => { + return sendWebsocketMsg('signInclient/SetGroups', data); +} \ No newline at end of file diff --git a/linker.web/src/views/full/devices/List.vue b/linker.web/src/views/full/devices/List.vue index 943c1b7c..9712af83 100644 --- a/linker.web/src/views/full/devices/List.vue +++ b/linker.web/src/views/full/devices/List.vue @@ -27,6 +27,7 @@ + @@ -42,6 +43,7 @@ import DeviceEdit from './DeviceEdit.vue' import AccessEdit from './AccessEdit.vue' import Tuntap from './Tuntap.vue' import TuntapEdit from './TuntapEdit.vue' +import TuntapDHCP from './TuntapDHCP.vue' import Tunnel from './Tunnel.vue' import TunnelEdit from './TunnelEdit.vue' import Forward from './Forward.vue' @@ -60,7 +62,7 @@ import { provideDevices } from './devices' import { provideUpdater } from './updater' import { provideAccess } from './access' export default { - components: {Oper,Device,DeviceEdit,AccessEdit,Tunnel,TunnelEdit,ConnectionsEdit, Tuntap,TuntapEdit, Forward,ForwardEdit,ForwardCopy,SForwardEdit,SForwardCopy }, + components: {Oper,Device,DeviceEdit,AccessEdit,Tunnel,TunnelEdit,ConnectionsEdit, Tuntap,TuntapEdit,TuntapDHCP, Forward,ForwardEdit,ForwardCopy,SForwardEdit,SForwardCopy }, setup(props) { const globalData = injectGlobalData(); diff --git a/linker.web/src/views/full/devices/Tuntap.vue b/linker.web/src/views/full/devices/Tuntap.vue index 9fb4cde3..51b0fbfb 100644 --- a/linker.web/src/views/full/devices/Tuntap.vue +++ b/linker.web/src/views/full/devices/Tuntap.vue @@ -1,5 +1,8 @@