mirror of https://github.com/2dust/v2rayN
auto-disable DNS items with empty NormalDNS on startup
parent
a90fb8eed4
commit
118927e43f
|
@ -2098,18 +2098,38 @@ public class ConfigHandler
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Initialize built-in DNS configurations
|
/// Initialize built-in DNS configurations
|
||||||
/// Creates default DNS items for V2Ray and sing-box
|
/// Creates default DNS items for V2Ray and sing-box
|
||||||
|
/// Also checks existing DNS items and disables those with empty NormalDNS
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="config">Current configuration</param>
|
/// <param name="config">Current configuration</param>
|
||||||
/// <returns>0 if successful</returns>
|
/// <returns>0 if successful</returns>
|
||||||
public static async Task<int> InitBuiltinDNS(Config config)
|
public static async Task<int> InitBuiltinDNS(Config config)
|
||||||
{
|
{
|
||||||
var items = await AppHandler.Instance.DNSItems();
|
var items = await AppHandler.Instance.DNSItems();
|
||||||
|
|
||||||
|
// Check existing DNS items and disable those with empty NormalDNS
|
||||||
|
var needsUpdate = false;
|
||||||
|
foreach (var existingItem in items)
|
||||||
|
{
|
||||||
|
if (existingItem.NormalDNS.IsNullOrEmpty() && existingItem.Enabled)
|
||||||
|
{
|
||||||
|
existingItem.Enabled = false;
|
||||||
|
needsUpdate = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update items if any changes were made
|
||||||
|
if (needsUpdate)
|
||||||
|
{
|
||||||
|
await SQLiteHelper.Instance.UpdateAllAsync(items);
|
||||||
|
}
|
||||||
|
|
||||||
if (items.Count <= 0)
|
if (items.Count <= 0)
|
||||||
{
|
{
|
||||||
var item = new DNSItem()
|
var item = new DNSItem()
|
||||||
{
|
{
|
||||||
Remarks = "V2ray",
|
Remarks = "V2ray",
|
||||||
CoreType = ECoreType.Xray,
|
CoreType = ECoreType.Xray,
|
||||||
|
Enabled = false,
|
||||||
};
|
};
|
||||||
await SaveDNSItems(config, item);
|
await SaveDNSItems(config, item);
|
||||||
|
|
||||||
|
@ -2117,6 +2137,7 @@ public class ConfigHandler
|
||||||
{
|
{
|
||||||
Remarks = "sing-box",
|
Remarks = "sing-box",
|
||||||
CoreType = ECoreType.sing_box,
|
CoreType = ECoreType.sing_box,
|
||||||
|
Enabled = false,
|
||||||
};
|
};
|
||||||
await SaveDNSItems(config, item2);
|
await SaveDNSItems(config, item2);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue