Add custom outbound support (#9817)

* Add custom outbound support

* Add test

* Add inner fmt support

* Full config to outbounds

* Rename to `Outbound`

* AI optimized

* Fix

* Add bind interface placeholder

---------

Co-authored-by: 2dust <31833384+2dust@users.noreply.github.com>
This commit is contained in:
DHR60
2026-08-05 06:25:16 +00:00
committed by GitHub
parent ccf18ba0fb
commit eff584597f
43 changed files with 1364 additions and 367 deletions
@@ -7,6 +7,9 @@ public partial class SubEditViewModel : MyReactiveObject, ICloseable
[Reactive]
public partial SubItem SelectedSource { get; set; }
[Reactive]
public partial string CustomCoreType { get; set; }
public ReactiveCommand<RxVoid, RxVoid> SelectPrevProfileCmd { get; }
public ReactiveCommand<RxVoid, RxVoid> SelectNextProfileCmd { get; }
public ReactiveCommand<RxVoid, RxVoid> SaveCmd { get; }
@@ -39,6 +42,7 @@ public partial class SubEditViewModel : MyReactiveObject, ICloseable
});
SelectedSource = subItem.Id.IsNullOrEmpty() ? subItem : JsonUtils.DeepCopy(subItem);
CustomCoreType = SelectedSource.CustomCoreType?.ToString() ?? string.Empty;
}
private async Task SaveSubAsync()
@@ -67,6 +71,8 @@ public partial class SubEditViewModel : MyReactiveObject, ICloseable
}
}
SelectedSource.CustomCoreType = Enum.TryParse<ECoreType>(CustomCoreType, out var coreType) ? coreType : null;
if (await ConfigHandler.AddSubItem(_config, SelectedSource) == 0)
{
NoticeManager.Instance.Enqueue(ResUI.OperationSuccess);