import 'dart:io';
void main() async {
final ipConfig = WindowsIpConfig();
final ip = await ipConfig.getIp();
print("Your IPv4 Address: $ip");
}
// Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPENABLED=TRUE | Select IPAddress
abstract class IpConfig {
final String kLoopbackAddress = "127.0.0.1";
String get command;
List<String> get arguments;
String extractIP(String output);
Future<String> getIp() async {
final prResult = await Process.run(command, arguments);
if (prResult.exitCode == 0) {
return extractIP(prResult.stdout);
}
return "";
}
}
class WindowsIpConfig extends IpConfig {
final _winIpRegExp = RegExp(r'\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b');
@override
List<String> get arguments => [
"-c",
"Get-WmiObject",
" -Class",
"Win32_NetworkAdapterConfiguration",
"-Filter",
"IPENABLED=TRUE",
"|",
"Select",
"IPAddress",
];
@override
String get command => "powershell";
@override
String extractIP(String output) {
return _winIpRegExp.firstMatch(output)!.group(0)!;
}
}
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}