Release 1.3.0: Hysteria2 BBR/Salamander/masquerade options and subscription URL import.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Navis
2026-07-28 07:26:17 +03:00
co-authored by Cursor
parent 7eaf53f7c2
commit 5d2cb6d76a
18 changed files with 807 additions and 52 deletions
+16
View File
@@ -54,6 +54,8 @@ type uiState struct {
Version string `json:"version"`
Update update.Status `json:"update"`
Pings []netcheck.Result `json:"pings"`
Subscription string `json:"subscription_url"`
Hy2 core.Hy2Options `json:"hy2"`
}
func main() {
@@ -133,6 +135,8 @@ func main() {
mustBind(w, "pingServers", a.pingServers)
mustBind(w, "checkUpdate", a.checkUpdate)
mustBind(w, "applyUpdate", a.applyUpdate)
mustBind(w, "saveHy2", a.saveHy2)
mustBind(w, "importSubscription", a.importSubscription)
go a.autoCheckUpdate()
@@ -190,6 +194,8 @@ func (a *app) getState() (uiState, error) {
Version: update.CurrentVersion,
Update: a.updateStatus,
Pings: append([]netcheck.Result(nil), a.pings...),
Subscription: cfg.SubscriptionURL,
Hy2: a.mgr.ActiveHy2Options(),
}
if out.Protocol == "" {
if p, err := cfg.ActiveProfile(); err == nil {
@@ -274,6 +280,16 @@ func (a *app) installCore() (string, error) {
return strings.Join(parts, " | "), nil
}
func (a *app) saveHy2(opts core.Hy2Options) error {
a.mu.Lock()
defer a.mu.Unlock()
return a.mgr.SaveHy2Options(opts)
}
func (a *app) importSubscription(rawURL string) (int, error) {
return a.mgr.ImportSubscription(rawURL)
}
func (a *app) pingServers() ([]netcheck.Result, error) {
a.mu.Lock()
list := a.mgr.Profiles()