mirror of
				https://github.com/nsnail/dot.git
				synced 2025-11-04 02:55:28 +08:00 
			
		
		
		
	
							
								
								
									
										27
									
								
								src/IP/Main.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								src/IP/Main.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
				
			|||||||
 | 
					using System.Net.NetworkInformation;
 | 
				
			||||||
 | 
					using System.Net.Sockets;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace Dot.IP;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public sealed class Main : Tool<Option>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public Main(Option opt) : base(opt) { }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public override async Task Run()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        foreach (var item in NetworkInterface.GetAllNetworkInterfaces()) {
 | 
				
			||||||
 | 
					            if (item.NetworkInterfaceType != NetworkInterfaceType.Ethernet ||
 | 
				
			||||||
 | 
					                item.OperationalStatus    != OperationalStatus.Up)
 | 
				
			||||||
 | 
					                continue;
 | 
				
			||||||
 | 
					            foreach (var ip in item.GetIPProperties().UnicastAddresses)
 | 
				
			||||||
 | 
					                if (ip.Address.AddressFamily == AddressFamily.InterNetwork)
 | 
				
			||||||
 | 
					                    Console.WriteLine(@$"{item.Name}: {ip.Address}");
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        using var http = new HttpClient();
 | 
				
			||||||
 | 
					        Console.Write(Str.PublicIP);
 | 
				
			||||||
 | 
					        var str = await http.GetStringAsync("http://httpbin.org/ip");
 | 
				
			||||||
 | 
					        Console.WriteLine(str);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										4
									
								
								src/IP/Option.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								src/IP/Option.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					namespace Dot.IP;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Verb("ip", HelpText = nameof(Str.Ip), ResourceType = typeof(Str))]
 | 
				
			||||||
 | 
					public class Option : IOption { }
 | 
				
			||||||
							
								
								
									
										20
									
								
								src/Lang/Str.Designer.cs
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										20
									
								
								src/Lang/Str.Designer.cs
									
									
									
										generated
									
									
									
								
							@@ -122,6 +122,15 @@ namespace Dot.Lang {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        ///   Looks up a localized string similar to IP工具.
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        public static string Ip {
 | 
				
			||||||
 | 
					            get {
 | 
				
			||||||
 | 
					                return ResourceManager.GetString("Ip", resourceCulture);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        ///   Looks up a localized string similar to Local clock offset.
 | 
					        ///   Looks up a localized string similar to Local clock offset.
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
@@ -203,6 +212,15 @@ namespace Dot.Lang {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        ///   Looks up a localized string similar to Public network ip... .
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        public static string PublicIP {
 | 
				
			||||||
 | 
					            get {
 | 
				
			||||||
 | 
					                return ResourceManager.GetString("PublicIP", resourceCulture);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        ///   Looks up a localized string similar to BitSet 1:[0-9],2:[a-z],4:[A-Z],8:[ascii.0x21-0x2F].
 | 
					        ///   Looks up a localized string similar to BitSet 1:[0-9],2:[a-z],4:[A-Z],8:[ascii.0x21-0x2F].
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
@@ -285,7 +303,7 @@ namespace Dot.Lang {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        ///   Looks up a localized string similar to NTP 标准网络时钟: {0}.
 | 
					        ///   Looks up a localized string similar to 同步本机时间.
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
        public static string ServerTime {
 | 
					        public static string ServerTime {
 | 
				
			||||||
            get {
 | 
					            get {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -122,4 +122,13 @@
 | 
				
			|||||||
    <data name="ClickCopyColor" xml:space="preserve">
 | 
					    <data name="ClickCopyColor" xml:space="preserve">
 | 
				
			||||||
        <value>Click the left mouse button to copy the colors and coordinates to the clipboard</value>
 | 
					        <value>Click the left mouse button to copy the colors and coordinates to the clipboard</value>
 | 
				
			||||||
    </data>
 | 
					    </data>
 | 
				
			||||||
 | 
					    <data name="PublicIP" xml:space="preserve">
 | 
				
			||||||
 | 
					        <value>Public network ip: </value>
 | 
				
			||||||
 | 
					    </data>
 | 
				
			||||||
 | 
					    <data name="ServerTime" xml:space="preserve">
 | 
				
			||||||
 | 
					        <value>Synchronize local time</value>
 | 
				
			||||||
 | 
					    </data>
 | 
				
			||||||
 | 
					    <data name="Ip" xml:space="preserve">
 | 
				
			||||||
 | 
					        <value>IP tools</value>
 | 
				
			||||||
 | 
					    </data>
 | 
				
			||||||
</root>
 | 
					</root>
 | 
				
			||||||
@@ -42,6 +42,9 @@
 | 
				
			|||||||
    <data name="TimeTool" xml:space="preserve">
 | 
					    <data name="TimeTool" xml:space="preserve">
 | 
				
			||||||
        <value>时间同步工具</value>
 | 
					        <value>时间同步工具</value>
 | 
				
			||||||
    </data>
 | 
					    </data>
 | 
				
			||||||
 | 
					    <data name="Ip" xml:space="preserve">
 | 
				
			||||||
 | 
					        <value>IP工具</value>
 | 
				
			||||||
 | 
					    </data>
 | 
				
			||||||
    <data name="ScreenPixelTool" xml:space="preserve">
 | 
					    <data name="ScreenPixelTool" xml:space="preserve">
 | 
				
			||||||
        <value>屏幕坐标颜色选取工具</value>
 | 
					        <value>屏幕坐标颜色选取工具</value>
 | 
				
			||||||
    </data>
 | 
					    </data>
 | 
				
			||||||
@@ -63,7 +66,9 @@
 | 
				
			|||||||
    <data name="SyncToLocalTime" xml:space="preserve">
 | 
					    <data name="SyncToLocalTime" xml:space="preserve">
 | 
				
			||||||
        <value>同步本机时间</value>
 | 
					        <value>同步本机时间</value>
 | 
				
			||||||
    </data>
 | 
					    </data>
 | 
				
			||||||
 | 
					    <data name="ServerTime" xml:space="preserve">
 | 
				
			||||||
 | 
					        <value>同步本机时间</value>
 | 
				
			||||||
 | 
					    </data>
 | 
				
			||||||
    <data name="FolderPath" xml:space="preserve">
 | 
					    <data name="FolderPath" xml:space="preserve">
 | 
				
			||||||
        <value>要处理的目录路径</value>
 | 
					        <value>要处理的目录路径</value>
 | 
				
			||||||
    </data>
 | 
					    </data>
 | 
				
			||||||
@@ -131,4 +136,7 @@
 | 
				
			|||||||
    <data name="ClickCopyColor" xml:space="preserve">
 | 
					    <data name="ClickCopyColor" xml:space="preserve">
 | 
				
			||||||
        <value>单击鼠标左键复制颜色和坐标到剪贴板</value>
 | 
					        <value>单击鼠标左键复制颜色和坐标到剪贴板</value>
 | 
				
			||||||
    </data>
 | 
					    </data>
 | 
				
			||||||
 | 
					    <data name="PublicIP" xml:space="preserve">
 | 
				
			||||||
 | 
					        <value>Public network ip... </value>
 | 
				
			||||||
 | 
					    </data>
 | 
				
			||||||
</root>
 | 
					</root>
 | 
				
			||||||
@@ -15,6 +15,7 @@ public static class ToolsFactory
 | 
				
			|||||||
                 , Guid.Option o    => new Guid.Main(o)
 | 
					                 , Guid.Option o    => new Guid.Main(o)
 | 
				
			||||||
                 , Time.Option o    => new Time.Main(o)
 | 
					                 , Time.Option o    => new Time.Main(o)
 | 
				
			||||||
                 , Color.Option o   => new Color.Main(o)
 | 
					                 , Color.Option o   => new Color.Main(o)
 | 
				
			||||||
 | 
					                 , IP.Option o      => new IP.Main(o)
 | 
				
			||||||
                 , _                => throw new ArgumentOutOfRangeException(nameof(option))
 | 
					                 , _                => throw new ArgumentOutOfRangeException(nameof(option))
 | 
				
			||||||
               };
 | 
					               };
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,7 +7,7 @@
 | 
				
			|||||||
        <ImplicitUsings>enable</ImplicitUsings>
 | 
					        <ImplicitUsings>enable</ImplicitUsings>
 | 
				
			||||||
        <RootNamespace>Dot</RootNamespace>
 | 
					        <RootNamespace>Dot</RootNamespace>
 | 
				
			||||||
        <AssemblyName>dot</AssemblyName>
 | 
					        <AssemblyName>dot</AssemblyName>
 | 
				
			||||||
        <Version>1.1.2</Version>
 | 
					        <Version>1.1.3</Version>
 | 
				
			||||||
        <Authors>nsnail</Authors>
 | 
					        <Authors>nsnail</Authors>
 | 
				
			||||||
        <Copyright>Copyright (c) 2022 nsnail</Copyright>
 | 
					        <Copyright>Copyright (c) 2022 nsnail</Copyright>
 | 
				
			||||||
        <RepositoryUrl>https://github.com/nsnail/dot.git</RepositoryUrl>
 | 
					        <RepositoryUrl>https://github.com/nsnail/dot.git</RepositoryUrl>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user