diff --git a/linker.sln b/linker.sln index 4fe945fa..ab353292 100644 --- a/linker.sln +++ b/linker.sln @@ -59,7 +59,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "linker.messenger.tuntap", " EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "linker.messenger.serializer.aot", "src\linker.messenger.serializer.aot\linker.messenger.serializer.aot.csproj", "{0538DDF8-346F-48DE-84DF-AEF3EEBE03EA}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "linker.app", "linker.app\linker.app.csproj", "{60FFFE21-C8F2-4B3A-BB49-7FA2AE31C2B0}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "linker.app", "src\linker.app\linker.app.csproj", "{60FFFE21-C8F2-4B3A-BB49-7FA2AE31C2B0}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/linker.app/App.xaml b/src/linker.app/App.xaml similarity index 100% rename from linker.app/App.xaml rename to src/linker.app/App.xaml diff --git a/linker.app/App.xaml.cs b/src/linker.app/App.xaml.cs similarity index 100% rename from linker.app/App.xaml.cs rename to src/linker.app/App.xaml.cs diff --git a/linker.app/AppShell.xaml b/src/linker.app/AppShell.xaml similarity index 100% rename from linker.app/AppShell.xaml rename to src/linker.app/AppShell.xaml diff --git a/linker.app/AppShell.xaml.cs b/src/linker.app/AppShell.xaml.cs similarity index 100% rename from linker.app/AppShell.xaml.cs rename to src/linker.app/AppShell.xaml.cs diff --git a/linker.app/MainPage.xaml b/src/linker.app/MainPage.xaml similarity index 100% rename from linker.app/MainPage.xaml rename to src/linker.app/MainPage.xaml diff --git a/linker.app/MainPage.xaml.cs b/src/linker.app/MainPage.xaml.cs similarity index 100% rename from linker.app/MainPage.xaml.cs rename to src/linker.app/MainPage.xaml.cs diff --git a/linker.app/MauiProgram.cs b/src/linker.app/MauiProgram.cs similarity index 100% rename from linker.app/MauiProgram.cs rename to src/linker.app/MauiProgram.cs diff --git a/linker.app/Platforms/Android/AndroidManifest.xml b/src/linker.app/Platforms/Android/AndroidManifest.xml similarity index 100% rename from linker.app/Platforms/Android/AndroidManifest.xml rename to src/linker.app/Platforms/Android/AndroidManifest.xml diff --git a/linker.app/Platforms/Android/MainActivity.cs b/src/linker.app/Platforms/Android/MainActivity.cs similarity index 100% rename from linker.app/Platforms/Android/MainActivity.cs rename to src/linker.app/Platforms/Android/MainActivity.cs diff --git a/linker.app/Platforms/Android/MainApplication.cs b/src/linker.app/Platforms/Android/MainApplication.cs similarity index 100% rename from linker.app/Platforms/Android/MainApplication.cs rename to src/linker.app/Platforms/Android/MainApplication.cs diff --git a/linker.app/Platforms/Android/Resources/values/colors.xml b/src/linker.app/Platforms/Android/Resources/values/colors.xml similarity index 100% rename from linker.app/Platforms/Android/Resources/values/colors.xml rename to src/linker.app/Platforms/Android/Resources/values/colors.xml diff --git a/linker.app/Platforms/MacCatalyst/AppDelegate.cs b/src/linker.app/Platforms/MacCatalyst/AppDelegate.cs similarity index 100% rename from linker.app/Platforms/MacCatalyst/AppDelegate.cs rename to src/linker.app/Platforms/MacCatalyst/AppDelegate.cs diff --git a/linker.app/Platforms/MacCatalyst/Entitlements.plist b/src/linker.app/Platforms/MacCatalyst/Entitlements.plist similarity index 100% rename from linker.app/Platforms/MacCatalyst/Entitlements.plist rename to src/linker.app/Platforms/MacCatalyst/Entitlements.plist diff --git a/linker.app/Platforms/MacCatalyst/Info.plist b/src/linker.app/Platforms/MacCatalyst/Info.plist similarity index 100% rename from linker.app/Platforms/MacCatalyst/Info.plist rename to src/linker.app/Platforms/MacCatalyst/Info.plist diff --git a/linker.app/Platforms/MacCatalyst/Program.cs b/src/linker.app/Platforms/MacCatalyst/Program.cs similarity index 100% rename from linker.app/Platforms/MacCatalyst/Program.cs rename to src/linker.app/Platforms/MacCatalyst/Program.cs diff --git a/linker.app/Platforms/Tizen/Main.cs b/src/linker.app/Platforms/Tizen/Main.cs similarity index 100% rename from linker.app/Platforms/Tizen/Main.cs rename to src/linker.app/Platforms/Tizen/Main.cs diff --git a/linker.app/Platforms/Tizen/tizen-manifest.xml b/src/linker.app/Platforms/Tizen/tizen-manifest.xml similarity index 100% rename from linker.app/Platforms/Tizen/tizen-manifest.xml rename to src/linker.app/Platforms/Tizen/tizen-manifest.xml diff --git a/linker.app/Platforms/Windows/App.xaml b/src/linker.app/Platforms/Windows/App.xaml similarity index 100% rename from linker.app/Platforms/Windows/App.xaml rename to src/linker.app/Platforms/Windows/App.xaml diff --git a/linker.app/Platforms/Windows/App.xaml.cs b/src/linker.app/Platforms/Windows/App.xaml.cs similarity index 100% rename from linker.app/Platforms/Windows/App.xaml.cs rename to src/linker.app/Platforms/Windows/App.xaml.cs diff --git a/linker.app/Platforms/Windows/Package.appxmanifest b/src/linker.app/Platforms/Windows/Package.appxmanifest similarity index 100% rename from linker.app/Platforms/Windows/Package.appxmanifest rename to src/linker.app/Platforms/Windows/Package.appxmanifest diff --git a/linker.app/Platforms/Windows/app.manifest b/src/linker.app/Platforms/Windows/app.manifest similarity index 100% rename from linker.app/Platforms/Windows/app.manifest rename to src/linker.app/Platforms/Windows/app.manifest diff --git a/linker.app/Platforms/iOS/AppDelegate.cs b/src/linker.app/Platforms/iOS/AppDelegate.cs similarity index 100% rename from linker.app/Platforms/iOS/AppDelegate.cs rename to src/linker.app/Platforms/iOS/AppDelegate.cs diff --git a/linker.app/Platforms/iOS/Info.plist b/src/linker.app/Platforms/iOS/Info.plist similarity index 100% rename from linker.app/Platforms/iOS/Info.plist rename to src/linker.app/Platforms/iOS/Info.plist diff --git a/linker.app/Platforms/iOS/Program.cs b/src/linker.app/Platforms/iOS/Program.cs similarity index 100% rename from linker.app/Platforms/iOS/Program.cs rename to src/linker.app/Platforms/iOS/Program.cs diff --git a/linker.app/Properties/launchSettings.json b/src/linker.app/Properties/launchSettings.json similarity index 100% rename from linker.app/Properties/launchSettings.json rename to src/linker.app/Properties/launchSettings.json diff --git a/linker.app/Resources/AppIcon/appicon.svg b/src/linker.app/Resources/AppIcon/appicon.svg similarity index 100% rename from linker.app/Resources/AppIcon/appicon.svg rename to src/linker.app/Resources/AppIcon/appicon.svg diff --git a/linker.app/Resources/AppIcon/appiconfg.svg b/src/linker.app/Resources/AppIcon/appiconfg.svg similarity index 100% rename from linker.app/Resources/AppIcon/appiconfg.svg rename to src/linker.app/Resources/AppIcon/appiconfg.svg diff --git a/linker.app/Resources/Fonts/OpenSans-Regular.ttf b/src/linker.app/Resources/Fonts/OpenSans-Regular.ttf similarity index 100% rename from linker.app/Resources/Fonts/OpenSans-Regular.ttf rename to src/linker.app/Resources/Fonts/OpenSans-Regular.ttf diff --git a/linker.app/Resources/Fonts/OpenSans-Semibold.ttf b/src/linker.app/Resources/Fonts/OpenSans-Semibold.ttf similarity index 100% rename from linker.app/Resources/Fonts/OpenSans-Semibold.ttf rename to src/linker.app/Resources/Fonts/OpenSans-Semibold.ttf diff --git a/linker.app/Resources/Images/dotnet_bot.png b/src/linker.app/Resources/Images/dotnet_bot.png similarity index 100% rename from linker.app/Resources/Images/dotnet_bot.png rename to src/linker.app/Resources/Images/dotnet_bot.png diff --git a/linker.app/Resources/Raw/AboutAssets.txt b/src/linker.app/Resources/Raw/AboutAssets.txt similarity index 100% rename from linker.app/Resources/Raw/AboutAssets.txt rename to src/linker.app/Resources/Raw/AboutAssets.txt diff --git a/linker.app/Resources/Splash/splash.svg b/src/linker.app/Resources/Splash/splash.svg similarity index 100% rename from linker.app/Resources/Splash/splash.svg rename to src/linker.app/Resources/Splash/splash.svg diff --git a/linker.app/Resources/Styles/Colors.xaml b/src/linker.app/Resources/Styles/Colors.xaml similarity index 100% rename from linker.app/Resources/Styles/Colors.xaml rename to src/linker.app/Resources/Styles/Colors.xaml diff --git a/linker.app/Resources/Styles/Styles.xaml b/src/linker.app/Resources/Styles/Styles.xaml similarity index 100% rename from linker.app/Resources/Styles/Styles.xaml rename to src/linker.app/Resources/Styles/Styles.xaml diff --git a/linker.app/linker.app.csproj b/src/linker.app/linker.app.csproj similarity index 100% rename from linker.app/linker.app.csproj rename to src/linker.app/linker.app.csproj diff --git a/linker.app/linker.app.csproj.user b/src/linker.app/linker.app.csproj.user similarity index 100% rename from linker.app/linker.app.csproj.user rename to src/linker.app/linker.app.csproj.user diff --git a/src/linker.doc.web/docs/1、首页.md b/src/linker.doc.web/docs/1、首页.md index e7100d3d..878c64ad 100644 --- a/src/linker.doc.web/docs/1、首页.md +++ b/src/linker.doc.web/docs/1、首页.md @@ -60,5 +60,7 @@ sidebar_position: 1 1. win7 或 win8 可能需要安装一些环境,才能运行 2. Microsoft Visual C++ 2015-2019 Redistributable 3. KB3063858 +4. KB3033929 + ::: diff --git a/src/linker.doc.web/docs/2、首次运行/2.3、安装方法(openwrt).md b/src/linker.doc.web/docs/2、首次运行/2.3、安装方法(openwrt).md index 2c3d649e..40102afb 100644 --- a/src/linker.doc.web/docs/2、首次运行/2.3、安装方法(openwrt).md +++ b/src/linker.doc.web/docs/2、首次运行/2.3、安装方法(openwrt).md @@ -7,4 +7,5 @@ sidebar_position: 2 1. 在 `System(系统)`、`Software(软件包)`、`Update Package(更新列表)`先更新一下 2. 下载对应架构的ipk文件,在`System(系统)`、`Software(软件包)`、`Upload Package(上传软件包)`上传ipk文件安装 3. 如果ui无法安装,或者安装失败,可以尝试使用命令安装,`opkg install --force-overwrite linker-xxx.ipk` 强制安装 +4. 需要 `zlib`,`bash`,`iptables`,`kmod-tun`,`ip-full`,`kmod-ipt-nat`,`libstdcpp`,`libopenssl`,`libopenssl-legacy` ::: \ No newline at end of file diff --git a/src/linker.doc.web/docs/4、通信功能/4.1、虚拟网卡/1.1.2、RRAS.md b/src/linker.doc.web/docs/4、通信功能/4.1、虚拟网卡/1.1.2、RRAS.md index da39e2c3..6012aeff 100644 --- a/src/linker.doc.web/docs/4、通信功能/4.1、虚拟网卡/1.1.2、RRAS.md +++ b/src/linker.doc.web/docs/4、通信功能/4.1、虚拟网卡/1.1.2、RRAS.md @@ -4,15 +4,9 @@ sidebar_position: 4 # 1.1.2、RRAS -:::danger[说明] -1. 操作不当可能会导致网络无法访问,请谨慎操作,最好先创建还原点 -2. 有局限性,创建虚拟网卡后,需要重新`“配置并启用路由和远程访问”` -::: - :::tip[说明] - -1. 在windows server中,你可以选择使用RRAS(Routing and Remote Access Service) 来启用NAT,从而实现点对网 -::: +1. 操作不当可能会导致网络无法访问,请谨慎操作 +2. 有局限性,创建虚拟网卡后,需要重新`“配置并启用路由和远程访问”` ![](./img/rras1.png) ![](./img/rras2.png) @@ -27,7 +21,4 @@ sidebar_position: 4 ![](./img/rras11.png) ![](./img/rras12.png) ![](./img/rras13.png) - -:::danger[说明] -所有步骤已经结束了,没有其它操作 ::: \ No newline at end of file diff --git a/src/linker.doc.web/docs/4、通信功能/4.1、虚拟网卡/1.1.3、ICS.md b/src/linker.doc.web/docs/4、通信功能/4.1、虚拟网卡/1.1.3、ICS.md new file mode 100644 index 00000000..ae140ed8 --- /dev/null +++ b/src/linker.doc.web/docs/4、通信功能/4.1、虚拟网卡/1.1.3、ICS.md @@ -0,0 +1,12 @@ +--- +sidebar_position: 5 +--- + +# 1.1.3、ICS + +:::tip[说明] +1. 操作不当可能会导致网络无法访问,请谨慎操作 + +![](./img/ics1.png) + +::: \ No newline at end of file diff --git a/src/linker.doc.web/docs/4、通信功能/4.1、虚拟网卡/1.2、网对网.md b/src/linker.doc.web/docs/4、通信功能/4.1、虚拟网卡/1.2、网对网.md index bbd982cd..1058b477 100644 --- a/src/linker.doc.web/docs/4、通信功能/4.1、虚拟网卡/1.2、网对网.md +++ b/src/linker.doc.web/docs/4、通信功能/4.1、虚拟网卡/1.2、网对网.md @@ -1,5 +1,5 @@ --- -sidebar_position: 5 +sidebar_position: 6 --- # 1.2、网对网 diff --git a/src/linker.doc.web/docs/4、通信功能/4.1、虚拟网卡/img/ics1.png b/src/linker.doc.web/docs/4、通信功能/4.1、虚拟网卡/img/ics1.png new file mode 100644 index 00000000..fe684f21 Binary files /dev/null and b/src/linker.doc.web/docs/4、通信功能/4.1、虚拟网卡/img/ics1.png differ diff --git a/src/linker.ics/Program.cs b/src/linker.ics/Program.cs new file mode 100644 index 00000000..cad114ee --- /dev/null +++ b/src/linker.ics/Program.cs @@ -0,0 +1,115 @@ +using NETCONLib; +using System; +using System.Text; + +namespace linker.ics +{ + internal class Program + { + static void Main(string[] args) + { + string pulicName = args[0]; + string privateName = args[1]; + string type = args[2]; + StringBuilder sb = new StringBuilder(); + + GetConnections(pulicName, privateName, out INetSharingConfiguration publicCon, out INetSharingConfiguration privateCon); + if (publicCon == null) + { + sb.Append($"{pulicName} public device not found!"); + return; + } + else if (privateCon == null) + { + sb.Append($"{privateName} private device not found!"); + return; + } + else if (type == "enable") + { + try + { + publicCon.EnableSharing(tagSHARINGCONNECTIONTYPE.ICSSHARINGTYPE_PUBLIC); + } + catch (Exception ex) + { + sb.Append($"{ex.Message},may need to be reboot system"); + } + try + { + privateCon.EnableSharing(tagSHARINGCONNECTIONTYPE.ICSSHARINGTYPE_PRIVATE); + } + catch (Exception ex) + { + sb.Append($"{ex.Message},may need to be reboot system"); + } + } + else if (type == "disable") + { + try + { + publicCon.DisableSharing(); + } + catch (Exception ex) + { + sb.Append($"{ex.Message},may need to be reboot system"); + } + try + { + privateCon.DisableSharing(); + } + catch (Exception ex) + { + sb.Append($"{ex.Message},may need to be reboot system"); + } + } + else + { + sb.Append($"{type} command invalid"); + } + + string result = sb.ToString(); + if (string.IsNullOrEmpty(result)) + { + Console.WriteLine($"{type} success"); + } + else + { + Console.WriteLine(result); + } + } + + static void GetConnections(string publicName, string privateName, out INetSharingConfiguration publicCon, out INetSharingConfiguration privateCon) + { + publicCon = null; + privateCon = null; + + try + { + INetSharingManager netSharingManager = new NetSharingManager(); + + foreach (INetConnection connection in netSharingManager.EnumEveryConnection) + { + INetConnectionProps props = netSharingManager.NetConnectionProps[connection]; + INetSharingConfiguration sharingConfig = netSharingManager.INetSharingConfigurationForINetConnection[connection]; + try + { + if (props.Name == publicName) + { + publicCon = sharingConfig; + } + if (props.Name == privateName) + { + privateCon = sharingConfig; + } + } + catch (Exception) + { + } + } + } + catch (Exception) + { + } + } + } +} diff --git a/src/linker.ics/Properties/AssemblyInfo.cs b/src/linker.ics/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..9e8a443a --- /dev/null +++ b/src/linker.ics/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("linker.ics")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("linker.ics")] +[assembly: AssemblyCopyright("Copyright © 2025")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 将 ComVisible 设置为 false 会使此程序集中的类型 +//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("bbe91688-7734-4bef-b957-54f8c17f47ce")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值 +//通过使用 "*",如下所示: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/src/linker.ics/linker.ics.csproj b/src/linker.ics/linker.ics.csproj new file mode 100644 index 00000000..f4e6aea1 --- /dev/null +++ b/src/linker.ics/linker.ics.csproj @@ -0,0 +1,47 @@ + + + + + Debug + AnyCPU + {BBE91688-7734-4BEF-B957-54F8C17F47CE} + Exe + linker.ics + linker.ics + v3.5 + 512 + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/linker.messenger.tuntap/TuntapPingTransfer.cs b/src/linker.messenger.tuntap/TuntapPingTransfer.cs index 0f959d9e..e57786c5 100644 --- a/src/linker.messenger.tuntap/TuntapPingTransfer.cs +++ b/src/linker.messenger.tuntap/TuntapPingTransfer.cs @@ -37,7 +37,7 @@ namespace linker.messenger.tuntap { TimerHelper.SetInterval(async () => { - if (tuntapTransfer.Status == TuntapStatus.Running && lastTicksManager.DiffLessEqual(5000)) + if (tuntapTransfer.Status == TuntapStatus.Running) { await Ping(); } diff --git a/src/linker.tray.win/default.aproj b/src/linker.tray.win/default.aproj index 4fde1c84..3836ce3f 100644 --- a/src/linker.tray.win/default.aproj +++ b/src/linker.tray.win/default.aproj @@ -1,5 +1,5 @@  - + diff --git a/version.txt b/version.txt index dc62c793..a3af0361 100644 --- a/version.txt +++ b/version.txt @@ -1,5 +1,5 @@ v1.6.9 -2025-02-27 15:04:12 +2025-03-01 00:13:17 1. 修复litedb抢锁超时导致客户端登录失败问题 2. 同步信标服务器 3. 其它一些修复优化 \ No newline at end of file