mirror of
https://github.com/2dust/v2rayN.git
synced 2026-02-18 08:13:02 +00:00
Add process to routing domains
https://github.com/2dust/v2rayN/issues/8757
This commit is contained in:
parent
fdb733fa72
commit
bceebc1661
6 changed files with 19 additions and 11 deletions
|
|
@ -1086,7 +1086,19 @@ public class Utils
|
||||||
|
|
||||||
public static string GetExeName(string name)
|
public static string GetExeName(string name)
|
||||||
{
|
{
|
||||||
return IsWindows() ? $"{name}.exe" : name;
|
if (name.IsNullOrEmpty() || IsNonWindows())
|
||||||
|
{
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (name.EndsWith(".exe", StringComparison.OrdinalIgnoreCase))
|
||||||
|
{
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return $"{name}.exe";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsAdministrator()
|
public static bool IsAdministrator()
|
||||||
|
|
|
||||||
|
|
@ -277,7 +277,7 @@ public partial class CoreConfigSingboxService
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_config.TunModeItem.EnableTun && item.Process?.Count > 0)
|
if (item.Process?.Count > 0)
|
||||||
{
|
{
|
||||||
var ruleProcName = JsonUtils.DeepCopy(rule3);
|
var ruleProcName = JsonUtils.DeepCopy(rule3);
|
||||||
ruleProcName.process_name ??= [];
|
ruleProcName.process_name ??= [];
|
||||||
|
|
@ -304,11 +304,7 @@ public partial class CoreConfigSingboxService
|
||||||
}
|
}
|
||||||
|
|
||||||
// sing-box strictly matches the exe suffix on Windows
|
// sing-box strictly matches the exe suffix on Windows
|
||||||
var procName = process;
|
var procName = Utils.GetExeName(process);
|
||||||
if (Utils.IsWindows() && !procName.EndsWith(".exe", StringComparison.OrdinalIgnoreCase))
|
|
||||||
{
|
|
||||||
procName += ".exe";
|
|
||||||
}
|
|
||||||
|
|
||||||
ruleProcName.process_name.Add(procName);
|
ruleProcName.process_name.Add(procName);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -109,7 +109,7 @@ public partial class CoreConfigV2rayService
|
||||||
v2rayConfig.routing.rules.Add(it);
|
v2rayConfig.routing.rules.Add(it);
|
||||||
hasDomainIp = true;
|
hasDomainIp = true;
|
||||||
}
|
}
|
||||||
if (_config.TunModeItem.EnableTun && rule.process?.Count > 0)
|
if (rule.process?.Count > 0)
|
||||||
{
|
{
|
||||||
var it = JsonUtils.DeepCopy(rule);
|
var it = JsonUtils.DeepCopy(rule);
|
||||||
it.domain = null;
|
it.domain = null;
|
||||||
|
|
|
||||||
|
|
@ -106,7 +106,7 @@ public class RoutingRuleSettingViewModel : MyReactiveObject
|
||||||
Network = item.Network,
|
Network = item.Network,
|
||||||
Protocols = Utils.List2String(item.Protocol),
|
Protocols = Utils.List2String(item.Protocol),
|
||||||
InboundTags = Utils.List2String(item.InboundTag),
|
InboundTags = Utils.List2String(item.InboundTag),
|
||||||
Domains = Utils.List2String((item.Domain ?? []).Concat(item.Ip ?? []).ToList()),
|
Domains = Utils.List2String((item.Domain ?? []).Concat(item.Ip ?? []).ToList().Concat(item.Process ?? []).ToList()),
|
||||||
Enabled = item.Enabled,
|
Enabled = item.Enabled,
|
||||||
Remarks = item.Remarks,
|
Remarks = item.Remarks,
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -248,7 +248,7 @@
|
||||||
<DataGridTextColumn
|
<DataGridTextColumn
|
||||||
Width="*"
|
Width="*"
|
||||||
Binding="{Binding Domains}"
|
Binding="{Binding Domains}"
|
||||||
Header="domain / ip" />
|
Header="domain / ip / process" />
|
||||||
</DataGrid.Columns>
|
</DataGrid.Columns>
|
||||||
</DataGrid>
|
</DataGrid>
|
||||||
</TabItem>
|
</TabItem>
|
||||||
|
|
|
||||||
|
|
@ -333,7 +333,7 @@
|
||||||
<DataGridTextColumn
|
<DataGridTextColumn
|
||||||
Width="*"
|
Width="*"
|
||||||
Binding="{Binding Domains}"
|
Binding="{Binding Domains}"
|
||||||
Header="domain / ip" />
|
Header="domain / ip / process" />
|
||||||
</DataGrid.Columns>
|
</DataGrid.Columns>
|
||||||
</DataGrid>
|
</DataGrid>
|
||||||
</TabItem>
|
</TabItem>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue