From be4891216a0ee257f920ce9a3f1c59e79925fd44 Mon Sep 17 00:00:00 2001 From: Gerhard Tan Date: Sun, 19 Mar 2023 17:35:14 +0800 Subject: [PATCH 1/6] Encrypt config files --- pkg/config/client.go | 19 ++++++- pkg/config/conf.go | 18 ++++++ pkg/config/zip.go | 57 +++++++++++++++++++ pkg/sec/protect.go | 61 ++++++++++++++++++++ pkg/util/file.go | 50 ----------------- services/frp.go | 129 +++++++++++++++++++++++++++++++++++++++++-- services/service.go | 8 ++- ui/conf.go | 22 ++++++-- ui/confview.go | 38 +++++++++---- 9 files changed, 328 insertions(+), 74 deletions(-) create mode 100644 pkg/config/zip.go create mode 100644 pkg/sec/protect.go diff --git a/pkg/config/client.go b/pkg/config/client.go index 07c789e33..cc7934fe0 100644 --- a/pkg/config/client.go +++ b/pkg/config/client.go @@ -3,9 +3,11 @@ package config import ( "bytes" "fmt" + "os" "strings" "github.com/koho/frpmgr/pkg/consts" + "github.com/koho/frpmgr/pkg/sec" "github.com/koho/frpmgr/pkg/util" frputil "github.com/fatedier/frp/pkg/util/util" @@ -305,7 +307,15 @@ func (conf *ClientConfig) Save(path string) error { p.Key(k).SetValue(v) } } - return cfg.SaveTo(path) + buf := &bytes.Buffer{} + if _, err = cfg.WriteTo(buf); err != nil { + return err + } + encrypted, err := sec.Encrypt(buf.Bytes()) + if err != nil { + return err + } + return os.WriteFile(path, encrypted, 0666) } func (conf *ClientConfig) Complete(read bool) { @@ -463,6 +473,13 @@ findSection: } func UnmarshalClientConfFromIni(source interface{}) (*ClientConfig, error) { + if path, ok := source.(string); ok { + data, err := ReadFile(path) + if err != nil { + return nil, err + } + source = data + } conf := NewDefaultClientConfig() cfg, err := ini.LoadSources(ini.LoadOptions{ IgnoreInlineComment: true, diff --git a/pkg/config/conf.go b/pkg/config/conf.go index d340aa9a3..d3a025712 100644 --- a/pkg/config/conf.go +++ b/pkg/config/conf.go @@ -2,9 +2,11 @@ package config import ( "os" + "strings" "time" "github.com/koho/frpmgr/pkg/consts" + "github.com/koho/frpmgr/pkg/sec" "github.com/koho/frpmgr/pkg/util" "gopkg.in/ini.v1" @@ -88,3 +90,19 @@ func Expiry(configPath string, del AutoDelete) (time.Duration, error) { } return 0, os.ErrNoDeadline } + +// ReadFile reads the named file and returns the contents. +// If the file extension is ".dat" then the contents will be decrypted. +func ReadFile(path string) ([]byte, error) { + data, err := os.ReadFile(path) + if err != nil { + return nil, err + } + if strings.HasSuffix(path, ".dat") { + data, err = sec.Decrypt(data) + if err != nil { + return nil, err + } + } + return data, nil +} diff --git a/pkg/config/zip.go b/pkg/config/zip.go new file mode 100644 index 000000000..5e9286d29 --- /dev/null +++ b/pkg/config/zip.go @@ -0,0 +1,57 @@ +package config + +import ( + "archive/zip" + "os" + + "github.com/koho/frpmgr/pkg/util" +) + +// Zip compresses the given config file list to a zip file. +func Zip(filename string, files []string) error { + newZipFile, err := os.Create(filename) + if err != nil { + return err + } + defer newZipFile.Close() + + zipWriter := zip.NewWriter(newZipFile) + defer zipWriter.Close() + + // Add files to zip + for _, file := range files { + if err = addFileToZip(zipWriter, file); err != nil { + return err + } + } + return nil +} + +func addFileToZip(zipWriter *zip.Writer, filename string) error { + info, err := os.Stat(filename) + if err != nil { + return err + } + + header, err := zip.FileInfoHeader(info) + if err != nil { + return err + } + baseName, _ := util.SplitExt(filename) + header.Name = baseName + ".ini" + + // Change to deflate to gain better compression + header.Method = zip.Deflate + + writer, err := zipWriter.CreateHeader(header) + if err != nil { + return err + } + + data, err := ReadFile(filename) + if err != nil { + return err + } + _, err = writer.Write(data) + return err +} diff --git a/pkg/sec/protect.go b/pkg/sec/protect.go new file mode 100644 index 000000000..dc4fc3f8e --- /dev/null +++ b/pkg/sec/protect.go @@ -0,0 +1,61 @@ +package sec + +import ( + "fmt" + "os" + "unsafe" + + "golang.org/x/sys/windows" +) + +var entropy = bytesToBlob([]byte{ + 0x3c, 0x08, 0x7c, 0xa8, 0x13, 0x61, 0xb2, 0x0a, + 0xd1, 0x87, 0x58, 0xcf, 0xa8, 0x2f, 0x10, 0x16, +}) + +func bytesToBlob(bytes []byte) *windows.DataBlob { + blob := &windows.DataBlob{Size: uint32(len(bytes))} + if len(bytes) > 0 { + blob.Data = &bytes[0] + } + return blob +} + +func Encrypt(data []byte) ([]byte, error) { + out := windows.DataBlob{} + err := windows.CryptProtectData(bytesToBlob(data), nil, entropy, 0, nil, + windows.CRYPTPROTECT_LOCAL_MACHINE|windows.CRYPTPROTECT_UI_FORBIDDEN, &out) + if err != nil { + return nil, fmt.Errorf("unable to encrypt DPAPI protected data: %w", err) + } + ret := make([]byte, out.Size) + copy(ret, unsafe.Slice(out.Data, out.Size)) + windows.LocalFree(windows.Handle(unsafe.Pointer(out.Data))) + return ret, nil +} + +func Decrypt(data []byte) ([]byte, error) { + out := windows.DataBlob{} + err := windows.CryptUnprotectData(bytesToBlob(data), nil, entropy, 0, nil, + windows.CRYPTPROTECT_LOCAL_MACHINE|windows.CRYPTPROTECT_UI_FORBIDDEN, &out) + if err != nil { + return nil, fmt.Errorf("unable to decrypt DPAPI protected data: %w", err) + } + ret := make([]byte, out.Size) + copy(ret, unsafe.Slice(out.Data, out.Size)) + windows.LocalFree(windows.Handle(unsafe.Pointer(out.Data))) + return ret, nil +} + +// EncryptFile encrypts the input file and writes to the output file. +func EncryptFile(input string, output string) error { + data, err := os.ReadFile(input) + if err != nil { + return err + } + encrypted, err := Encrypt(data) + if err != nil { + return err + } + return os.WriteFile(output, encrypted, 0666) +} diff --git a/pkg/util/file.go b/pkg/util/file.go index c994c7c9f..524ea5a8e 100644 --- a/pkg/util/file.go +++ b/pkg/util/file.go @@ -1,7 +1,6 @@ package util import ( - "archive/zip" "bufio" "fmt" "io" @@ -101,55 +100,6 @@ func ReadFileLines(path string) ([]string, error) { return lines, nil } -// ZipFiles compresses the given file list to a zip file -func ZipFiles(filename string, files []string) error { - newZipFile, err := os.Create(filename) - if err != nil { - return err - } - defer newZipFile.Close() - - zipWriter := zip.NewWriter(newZipFile) - defer zipWriter.Close() - - // Add files to zip - for _, file := range files { - if err = addFileToZip(zipWriter, file); err != nil { - return err - } - } - return nil -} - -func addFileToZip(zipWriter *zip.Writer, filename string) error { - fileToZip, err := os.Open(filename) - if err != nil { - return err - } - defer fileToZip.Close() - - info, err := fileToZip.Stat() - if err != nil { - return err - } - - header, err := zip.FileInfoHeader(info) - if err != nil { - return err - } - header.Name = filepath.Base(filename) - - // Change to deflate to gain better compression - header.Method = zip.Deflate - - writer, err := zipWriter.CreateHeader(header) - if err != nil { - return err - } - _, err = io.Copy(writer, fileToZip) - return err -} - // CopyFile copy a file from src path to dest path func CopyFile(src string, dest string) (int64, error) { srcStat, err := os.Stat(src) diff --git a/services/frp.go b/services/frp.go index 37a87809c..7909e9616 100644 --- a/services/frp.go +++ b/services/frp.go @@ -1,21 +1,49 @@ package services import ( + "bytes" + "fmt" "os" + "os/signal" + "path/filepath" + "syscall" + "time" "github.com/koho/frpmgr/pkg/config" "github.com/koho/frpmgr/pkg/util" _ "github.com/fatedier/frp/assets/frpc" - frpc "github.com/fatedier/frp/cmd/frpc/sub" + "github.com/fatedier/frp/client" frpconfig "github.com/fatedier/frp/pkg/config" "github.com/fatedier/frp/pkg/util/log" ) -func runFrpClient() { - // Change program arguments for frpc to parse - // No need to change it for now - frpc.Execute() +func runFrpClient(data []byte) { + cfg, pxyCfgs, visitorCfgs, err := parseClientConfig(data) + if err != nil { + return + } + log.InitLog(cfg.LogWay, cfg.LogFile, cfg.LogLevel, + cfg.LogMaxDays, cfg.DisableLogColor) + + svr, errRet := client.NewService(cfg, pxyCfgs, visitorCfgs, "") + if errRet != nil { + err = errRet + return + } + + closedDoneCh := make(chan struct{}) + shouldGracefulClose := cfg.Protocol == "kcp" || cfg.Protocol == "quic" + // Capture the exit signal if we use kcp or quic. + if shouldGracefulClose { + go handleSignal(svr, closedDoneCh) + } + + err = svr.Run() + if err == nil && shouldGracefulClose { + <-closedDoneCh + } + return } func deleteFrpConfig(serviceName string, configPath string, c config.Config) { @@ -42,7 +70,11 @@ func deleteFrpConfig(serviceName string, configPath string, c config.Config) { // VerifyClientConfig validates the frp client config file func VerifyClientConfig(path string) (err error) { - _, _, _, err = frpconfig.ParseClientConfig(path) + data, err := config.ReadFile(path) + if err != nil { + return err + } + _, _, _, err = parseClientConfig(data) return } @@ -51,3 +83,88 @@ func VerifyClientProxy(source []byte) (err error) { _, _, err = frpconfig.LoadAllProxyConfsFromIni("", source, nil) return } + +func parseClientConfig(data []byte) ( + cfg frpconfig.ClientCommonConf, + pxyCfgs map[string]frpconfig.ProxyConf, + visitorCfgs map[string]frpconfig.VisitorConf, + err error, +) { + var content []byte + content, err = frpconfig.RenderContent(data) + if err != nil { + return + } + configBuffer := bytes.NewBuffer(nil) + configBuffer.Write(content) + + // Parse common section. + cfg, err = frpconfig.UnmarshalClientConfFromIni(content) + if err != nil { + return + } + cfg.Complete() + if err = cfg.Validate(); err != nil { + err = fmt.Errorf("parse config error: %v", err) + return + } + + // Aggregate proxy configs from include files. + var buf []byte + buf, err = getIncludeContents(cfg.IncludeConfigFiles) + if err != nil { + err = fmt.Errorf("getIncludeContents error: %v", err) + return + } + configBuffer.WriteString("\n") + configBuffer.Write(buf) + + // Parse all proxy and visitor configs. + pxyCfgs, visitorCfgs, err = frpconfig.LoadAllProxyConfsFromIni(cfg.User, configBuffer.Bytes(), cfg.Start) + if err != nil { + return + } + return +} + +func handleSignal(svr *client.Service, doneCh chan struct{}) { + ch := make(chan os.Signal, 1) + signal.Notify(ch, syscall.SIGINT, syscall.SIGTERM) + <-ch + svr.GracefulClose(500 * time.Millisecond) + close(doneCh) +} + +// getIncludeContents renders all configs from paths. +// files format can be a single file path or directory or regex path. +func getIncludeContents(paths []string) ([]byte, error) { + out := bytes.NewBuffer(nil) + for _, path := range paths { + absDir, err := filepath.Abs(filepath.Dir(path)) + if err != nil { + return nil, err + } + if _, err := os.Stat(absDir); os.IsNotExist(err) { + return nil, err + } + files, err := os.ReadDir(absDir) + if err != nil { + return nil, err + } + for _, fi := range files { + if fi.IsDir() { + continue + } + absFile := filepath.Join(absDir, fi.Name()) + if matched, _ := filepath.Match(filepath.Join(absDir, filepath.Base(path)), absFile); matched { + tmpContent, err := frpconfig.GetRenderedConfFromFile(absFile) + if err != nil { + return nil, fmt.Errorf("render extra config %s error: %v", absFile, err) + } + out.Write(tmpContent) + out.WriteString("\n") + } + } + } + return out.Bytes(), nil +} diff --git a/services/service.go b/services/service.go index 9fe0e06a4..ed2af11af 100644 --- a/services/service.go +++ b/services/service.go @@ -40,7 +40,11 @@ func (service *frpService) Execute(args []string, r <-chan svc.ChangeRequest, ch log.Println("Shutting down") }() - cc, err := config.UnmarshalClientConfFromIni(service.configPath) + data, err := config.ReadFile(service.configPath) + if err != nil { + return + } + cc, err := config.UnmarshalClientConfFromIni(data) if err != nil { return } @@ -59,7 +63,7 @@ func (service *frpService) Execute(args []string, r <-chan svc.ChangeRequest, ch return } - go runFrpClient() + go runFrpClient(data) changes <- svc.Status{State: svc.Running, Accepts: svc.AcceptStop | svc.AcceptShutdown} log.Println("Startup complete") diff --git a/ui/conf.go b/ui/conf.go index 2e991937e..a32d30706 100644 --- a/ui/conf.go +++ b/ui/conf.go @@ -3,6 +3,7 @@ package ui import ( "os" "path/filepath" + "strings" "sync" "github.com/koho/frpmgr/pkg/config" @@ -64,8 +65,17 @@ func (conf *Conf) Delete() (bool, error) { // Save config to the disk. The config will be completed before saving func (conf *Conf) Save() error { conf.Data.Complete(false) - conf.Path = PathOfConf(conf.Name + ".ini") - return conf.Data.Save(conf.Path) + oldPath := conf.Path + conf.Path = PathOfConf(conf.Name + ".dat") + if err := conf.Data.Save(conf.Path); err != nil { + return err + } + // If the config is loaded from a ".ini" file, we should + // delete this file because an encrypted file is written. + if strings.HasSuffix(oldPath, ".ini") { + _ = os.Remove(oldPath) + } + return nil } var ( @@ -84,12 +94,16 @@ var ( func loadAllConfs() error { _ = config.UnmarshalAppConfFromIni(config.DefaultAppFile, &appConf) // Find all config files in `profiles` directory - files, err := filepath.Glob(PathOfConf("*.ini")) + datFiles, err := filepath.Glob(PathOfConf("*.dat")) + if err != nil { + return err + } + iniFiles, err := filepath.Glob(PathOfConf("*.ini")) if err != nil { return err } confList = make([]*Conf, 0) - for _, f := range files { + for _, f := range append(datFiles, iniFiles...) { c := NewConf(f, nil) if conf, err := config.UnmarshalClientConfFromIni(f); err == nil { c.Data = conf diff --git a/ui/confview.go b/ui/confview.go index e4840e38d..c9e668cc1 100644 --- a/ui/confview.go +++ b/ui/confview.go @@ -13,6 +13,7 @@ import ( "github.com/koho/frpmgr/pkg/config" "github.com/koho/frpmgr/pkg/consts" "github.com/koho/frpmgr/pkg/layout" + "github.com/koho/frpmgr/pkg/sec" "github.com/koho/frpmgr/pkg/util" "github.com/lxn/walk" @@ -276,7 +277,12 @@ func (cv *ConfView) onURLImport() { showError(err, cv.Form()) continue } - if err = os.WriteFile(newPath, item.Data, 0666); err != nil { + encrypted, err := sec.Encrypt(item.Data) + if err != nil { + showError(err, cv.Form()) + continue + } + if err = os.WriteFile(newPath, encrypted, 0666); err != nil { showError(err, cv.Form()) continue } @@ -292,15 +298,21 @@ func (cv *ConfView) onURLImport() { func (cv *ConfView) checkConfName(filename string, rename bool) (string, bool) { suffix := "" checkName: - newPath := PathOfConf(util.AddFileSuffix(filename, suffix)) - if _, err := os.Stat(newPath); err == nil { - if rename { - suffix = "_" + funk.RandomString(4) - goto checkName + // The config file has two different extensions. + // We should make sure none of these files exist. + baseName, _ := util.SplitExt(filename) + datPath := PathOfConf(util.AddFileSuffix(baseName+".dat", suffix)) + iniPath := PathOfConf(util.AddFileSuffix(baseName+".ini", suffix)) + for _, path := range []string{datPath, iniPath} { + if _, err := os.Stat(path); err == nil { + if rename { + suffix = "_" + funk.RandomString(4) + goto checkName + } + return path, false } - return newPath, false } - return newPath, true + return datPath, true } func (cv *ConfView) onFileImport() { @@ -352,7 +364,7 @@ func (cv *ConfView) ImportFiles(files []string) { showError(err, cv.Form()) continue } - if _, err = util.CopyFile(path, newPath); err != nil { + if err = sec.EncryptFile(path, newPath); err != nil { showError(err, cv.Form()) continue } @@ -388,7 +400,11 @@ func (cv *ConfView) importZip(path string, data []byte, rename bool) (total, imp return err } defer fw.Close() - if _, err = fw.Write(src); err != nil { + encrypted, err := sec.Encrypt(src) + if err != nil { + return err + } + if _, err = fw.Write(encrypted); err != nil { return err } addConf(NewConf(dst, conf)) @@ -521,7 +537,7 @@ func (cv *ConfView) onExport() { files := funk.Map(confList, func(conf *Conf) string { return conf.Path }) - if err := util.ZipFiles(dlg.FilePath, files.([]string)); err != nil { + if err := config.Zip(dlg.FilePath, files.([]string)); err != nil { showError(err, cv.Form()) } } From b903acdaf92270cb74886bb9b23822e6b8fc21ed Mon Sep 17 00:00:00 2001 From: Gerhard Tan Date: Fri, 24 Mar 2023 16:14:09 +0800 Subject: [PATCH 2/6] Remove the open button --- cmd/frpmgr/resource.h | 1 - cmd/frpmgr/resource.rc | 1 - i18n/catalog.go | 1551 +++++++++++------------ i18n/locales/en-US/messages.gotext.json | 28 - i18n/locales/es-ES/messages.gotext.json | 20 - i18n/locales/ja-JP/messages.gotext.json | 20 - i18n/locales/ko-KR/messages.gotext.json | 20 - i18n/locales/zh-CN/messages.gotext.json | 20 - i18n/locales/zh-TW/messages.gotext.json | 20 - icon/open.ico | Bin 48480 -> 0 bytes pkg/consts/res.go | 1 - pkg/sec/protect_test.go | 21 + ui/confview.go | 21 - ui/proxyview.go | 44 - 14 files changed, 790 insertions(+), 978 deletions(-) delete mode 100644 icon/open.ico create mode 100644 pkg/sec/protect_test.go diff --git a/cmd/frpmgr/resource.h b/cmd/frpmgr/resource.h index 27181d8ac..ea0ecb085 100644 --- a/cmd/frpmgr/resource.h +++ b/cmd/frpmgr/resource.h @@ -3,7 +3,6 @@ #define IDI_APP 7 #define IDI_DOT 21 -#define IDI_OPEN 22 #define IDI_REFRESH 23 #define IDI_COPY 24 #define IDI_COPY_ACT 25 diff --git a/cmd/frpmgr/resource.rc b/cmd/frpmgr/resource.rc index 75cc2c9c6..0569cf446 100644 --- a/cmd/frpmgr/resource.rc +++ b/cmd/frpmgr/resource.rc @@ -10,7 +10,6 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST manifest.xml IDI_APP ICON icon/app.ico IDI_DOT ICON icon/dot.ico -IDI_OPEN ICON icon/open.ico IDI_REFRESH ICON icon/refresh.ico IDI_COPY ICON icon/copy.ico IDI_COPY_ACT ICON icon/copy_act.ico diff --git a/i18n/catalog.go b/i18n/catalog.go index 6f16c7bf4..bc7f781b6 100644 --- a/i18n/catalog.go +++ b/i18n/catalog.go @@ -43,240 +43,236 @@ func init() { } var messageKeyToIndex = map[string]int{ - "* Leave blank to record no log and delete the original log file.": 69, - "* Refer to the [common] section of the FRP configuration file.": 116, - "* Refer to the parameters supported by FRP.": 162, - "* Support batch import, one link per line.": 215, - "A selection is required.": 230, + "* Leave blank to record no log and delete the original log file.": 67, + "* Refer to the [common] section of the FRP configuration file.": 114, + "* Refer to the parameters supported by FRP.": 160, + "* Support batch import, one link per line.": 211, + "A selection is required.": 226, "About": 15, - "Absolute": 81, - "Add": 179, - "Admin": 74, - "Admin Address": 75, - "Admin Port": 76, - "Advanced": 107, - "All": 34, + "Absolute": 79, + "Add": 177, + "Admin": 72, + "Admin Address": 73, + "Admin Port": 74, + "Advanced": 105, + "All": 32, "All Files": 3, "An error occurred while checking for a software update.": 21, - "Another config already exists with the name \"%s\".": 46, - "Are you sure you would like to delete config \"%s\"?": 49, - "Are you sure you would like to delete proxy \"%s\"?": 209, - "Are you sure you would like to disable proxy \"%s\"?": 211, - "Assets": 78, - "Audience": 62, - "Auth": 57, - "Auth Method": 58, - "Authentication": 65, - "Auto Delete": 80, - "Bandwidth": 139, - "Basic": 52, - "Bind Address": 129, - "Bind Port": 130, + "Another config already exists with the name \"%s\".": 44, + "Are you sure you would like to delete config \"%s\"?": 47, + "Are you sure you would like to delete proxy \"%s\"?": 205, + "Are you sure you would like to disable proxy \"%s\"?": 207, + "Assets": 76, + "Audience": 60, + "Auth": 55, + "Auth Method": 56, + "Authentication": 63, + "Auto Delete": 78, + "Bandwidth": 137, + "Basic": 50, + "Bind Address": 127, + "Bind Port": 128, "Built on: %s": 2, "Cancel": 24, - "Certificate": 101, + "Certificate": 99, "Certificate Files": 5, - "Certificate Key": 103, - "Change Password": 186, - "Check Interval": 161, - "Check Timeout": 159, - "Check Type": 158, + "Certificate Key": 101, + "Change Password": 184, + "Check Interval": 159, + "Check Timeout": 157, + "Check Type": 156, "Check for updates": 18, "Checking for updates": 17, - "Client": 137, - "Common Only": 35, - "Compression": 143, - "Config already exists": 117, + "Client": 135, + "Common Only": 33, + "Compression": 141, + "Config already exists": 115, "Config already removed": 28, "Configuration": 25, "Configuration Files": 4, - "Connection": 86, - "Copy": 174, - "Copy Access Address": 207, - "Copy Share Link": 39, - "Create a Copy": 33, - "Custom": 114, - "Custom Domains": 133, - "Custom Options": 115, - "Days": 85, - "Defaults": 191, - "Define the default value when creating a new configuration.\nThe value here will not affect the existing configuration.": 192, - "Delete": 41, - "Delete Date": 83, - "Delete Days": 84, - "Delete config \"%s\"": 48, - "Delete proxy \"%s\"": 208, - "Dial Timeout": 94, - "Direct Edit": 205, - "Disable": 212, - "Disable auto-start at boot": 113, - "Disable proxy \"%s\"": 210, - "Domains": 206, - "Download": 219, + "Connection": 84, + "Copy": 172, + "Copy Access Address": 203, + "Copy Share Link": 37, + "Create a Copy": 31, + "Custom": 112, + "Custom Domains": 131, + "Custom Options": 113, + "Days": 83, + "Defaults": 189, + "Define the default value when creating a new configuration.\nThe value here will not affect the existing configuration.": 190, + "Delete": 39, + "Delete Date": 81, + "Delete Days": 82, + "Delete config \"%s\"": 46, + "Delete proxy \"%s\"": 204, + "Dial Timeout": 92, + "Disable": 208, + "Disable auto-start at boot": 111, + "Disable proxy \"%s\"": 206, + "Domains": 202, + "Download": 215, "Download updates": 16, "Edit": 30, - "Edit Client - %s": 51, - "Edit Proxy - %s": 120, - "Empty": 141, - "Enable": 203, - "Encryption": 142, - "Enter Administration Password": 222, - "Enter Password": 220, - "Exit after login failure": 112, - "Export All Configs to ZIP": 40, - "FRP Manager": 214, + "Edit Client - %s": 49, + "Edit Proxy - %s": 118, + "Empty": 139, + "Enable": 201, + "Encryption": 140, + "Enter Administration Password": 218, + "Enter Password": 216, + "Exit after login failure": 110, + "Export All Configs to ZIP": 38, + "FRP Manager": 210, "FRP version: %s": 1, - "Failure Count": 160, + "Failure Count": 158, "For FRP configuration documentation, please visit the FRP project page:": 20, "For comments or to report bugs, please visit the project page:": 19, - "Group": 155, - "Group Key": 156, - "HTTP File Server": 202, - "HTTP Password": 145, - "HTTP Proxy": 88, - "HTTP User": 144, - "Health Check": 157, - "Heart Beats": 66, - "Heartbeat": 90, - "Host Name": 100, - "Host Rewrite": 146, - "Idle Timeout": 96, - "Import Config": 44, + "Group": 153, + "Group Key": 154, + "HTTP File Server": 200, + "HTTP Password": 143, + "HTTP Proxy": 86, + "HTTP User": 142, + "Health Check": 155, + "Heart Beats": 64, + "Heartbeat": 88, + "Host Name": 98, + "Host Rewrite": 144, + "Idle Timeout": 94, + "Import Config": 42, "Import Config from File": 27, - "Import from Clipboard": 38, - "Import from File": 36, - "Import from URL": 37, - "Imported %d of %d configs.": 45, - "Interval": 91, - "Invalid Input": 224, - "Keepalive": 95, + "Import from Clipboard": 36, + "Import from File": 34, + "Import from URL": 35, + "Imported %d of %d configs.": 43, + "Interval": 89, + "Invalid Input": 220, + "Keepalive": 93, "Key Files": 6, - "Languages": 187, - "Latest": 166, - "Level": 72, - "Load Balance": 154, - "Local Address": 126, - "Local Directory": 178, - "Local Path": 151, - "Local Port": 127, - "Locations": 134, - "Log": 68, - "Log File": 70, + "Languages": 185, + "Latest": 164, + "Level": 70, + "Load Balance": 152, + "Local Address": 124, + "Local Directory": 176, + "Local Path": 149, + "Local Port": 125, + "Locations": 132, + "Log": 66, + "Log File": 68, "Log Files": 7, - "Log Level": 198, - "Log retention": 199, - "Manual Settings": 43, - "Master password": 183, - "Max Days": 73, - "Max Streams": 97, - "Multiplexer": 135, - "Mux Keepalive": 109, - "Name": 53, - "New Client": 50, - "New Config": 42, + "Log Level": 196, + "Log retention": 197, + "Manual Settings": 41, + "Master password": 181, + "Max Days": 71, + "Max Streams": 95, + "Multiplexer": 133, + "Mux Keepalive": 107, + "Name": 51, + "New Client": 48, + "New Config": 40, "New Configuration": 26, - "New Proxy": 119, + "New Proxy": 117, "New Version!": 14, - "New master password": 195, - "None": 59, + "New master password": 193, + "None": 57, "Not a number": 12, "Number out of allowed range": 8, "OK": 23, - "Off": 99, - "On": 98, - "Open Config": 204, - "Open File": 31, - "Open Log Folder": 165, - "Open Port": 181, - "Other Options": 111, - "Passive Port Range": 213, - "Password": 77, - "Password is set.": 197, + "Off": 97, + "On": 96, + "Open Log Folder": 163, + "Open Port": 179, + "Other Options": 109, + "Passive Port Range": 209, + "Password": 75, + "Password is set.": 195, "Password mismatch": 10, - "Password removed.": 194, + "Password removed.": 192, "Please check and try again.": 11, - "Please enter a number from %.f to %.f.": 225, - "Please enter a number from %s to %s.": 226, + "Please enter a number from %.f to %.f.": 221, + "Please enter a number from %s to %s.": 222, "Please enter a number greater than %d.": 9, "Please enter a valid number.": 13, - "Please enter the correct URL list.": 218, - "Please select one of the provided options.": 229, - "Plugin": 147, - "Plugin Name": 148, - "Pool Count": 89, - "Port": 180, - "Preferences": 182, - "Protocol": 87, - "Proxy Version": 140, - "Proxy already exists": 163, - "Quick Add": 200, - "Random": 121, - "Re-enter password": 196, - "Ready": 217, - "Relative": 82, - "Remote Address": 173, - "Remote Desktop": 201, - "Remote Port": 128, - "Rename automatically": 216, - "Role": 123, - "Route User": 136, - "Running": 168, - "Scope": 63, - "Secret": 61, - "Secret Key": 125, - "Select Certificate File": 102, - "Select Certificate Key File": 104, - "Select Log File": 71, - "Select Trusted CA File": 106, - "Select Unix Path": 150, - "Select a folder for directory listing.": 152, - "Select a local directory that the admin server will load resources from.": 79, - "Select language": 190, - "Selection Required": 228, - "Server": 138, - "Server Address": 54, - "Server Name": 131, - "Server Port": 55, - "Service": 176, - "Set Defaults": 193, - "Show in Folder": 32, - "Source Address": 110, - "Start": 175, - "Starting": 170, - "Status": 172, - "Stop": 177, - "Stopped": 169, - "Stopping": 171, - "Strip Prefix": 153, - "Subdomain": 132, - "TCP Mux": 108, + "Please enter the correct URL list.": 214, + "Please select one of the provided options.": 225, + "Plugin": 145, + "Plugin Name": 146, + "Pool Count": 87, + "Port": 178, + "Preferences": 180, + "Protocol": 85, + "Proxy Version": 138, + "Proxy already exists": 161, + "Quick Add": 198, + "Random": 119, + "Re-enter password": 194, + "Ready": 213, + "Relative": 80, + "Remote Address": 171, + "Remote Desktop": 199, + "Remote Port": 126, + "Rename automatically": 212, + "Role": 121, + "Route User": 134, + "Running": 166, + "Scope": 61, + "Secret": 59, + "Secret Key": 123, + "Select Certificate File": 100, + "Select Certificate Key File": 102, + "Select Log File": 69, + "Select Trusted CA File": 104, + "Select Unix Path": 148, + "Select a folder for directory listing.": 150, + "Select a local directory that the admin server will load resources from.": 77, + "Select language": 188, + "Selection Required": 224, + "Server": 136, + "Server Address": 52, + "Server Name": 129, + "Server Port": 53, + "Service": 174, + "Set Defaults": 191, + "Source Address": 108, + "Start": 173, + "Starting": 168, + "Status": 170, + "Stop": 175, + "Stopped": 167, + "Stopping": 169, + "Strip Prefix": 151, + "Subdomain": 130, + "TCP Mux": 106, "The config \"%s\" already removed.": 29, - "The config name \"%s\" already exists.": 118, - "The current display language is": 188, - "The file \"%s\" is not a valid ZIP file.": 47, - "The password is incorrect. Re-enter password.": 223, - "The proxy name \"%s\" already exists.": 164, - "The text does not match the required pattern.": 227, + "The config name \"%s\" already exists.": 116, + "The current display language is": 186, + "The file \"%s\" is not a valid ZIP file.": 45, + "The password is incorrect. Re-enter password.": 219, + "The proxy name \"%s\" already exists.": 162, + "The text does not match the required pattern.": 223, "There are currently no updates available.": 22, - "Timeout": 93, - "Token": 60, - "Token Endpoint": 64, - "Trusted CA": 105, - "Type": 122, - "Unix Path": 149, - "Unknown": 167, - "Use master password": 185, - "User": 56, + "Timeout": 91, + "Token": 58, + "Token Endpoint": 62, + "Trusted CA": 103, + "Type": 120, + "Unix Path": 147, + "Unknown": 165, + "Use master password": 183, + "User": 54, "Version: %s": 0, - "Visitor": 124, - "Work Conns": 67, - "You can set a password to restrict access to this program.\nYou will be asked to enter it the next time you use this program.": 184, - "You must enter an administration password to operate the %s.": 221, - "You must restart program to apply the modification.": 189, - "s": 92, + "Visitor": 122, + "Work Conns": 65, + "You can set a password to restrict access to this program.\nYou will be asked to enter it the next time you use this program.": 182, + "You must enter an administration password to operate the %s.": 217, + "You must restart program to apply the modification.": 187, + "s": 90, } -var en_USIndex = []uint32{ // 232 elements +var en_USIndex = []uint32{ // 228 elements // Entry 0 - 1F 0x00000000, 0x0000000f, 0x00000022, 0x00000032, 0x0000003c, 0x00000050, 0x00000062, 0x0000006c, @@ -287,65 +283,64 @@ var en_USIndex = []uint32{ // 232 elements 0x0000024b, 0x00000252, 0x00000260, 0x00000272, 0x0000028a, 0x000002a1, 0x000002c5, 0x000002ca, // Entry 20 - 3F - 0x000002d4, 0x000002e3, 0x000002f1, 0x000002f5, - 0x00000301, 0x00000312, 0x00000322, 0x00000338, - 0x00000348, 0x00000362, 0x00000369, 0x00000374, - 0x00000384, 0x00000392, 0x000003b3, 0x000003e8, - 0x00000412, 0x00000428, 0x0000045e, 0x00000469, - 0x0000047d, 0x00000483, 0x00000488, 0x00000497, - 0x000004a3, 0x000004a8, 0x000004ad, 0x000004b9, - 0x000004be, 0x000004c4, 0x000004cb, 0x000004d4, + 0x000002d8, 0x000002dc, 0x000002e8, 0x000002f9, + 0x00000309, 0x0000031f, 0x0000032f, 0x00000349, + 0x00000350, 0x0000035b, 0x0000036b, 0x00000379, + 0x0000039a, 0x000003cf, 0x000003f9, 0x0000040f, + 0x00000445, 0x00000450, 0x00000464, 0x0000046a, + 0x0000046f, 0x0000047e, 0x0000048a, 0x0000048f, + 0x00000494, 0x000004a0, 0x000004a5, 0x000004ab, + 0x000004b2, 0x000004bb, 0x000004c1, 0x000004d0, // Entry 40 - 5F - 0x000004da, 0x000004e9, 0x000004f8, 0x00000504, - 0x0000050f, 0x00000513, 0x00000554, 0x0000055d, - 0x0000056d, 0x00000573, 0x0000057c, 0x00000582, - 0x00000590, 0x0000059b, 0x000005a4, 0x000005ab, - 0x000005f4, 0x00000600, 0x00000609, 0x00000612, - 0x0000061e, 0x0000062a, 0x0000062f, 0x0000063a, - 0x00000643, 0x0000064e, 0x00000659, 0x00000663, - 0x0000066c, 0x0000066e, 0x00000676, 0x00000683, + 0x000004df, 0x000004eb, 0x000004f6, 0x000004fa, + 0x0000053b, 0x00000544, 0x00000554, 0x0000055a, + 0x00000563, 0x00000569, 0x00000577, 0x00000582, + 0x0000058b, 0x00000592, 0x000005db, 0x000005e7, + 0x000005f0, 0x000005f9, 0x00000605, 0x00000611, + 0x00000616, 0x00000621, 0x0000062a, 0x00000635, + 0x00000640, 0x0000064a, 0x00000653, 0x00000655, + 0x0000065d, 0x0000066a, 0x00000674, 0x00000681, // Entry 60 - 7F - 0x0000068d, 0x0000069a, 0x000006a6, 0x000006a9, - 0x000006ad, 0x000006b7, 0x000006c3, 0x000006db, - 0x000006eb, 0x00000707, 0x00000712, 0x00000729, - 0x00000732, 0x0000073a, 0x00000748, 0x00000757, - 0x00000765, 0x0000077e, 0x00000799, 0x000007a0, - 0x000007af, 0x000007ee, 0x00000804, 0x0000082c, - 0x00000836, 0x00000849, 0x00000850, 0x00000855, - 0x0000085a, 0x00000862, 0x0000086d, 0x0000087b, + 0x0000068d, 0x00000690, 0x00000694, 0x0000069e, + 0x000006aa, 0x000006c2, 0x000006d2, 0x000006ee, + 0x000006f9, 0x00000710, 0x00000719, 0x00000721, + 0x0000072f, 0x0000073e, 0x0000074c, 0x00000765, + 0x00000780, 0x00000787, 0x00000796, 0x000007d5, + 0x000007eb, 0x00000813, 0x0000081d, 0x00000830, + 0x00000837, 0x0000083c, 0x00000841, 0x00000849, + 0x00000854, 0x00000862, 0x0000086d, 0x00000879, // Entry 80 - 9F - 0x00000886, 0x00000892, 0x0000089f, 0x000008a9, - 0x000008b5, 0x000008bf, 0x000008ce, 0x000008d8, - 0x000008e4, 0x000008ef, 0x000008f6, 0x000008fd, - 0x00000907, 0x00000915, 0x0000091b, 0x00000926, - 0x00000932, 0x0000093c, 0x0000094a, 0x00000957, - 0x0000095e, 0x0000096a, 0x00000974, 0x00000985, - 0x00000990, 0x000009b7, 0x000009c4, 0x000009d1, - 0x000009d7, 0x000009e1, 0x000009ee, 0x000009f9, + 0x00000886, 0x00000890, 0x0000089c, 0x000008a6, + 0x000008b5, 0x000008bf, 0x000008cb, 0x000008d6, + 0x000008dd, 0x000008e4, 0x000008ee, 0x000008fc, + 0x00000902, 0x0000090d, 0x00000919, 0x00000923, + 0x00000931, 0x0000093e, 0x00000945, 0x00000951, + 0x0000095b, 0x0000096c, 0x00000977, 0x0000099e, + 0x000009ab, 0x000009b8, 0x000009be, 0x000009c8, + 0x000009d5, 0x000009e0, 0x000009ee, 0x000009fc, // Entry A0 - BF - 0x00000a07, 0x00000a15, 0x00000a24, 0x00000a50, - 0x00000a65, 0x00000a8c, 0x00000a9c, 0x00000aa3, - 0x00000aab, 0x00000ab3, 0x00000abb, 0x00000ac4, - 0x00000acd, 0x00000ad4, 0x00000ae3, 0x00000ae8, - 0x00000aee, 0x00000af6, 0x00000afb, 0x00000b0b, - 0x00000b0f, 0x00000b14, 0x00000b1e, 0x00000b2a, - 0x00000b3a, 0x00000bb7, 0x00000bcb, 0x00000bdb, - 0x00000be5, 0x00000c05, 0x00000c39, 0x00000c49, + 0x00000a0b, 0x00000a37, 0x00000a4c, 0x00000a73, + 0x00000a83, 0x00000a8a, 0x00000a92, 0x00000a9a, + 0x00000aa2, 0x00000aab, 0x00000ab4, 0x00000abb, + 0x00000aca, 0x00000acf, 0x00000ad5, 0x00000add, + 0x00000ae2, 0x00000af2, 0x00000af6, 0x00000afb, + 0x00000b05, 0x00000b11, 0x00000b21, 0x00000b9e, + 0x00000bb2, 0x00000bc2, 0x00000bcc, 0x00000bec, + 0x00000c20, 0x00000c30, 0x00000c39, 0x00000cb0, // Entry C0 - DF - 0x00000c52, 0x00000cc9, 0x00000cd6, 0x00000ce8, - 0x00000cfc, 0x00000d0e, 0x00000d1f, 0x00000d29, - 0x00000d37, 0x00000d41, 0x00000d50, 0x00000d61, - 0x00000d68, 0x00000d74, 0x00000d80, 0x00000d88, - 0x00000d9c, 0x00000db1, 0x00000de6, 0x00000dfc, - 0x00000e32, 0x00000e3a, 0x00000e4d, 0x00000e59, - 0x00000e84, 0x00000e99, 0x00000e9f, 0x00000ec2, - 0x00000ecb, 0x00000eda, 0x00000f1a, 0x00000f38, + 0x00000cbd, 0x00000ccf, 0x00000ce3, 0x00000cf5, + 0x00000d06, 0x00000d10, 0x00000d1e, 0x00000d28, + 0x00000d37, 0x00000d48, 0x00000d4f, 0x00000d57, + 0x00000d6b, 0x00000d80, 0x00000db5, 0x00000dcb, + 0x00000e01, 0x00000e09, 0x00000e1c, 0x00000e28, + 0x00000e53, 0x00000e68, 0x00000e6e, 0x00000e91, + 0x00000e9a, 0x00000ea9, 0x00000ee9, 0x00000f07, + 0x00000f35, 0x00000f43, 0x00000f70, 0x00000f9b, // Entry E0 - FF - 0x00000f66, 0x00000f74, 0x00000fa1, 0x00000fcc, - 0x00000ffa, 0x0000100d, 0x00001038, 0x00001051, -} // Size: 952 bytes + 0x00000fc9, 0x00000fdc, 0x00001007, 0x00001020, +} // Size: 936 bytes -const en_USData string = "" + // Size: 4177 bytes +const en_USData string = "" + // Size: 4128 bytes "\x02Version: %[1]s\x02FRP version: %[1]s\x02Built on: %[1]s\x02All Files" + "\x02Configuration Files\x02Certificate Files\x02Key Files\x02Log Files" + "\x02Number out of allowed range\x02Please enter a number greater than %[" + @@ -357,66 +352,65 @@ const en_USData string = "" + // Size: 4177 bytes "le checking for a software update.\x02There are currently no updates ava" + "ilable.\x02OK\x02Cancel\x02Configuration\x02New Configuration\x02Import " + "Config from File\x02Config already removed\x02The config \x22%[1]s\x22 a" + - "lready removed.\x02Edit\x02Open File\x02Show in Folder\x02Create a Copy" + - "\x02All\x02Common Only\x02Import from File\x02Import from URL\x02Import " + - "from Clipboard\x02Copy Share Link\x02Export All Configs to ZIP\x02Delete" + - "\x02New Config\x02Manual Settings\x02Import Config\x02Imported %[1]d of " + - "%[2]d configs.\x02Another config already exists with the name \x22%[1]s" + - "\x22.\x02The file \x22%[1]s\x22 is not a valid ZIP file.\x02Delete confi" + - "g \x22%[1]s\x22\x02Are you sure you would like to delete config \x22%[1]" + - "s\x22?\x02New Client\x02Edit Client - %[1]s\x02Basic\x02Name\x02Server A" + - "ddress\x02Server Port\x02User\x02Auth\x02Auth Method\x02None\x02Token" + - "\x02Secret\x02Audience\x02Scope\x02Token Endpoint\x02Authentication\x02H" + - "eart Beats\x02Work Conns\x02Log\x02* Leave blank to record no log and de" + - "lete the original log file.\x02Log File\x02Select Log File\x02Level\x02M" + - "ax Days\x02Admin\x02Admin Address\x02Admin Port\x02Password\x02Assets" + - "\x02Select a local directory that the admin server will load resources f" + - "rom.\x02Auto Delete\x02Absolute\x02Relative\x02Delete Date\x02Delete Day" + - "s\x02Days\x02Connection\x02Protocol\x02HTTP Proxy\x02Pool Count\x02Heart" + - "beat\x02Interval\x02s\x02Timeout\x02Dial Timeout\x02Keepalive\x02Idle Ti" + - "meout\x02Max Streams\x02On\x02Off\x02Host Name\x02Certificate\x02Select " + - "Certificate File\x02Certificate Key\x02Select Certificate Key File\x02Tr" + - "usted CA\x02Select Trusted CA File\x02Advanced\x02TCP Mux\x02Mux Keepali" + - "ve\x02Source Address\x02Other Options\x02Exit after login failure\x02Dis" + - "able auto-start at boot\x02Custom\x02Custom Options\x02* Refer to the [c" + - "ommon] section of the FRP configuration file.\x02Config already exists" + - "\x02The config name \x22%[1]s\x22 already exists.\x02New Proxy\x02Edit P" + - "roxy - %[1]s\x02Random\x02Type\x02Role\x02Visitor\x02Secret Key\x02Local" + - " Address\x02Local Port\x02Remote Port\x02Bind Address\x02Bind Port\x02Se" + - "rver Name\x02Subdomain\x02Custom Domains\x02Locations\x02Multiplexer\x02" + - "Route User\x02Client\x02Server\x02Bandwidth\x02Proxy Version\x02Empty" + - "\x02Encryption\x02Compression\x02HTTP User\x02HTTP Password\x02Host Rewr" + - "ite\x02Plugin\x02Plugin Name\x02Unix Path\x02Select Unix Path\x02Local P" + - "ath\x02Select a folder for directory listing.\x02Strip Prefix\x02Load Ba" + - "lance\x02Group\x02Group Key\x02Health Check\x02Check Type\x02Check Timeo" + - "ut\x02Failure Count\x02Check Interval\x02* Refer to the parameters suppo" + - "rted by FRP.\x02Proxy already exists\x02The proxy name \x22%[1]s\x22 alr" + - "eady exists.\x02Open Log Folder\x02Latest\x02Unknown\x02Running\x02Stopp" + - "ed\x02Starting\x02Stopping\x02Status\x02Remote Address\x02Copy\x02Start" + - "\x02Service\x02Stop\x02Local Directory\x02Add\x02Port\x02Open Port\x02Pr" + - "eferences\x02Master password\x02You can set a password to restrict acces" + - "s to this program.\x0aYou will be asked to enter it the next time you us" + - "e this program.\x02Use master password\x02Change Password\x02Languages" + - "\x02The current display language is\x02You must restart program to apply" + - " the modification.\x02Select language\x02Defaults\x02Define the default " + - "value when creating a new configuration.\x0aThe value here will not affe" + - "ct the existing configuration.\x02Set Defaults\x02Password removed.\x02N" + - "ew master password\x02Re-enter password\x02Password is set.\x02Log Level" + - "\x02Log retention\x02Quick Add\x02Remote Desktop\x02HTTP File Server\x02" + - "Enable\x02Open Config\x02Direct Edit\x02Domains\x02Copy Access Address" + - "\x02Delete proxy \x22%[1]s\x22\x02Are you sure you would like to delete " + - "proxy \x22%[1]s\x22?\x02Disable proxy \x22%[1]s\x22\x02Are you sure you " + - "would like to disable proxy \x22%[1]s\x22?\x02Disable\x02Passive Port Ra" + - "nge\x02FRP Manager\x02* Support batch import, one link per line.\x02Rena" + - "me automatically\x02Ready\x02Please enter the correct URL list.\x02Downl" + - "oad\x02Enter Password\x02You must enter an administration password to op" + - "erate the %[1]s.\x02Enter Administration Password\x02The password is inc" + - "orrect. Re-enter password.\x02Invalid Input\x02Please enter a number fro" + - "m %.[1]f to %.[2]f.\x02Please enter a number from %[1]s to %[2]s.\x02The" + - " text does not match the required pattern.\x02Selection Required\x02Plea" + - "se select one of the provided options.\x02A selection is required." + "lready removed.\x02Edit\x02Create a Copy\x02All\x02Common Only\x02Import" + + " from File\x02Import from URL\x02Import from Clipboard\x02Copy Share Lin" + + "k\x02Export All Configs to ZIP\x02Delete\x02New Config\x02Manual Setting" + + "s\x02Import Config\x02Imported %[1]d of %[2]d configs.\x02Another config" + + " already exists with the name \x22%[1]s\x22.\x02The file \x22%[1]s\x22 i" + + "s not a valid ZIP file.\x02Delete config \x22%[1]s\x22\x02Are you sure y" + + "ou would like to delete config \x22%[1]s\x22?\x02New Client\x02Edit Clie" + + "nt - %[1]s\x02Basic\x02Name\x02Server Address\x02Server Port\x02User\x02" + + "Auth\x02Auth Method\x02None\x02Token\x02Secret\x02Audience\x02Scope\x02T" + + "oken Endpoint\x02Authentication\x02Heart Beats\x02Work Conns\x02Log\x02*" + + " Leave blank to record no log and delete the original log file.\x02Log F" + + "ile\x02Select Log File\x02Level\x02Max Days\x02Admin\x02Admin Address" + + "\x02Admin Port\x02Password\x02Assets\x02Select a local directory that th" + + "e admin server will load resources from.\x02Auto Delete\x02Absolute\x02R" + + "elative\x02Delete Date\x02Delete Days\x02Days\x02Connection\x02Protocol" + + "\x02HTTP Proxy\x02Pool Count\x02Heartbeat\x02Interval\x02s\x02Timeout" + + "\x02Dial Timeout\x02Keepalive\x02Idle Timeout\x02Max Streams\x02On\x02Of" + + "f\x02Host Name\x02Certificate\x02Select Certificate File\x02Certificate " + + "Key\x02Select Certificate Key File\x02Trusted CA\x02Select Trusted CA Fi" + + "le\x02Advanced\x02TCP Mux\x02Mux Keepalive\x02Source Address\x02Other Op" + + "tions\x02Exit after login failure\x02Disable auto-start at boot\x02Custo" + + "m\x02Custom Options\x02* Refer to the [common] section of the FRP config" + + "uration file.\x02Config already exists\x02The config name \x22%[1]s\x22 " + + "already exists.\x02New Proxy\x02Edit Proxy - %[1]s\x02Random\x02Type\x02" + + "Role\x02Visitor\x02Secret Key\x02Local Address\x02Local Port\x02Remote P" + + "ort\x02Bind Address\x02Bind Port\x02Server Name\x02Subdomain\x02Custom D" + + "omains\x02Locations\x02Multiplexer\x02Route User\x02Client\x02Server\x02" + + "Bandwidth\x02Proxy Version\x02Empty\x02Encryption\x02Compression\x02HTTP" + + " User\x02HTTP Password\x02Host Rewrite\x02Plugin\x02Plugin Name\x02Unix " + + "Path\x02Select Unix Path\x02Local Path\x02Select a folder for directory " + + "listing.\x02Strip Prefix\x02Load Balance\x02Group\x02Group Key\x02Health" + + " Check\x02Check Type\x02Check Timeout\x02Failure Count\x02Check Interval" + + "\x02* Refer to the parameters supported by FRP.\x02Proxy already exists" + + "\x02The proxy name \x22%[1]s\x22 already exists.\x02Open Log Folder\x02L" + + "atest\x02Unknown\x02Running\x02Stopped\x02Starting\x02Stopping\x02Status" + + "\x02Remote Address\x02Copy\x02Start\x02Service\x02Stop\x02Local Director" + + "y\x02Add\x02Port\x02Open Port\x02Preferences\x02Master password\x02You c" + + "an set a password to restrict access to this program.\x0aYou will be ask" + + "ed to enter it the next time you use this program.\x02Use master passwor" + + "d\x02Change Password\x02Languages\x02The current display language is\x02" + + "You must restart program to apply the modification.\x02Select language" + + "\x02Defaults\x02Define the default value when creating a new configurati" + + "on.\x0aThe value here will not affect the existing configuration.\x02Set" + + " Defaults\x02Password removed.\x02New master password\x02Re-enter passwo" + + "rd\x02Password is set.\x02Log Level\x02Log retention\x02Quick Add\x02Rem" + + "ote Desktop\x02HTTP File Server\x02Enable\x02Domains\x02Copy Access Addr" + + "ess\x02Delete proxy \x22%[1]s\x22\x02Are you sure you would like to dele" + + "te proxy \x22%[1]s\x22?\x02Disable proxy \x22%[1]s\x22\x02Are you sure y" + + "ou would like to disable proxy \x22%[1]s\x22?\x02Disable\x02Passive Port" + + " Range\x02FRP Manager\x02* Support batch import, one link per line.\x02R" + + "ename automatically\x02Ready\x02Please enter the correct URL list.\x02Do" + + "wnload\x02Enter Password\x02You must enter an administration password to" + + " operate the %[1]s.\x02Enter Administration Password\x02The password is " + + "incorrect. Re-enter password.\x02Invalid Input\x02Please enter a number " + + "from %.[1]f to %.[2]f.\x02Please enter a number from %[1]s to %[2]s.\x02" + + "The text does not match the required pattern.\x02Selection Required\x02P" + + "lease select one of the provided options.\x02A selection is required." -var es_ESIndex = []uint32{ // 232 elements +var es_ESIndex = []uint32{ // 228 elements // Entry 0 - 1F 0x00000000, 0x00000010, 0x00000024, 0x00000041, 0x00000054, 0x0000006f, 0x00000087, 0x00000096, @@ -427,65 +421,64 @@ var es_ESIndex = []uint32{ // 232 elements 0x000002dd, 0x000002e6, 0x000002f5, 0x0000030a, 0x00000330, 0x0000034c, 0x00000376, 0x0000037d, // Entry 20 - 3F - 0x0000038d, 0x000003a3, 0x000003b3, 0x000003b9, - 0x000003c5, 0x000003dc, 0x000003ef, 0x0000040b, - 0x00000423, 0x0000044c, 0x00000453, 0x00000460, - 0x00000471, 0x00000489, 0x000004b3, 0x000004e8, - 0x00000519, 0x00000539, 0x00000579, 0x00000587, - 0x0000059e, 0x000005a6, 0x000005ad, 0x000005c5, - 0x000005d8, 0x000005e0, 0x000005e5, 0x000005ed, - 0x000005f5, 0x00000600, 0x00000608, 0x00000612, + 0x0000038d, 0x00000393, 0x0000039f, 0x000003b6, + 0x000003c9, 0x000003e5, 0x000003fd, 0x00000426, + 0x0000042d, 0x0000043a, 0x0000044b, 0x00000463, + 0x0000048d, 0x000004c2, 0x000004f3, 0x00000513, + 0x00000553, 0x00000561, 0x00000578, 0x00000580, + 0x00000587, 0x0000059f, 0x000005b2, 0x000005ba, + 0x000005bf, 0x000005c7, 0x000005cf, 0x000005da, + 0x000005e2, 0x000005ec, 0x000005f4, 0x00000608, // Entry 40 - 5F - 0x0000061a, 0x0000062e, 0x0000063d, 0x00000652, - 0x00000667, 0x00000670, 0x000006d3, 0x000006e7, - 0x00000707, 0x0000070d, 0x0000071c, 0x00000722, - 0x0000072d, 0x00000734, 0x0000073a, 0x00000742, - 0x000007a4, 0x000007bd, 0x000007c6, 0x000007cf, - 0x000007de, 0x000007ed, 0x000007f3, 0x000007fd, - 0x00000807, 0x00000812, 0x00000822, 0x00000836, - 0x00000840, 0x00000842, 0x00000850, 0x00000862, + 0x00000617, 0x0000062c, 0x00000641, 0x0000064a, + 0x000006ad, 0x000006c1, 0x000006e1, 0x000006e7, + 0x000006f6, 0x000006fc, 0x00000707, 0x0000070e, + 0x00000714, 0x0000071c, 0x0000077e, 0x00000797, + 0x000007a0, 0x000007a9, 0x000007b8, 0x000007c7, + 0x000007cd, 0x000007d7, 0x000007e1, 0x000007ec, + 0x000007fc, 0x00000810, 0x0000081a, 0x0000081c, + 0x0000082a, 0x0000083c, 0x00000846, 0x0000085c, // Entry 60 - 7F - 0x0000086c, 0x00000882, 0x00000896, 0x0000089f, - 0x000008a7, 0x000008bc, 0x000008c8, 0x000008eb, - 0x00000900, 0x0000092c, 0x0000093c, 0x00000960, - 0x00000969, 0x00000971, 0x0000097f, 0x00000997, - 0x000009a6, 0x000009d4, 0x00000a01, 0x00000a09, - 0x00000a21, 0x00000a67, 0x00000a83, 0x00000ab2, - 0x00000abe, 0x00000ad3, 0x00000add, 0x00000ae2, - 0x00000ae7, 0x00000af1, 0x00000aff, 0x00000b10, + 0x00000870, 0x00000879, 0x00000881, 0x00000896, + 0x000008a2, 0x000008c5, 0x000008da, 0x00000906, + 0x00000916, 0x0000093a, 0x00000943, 0x0000094b, + 0x00000959, 0x00000971, 0x00000980, 0x000009ae, + 0x000009db, 0x000009e3, 0x000009fb, 0x00000a41, + 0x00000a5d, 0x00000a8c, 0x00000a98, 0x00000aad, + 0x00000ab7, 0x00000abc, 0x00000ac1, 0x00000acb, + 0x00000ad9, 0x00000aea, 0x00000af7, 0x00000b05, // Entry 80 - 9F - 0x00000b1d, 0x00000b2b, 0x00000b40, 0x00000b51, - 0x00000b65, 0x00000b70, 0x00000b88, 0x00000b91, - 0x00000b9d, 0x00000bad, 0x00000bb5, 0x00000bbe, - 0x00000bca, 0x00000bdc, 0x00000be3, 0x00000beb, - 0x00000bf7, 0x00000c04, 0x00000c15, 0x00000c29, - 0x00000c32, 0x00000c39, 0x00000c43, 0x00000c5e, - 0x00000c69, 0x00000c9e, 0x00000cae, 0x00000cc2, - 0x00000cc8, 0x00000cd7, 0x00000ce8, 0x00000ced, + 0x00000b1a, 0x00000b2b, 0x00000b3f, 0x00000b4a, + 0x00000b62, 0x00000b6b, 0x00000b77, 0x00000b87, + 0x00000b8f, 0x00000b98, 0x00000ba4, 0x00000bb6, + 0x00000bbd, 0x00000bc5, 0x00000bd1, 0x00000bde, + 0x00000bef, 0x00000c03, 0x00000c0c, 0x00000c13, + 0x00000c1d, 0x00000c38, 0x00000c43, 0x00000c78, + 0x00000c88, 0x00000c9c, 0x00000ca2, 0x00000cb1, + 0x00000cc2, 0x00000cc7, 0x00000cdb, 0x00000cee, // Entry A0 - BF - 0x00000d01, 0x00000d14, 0x00000d1e, 0x00000d4c, - 0x00000d5f, 0x00000d85, 0x00000d94, 0x00000d9c, - 0x00000da8, 0x00000daf, 0x00000db8, 0x00000dc3, - 0x00000dca, 0x00000dd1, 0x00000de3, 0x00000dea, - 0x00000df3, 0x00000dfc, 0x00000e07, 0x00000e18, - 0x00000e20, 0x00000e27, 0x00000e36, 0x00000e43, - 0x00000e57, 0x00000ee7, 0x00000f00, 0x00000f17, - 0x00000f1f, 0x00000f45, 0x00000f7f, 0x00000f94, + 0x00000cf8, 0x00000d26, 0x00000d39, 0x00000d5f, + 0x00000d6e, 0x00000d76, 0x00000d82, 0x00000d89, + 0x00000d92, 0x00000d9d, 0x00000da4, 0x00000dab, + 0x00000dbd, 0x00000dc4, 0x00000dcd, 0x00000dd6, + 0x00000de1, 0x00000df2, 0x00000dfa, 0x00000e01, + 0x00000e10, 0x00000e1d, 0x00000e31, 0x00000ec1, + 0x00000eda, 0x00000ef1, 0x00000ef9, 0x00000f1f, + 0x00000f59, 0x00000f6e, 0x00000f7e, 0x00000ff9, // Entry C0 - DF - 0x00000fa4, 0x0000101f, 0x0000102e, 0x00001045, - 0x0000105f, 0x0000107f, 0x000010a1, 0x000010b3, - 0x000010cb, 0x000010db, 0x000010ed, 0x00001107, - 0x00001111, 0x00001126, 0x00001137, 0x00001140, - 0x0000115c, 0x00001173, 0x000011aa, 0x000011c5, - 0x000011fe, 0x0000120b, 0x00001223, 0x00001238, - 0x0000126f, 0x0000128a, 0x00001290, 0x000012b5, - 0x000012bf, 0x000012d9, 0x0000131d, 0x00001347, + 0x00001008, 0x0000101f, 0x00001039, 0x00001059, + 0x0000107b, 0x0000108d, 0x000010a5, 0x000010b5, + 0x000010c7, 0x000010e1, 0x000010eb, 0x000010f4, + 0x00001110, 0x00001127, 0x0000115e, 0x00001179, + 0x000011b2, 0x000011bf, 0x000011d7, 0x000011ec, + 0x00001223, 0x0000123e, 0x00001244, 0x00001269, + 0x00001273, 0x0000128d, 0x000012d1, 0x000012fb, + 0x0000133a, 0x0000134b, 0x00001372, 0x00001397, // Entry E0 - FF - 0x00001386, 0x00001397, 0x000013be, 0x000013e3, - 0x00001412, 0x00001427, 0x00001456, 0x00001472, -} // Size: 952 bytes + 0x000013c6, 0x000013db, 0x0000140a, 0x00001426, +} // Size: 936 bytes -const es_ESData string = "" + // Size: 5234 bytes +const es_ESData string = "" + // Size: 5158 bytes "\x02Versión: %[1]s\x02Versión FRP: %[1]s\x02Fecha de compilación: %[1]s" + "\x02Todos los archivos\x02Archivos de configuración\x02Archivos de certi" + "ficado\x02Archivos clave\x02Archivos de registro\x02Número fuera del ran" + @@ -499,78 +492,76 @@ const es_ESData string = "" + // Size: 5234 bytes "software.\x02Actualmente no hay actualizaciones disponibles.\x02Aceptar" + "\x02Cancelar\x02Configuración\x02Nueva Configuración\x02Importar configu" + "ración desde archivo\x02Configuración ya eliminada\x02La configuración " + - "\x22%[1]s\x22 ya se eliminó.\x02Editar\x02Abrir documento\x02Mostrar en " + - "la carpeta\x02Crear una copia\x02Todos\x02Solo común\x02Importar desde a" + - "rchivo\x02Importar desde URL\x02Importar desde portapapeles\x02Copiar co" + - "mpartir enlace\x02Exportar todas las configuraciones a ZIP\x02Borrar\x02" + - "Nueva Config\x02Ajustes manuales\x02Importar configuración\x02Importado " + - "%[1]d de %[2]d configuraciones.\x02Ya existe otra configuración con el n" + - "ombre \x22%[1]s\x22.\x02El archivo \x22%[1]s\x22 no es un archivo ZIP vá" + - "lido.\x02Eliminar configuración \x22%[1]s\x22\x02¿Está seguro de que des" + - "ea eliminar la configuración \x22%[1]s\x22?\x02Nuevo Cliente\x02Editar C" + - "liente - %[1]s\x02Básico\x02Nombre\x02Dirección del servidor\x02Puerto d" + - "e servicio\x02Usuario\x02Auth\x02Método\x02Ninguna\x02Simbólico\x02Secre" + - "to\x02Audiencia\x02Alcance\x02Dirección de token\x02Autenticación\x02Lat" + - "idos del corazón\x02Conexión de trabajo\x02Registro\x02* Déjelo en blanc" + - "o para no registrar ningún registro y eliminar el archivo de registro or" + - "iginal.\x02Archivo de registro\x02Seleccionar archivo de registro\x02Niv" + - "el\x02Días máximos\x02Admin\x02Dirección\x02Puerto\x02Clave\x02Recurso" + - "\x02Seleccione un directorio local desde el que el servidor de administr" + - "ación cargará los recursos.\x02Eliminación automática\x02Absoluto\x02Rel" + - "ativo\x02Eliminar fecha\x02Eliminar días\x02Días\x02Conexión\x02Protocol" + - "o\x02Proxy HTTP\x02Conectar cuenta\x02Latido del corazón\x02Intervalo" + - "\x02s\x02Tiempo muerto\x02Conexión agotado\x02Keepalive\x02Tiempo de ina" + - "ctividad\x02Corrientes máximas\x02Encender\x02Apagado\x02Nombre de anfit" + - "rión\x02Certificado\x02Seleccionar archivo de certificado\x02Clave de ce" + - "rtificado\x02Seleccionar archivo de clave de certificado\x02CA de confia" + - "nza\x02Seleccionar archivo CA de confianza\x02Avanzado\x02Mux TCP\x02Mux" + - " Keepalive\x02Dirección de la fuente\x02Otras opciones\x02Salir después " + - "de fallar el inicio de sesión\x02Desactivar el inicio automático al arra" + - "ncar\x02Disfraz\x02Opciones personalizadas\x02* Consulte la sección [com" + - "mon] del archivo de configuración de FRP.\x02La configuración ya existe" + - "\x02El nombre de configuración \x22%[1]s\x22 ya existe.\x02Nuevo Proxy" + - "\x02Editar Proxy - %[1]s\x02Aleatorio\x02Tipo\x02Role\x02Visitante\x02Ll" + - "ave secreta\x02Dirección local\x02Puerto local\x02Puerto remoto\x02Direc" + - "ción de enlace\x02Puerto de enlace\x02Nombre del servidor\x02Subdominio" + - "\x02Dominios personalizados\x02Ruta URL\x02Multiplexor\x02Usuario de rut" + - "a\x02Cliente\x02Servidor\x02Banda ancha\x02Versión de proxy\x02Vacío\x02" + - "Cifrado\x02Compresión\x02Usuario HTTP\x02Contraseña HTTP\x02Reescritura " + - "de host\x02Enchufar\x02Nombre\x02Ruta Unix\x02Seleccione la ruta de Unix" + - "\x02Ruta local\x02Seleccione una carpeta para la lista de directorios." + - "\x02Prefijo de tira\x02Equilibrio de carga\x02Grupo\x02Clave de grupo" + - "\x02Chequeo de salud\x02Tipo\x02Se acabó el tiempo\x02Recuento de fallas" + - "\x02Intervalo\x02* Consulte los parámetros admitidos por FRP.\x02El prox" + - "y ya existe\x02El nombre de proxy \x22%[1]s\x22 ya existe.\x02Abrir regi" + - "stro\x02Último\x02Desconocido\x02Correr\x02Detenido\x02Comenzando\x02Par" + - "ada\x02Estado\x02Dirección remota\x02Copiar\x02Comienzo\x02Servicio\x02D" + - "eténgase\x02Directorio local\x02Agregar\x02Puerto\x02Puerto abierto\x02P" + - "referencias\x02Contraseña maestra\x02Puede establecer una contraseña par" + - "a restringir el acceso a este programa.\x0aSe le pedirá que lo ingrese l" + - "a próxima vez que use este programa.\x02Usar contraseña maestra\x02Cambi" + - "ar la contraseña\x02Idiomas\x02El idioma de visualización actual es\x02D" + - "ebe reiniciar el programa para aplicar la modificación.\x02Seleccione el" + - " idioma\x02Predeterminados\x02Defina el valor predeterminado al crear un" + - "a nueva configuración.\x0aEl valor aquí no afectará la configuración exi" + - "stente.\x02Valor ajustado\x02Contraseña eliminada.\x02Nueva contraseña m" + - "aestra\x02Escriba la contraseña otra vez\x02La contraseña está configura" + - "da.\x02Nivel de registro\x02Retención de registros\x02Añadir rápido\x02E" + - "scritorio remoto\x02Servidor de archivos HTTP\x02Habilitar\x02Abrir conf" + - "iguración\x02Edición directa\x02Dominios\x02Copiar dirección de acceso" + - "\x02Eliminar proxy \x22%[1]s\x22\x02¿Está seguro de que desea eliminar e" + - "l proxy \x22%[1]s\x22?\x02Deshabilitar proxy \x22%[1]s\x22\x02¿Está segu" + - "ro de que desea desactivar el proxy \x22%[1]s\x22?\x02Deshabilitar\x02Ga" + - "ma de puertos pasivos\x02Administrador de FRP\x02* Admite importación po" + - "r lotes, un enlace por línea.\x02Renombrar automáticamente\x02Listo\x02I" + - "ntroduzca la lista de URL correcta.\x02Descargar\x02Introducir la contra" + - "seña\x02Debe ingresar una contraseña de administración para operar %[1]s" + - ".\x02Ingrese la contraseña de administración\x02La contraseña es incorre" + - "cta. Escriba la contraseña otra vez.\x02Entrada invalida\x02Ingrese un n" + - "úmero de %.[1]f a %.[2]f.\x02Ingrese un número de %[1]s a %[2]s.\x02El " + - "texto no coincide con el patrón requerido.\x02Selección requerida\x02Sel" + - "eccione una de las opciones proporcionadas.\x02Se requiere una selección" + - "." + "\x22%[1]s\x22 ya se eliminó.\x02Editar\x02Crear una copia\x02Todos\x02So" + + "lo común\x02Importar desde archivo\x02Importar desde URL\x02Importar des" + + "de portapapeles\x02Copiar compartir enlace\x02Exportar todas las configu" + + "raciones a ZIP\x02Borrar\x02Nueva Config\x02Ajustes manuales\x02Importar" + + " configuración\x02Importado %[1]d de %[2]d configuraciones.\x02Ya existe" + + " otra configuración con el nombre \x22%[1]s\x22.\x02El archivo \x22%[1]s" + + "\x22 no es un archivo ZIP válido.\x02Eliminar configuración \x22%[1]s" + + "\x22\x02¿Está seguro de que desea eliminar la configuración \x22%[1]s" + + "\x22?\x02Nuevo Cliente\x02Editar Cliente - %[1]s\x02Básico\x02Nombre\x02" + + "Dirección del servidor\x02Puerto de servicio\x02Usuario\x02Auth\x02Métod" + + "o\x02Ninguna\x02Simbólico\x02Secreto\x02Audiencia\x02Alcance\x02Direcció" + + "n de token\x02Autenticación\x02Latidos del corazón\x02Conexión de trabaj" + + "o\x02Registro\x02* Déjelo en blanco para no registrar ningún registro y " + + "eliminar el archivo de registro original.\x02Archivo de registro\x02Sele" + + "ccionar archivo de registro\x02Nivel\x02Días máximos\x02Admin\x02Direcci" + + "ón\x02Puerto\x02Clave\x02Recurso\x02Seleccione un directorio local desd" + + "e el que el servidor de administración cargará los recursos.\x02Eliminac" + + "ión automática\x02Absoluto\x02Relativo\x02Eliminar fecha\x02Eliminar día" + + "s\x02Días\x02Conexión\x02Protocolo\x02Proxy HTTP\x02Conectar cuenta\x02L" + + "atido del corazón\x02Intervalo\x02s\x02Tiempo muerto\x02Conexión agotado" + + "\x02Keepalive\x02Tiempo de inactividad\x02Corrientes máximas\x02Encender" + + "\x02Apagado\x02Nombre de anfitrión\x02Certificado\x02Seleccionar archivo" + + " de certificado\x02Clave de certificado\x02Seleccionar archivo de clave " + + "de certificado\x02CA de confianza\x02Seleccionar archivo CA de confianza" + + "\x02Avanzado\x02Mux TCP\x02Mux Keepalive\x02Dirección de la fuente\x02Ot" + + "ras opciones\x02Salir después de fallar el inicio de sesión\x02Desactiva" + + "r el inicio automático al arrancar\x02Disfraz\x02Opciones personalizadas" + + "\x02* Consulte la sección [common] del archivo de configuración de FRP." + + "\x02La configuración ya existe\x02El nombre de configuración \x22%[1]s" + + "\x22 ya existe.\x02Nuevo Proxy\x02Editar Proxy - %[1]s\x02Aleatorio\x02T" + + "ipo\x02Role\x02Visitante\x02Llave secreta\x02Dirección local\x02Puerto l" + + "ocal\x02Puerto remoto\x02Dirección de enlace\x02Puerto de enlace\x02Nomb" + + "re del servidor\x02Subdominio\x02Dominios personalizados\x02Ruta URL\x02" + + "Multiplexor\x02Usuario de ruta\x02Cliente\x02Servidor\x02Banda ancha\x02" + + "Versión de proxy\x02Vacío\x02Cifrado\x02Compresión\x02Usuario HTTP\x02Co" + + "ntraseña HTTP\x02Reescritura de host\x02Enchufar\x02Nombre\x02Ruta Unix" + + "\x02Seleccione la ruta de Unix\x02Ruta local\x02Seleccione una carpeta p" + + "ara la lista de directorios.\x02Prefijo de tira\x02Equilibrio de carga" + + "\x02Grupo\x02Clave de grupo\x02Chequeo de salud\x02Tipo\x02Se acabó el t" + + "iempo\x02Recuento de fallas\x02Intervalo\x02* Consulte los parámetros ad" + + "mitidos por FRP.\x02El proxy ya existe\x02El nombre de proxy \x22%[1]s" + + "\x22 ya existe.\x02Abrir registro\x02Último\x02Desconocido\x02Correr\x02" + + "Detenido\x02Comenzando\x02Parada\x02Estado\x02Dirección remota\x02Copiar" + + "\x02Comienzo\x02Servicio\x02Deténgase\x02Directorio local\x02Agregar\x02" + + "Puerto\x02Puerto abierto\x02Preferencias\x02Contraseña maestra\x02Puede " + + "establecer una contraseña para restringir el acceso a este programa.\x0a" + + "Se le pedirá que lo ingrese la próxima vez que use este programa.\x02Usa" + + "r contraseña maestra\x02Cambiar la contraseña\x02Idiomas\x02El idioma de" + + " visualización actual es\x02Debe reiniciar el programa para aplicar la m" + + "odificación.\x02Seleccione el idioma\x02Predeterminados\x02Defina el val" + + "or predeterminado al crear una nueva configuración.\x0aEl valor aquí no " + + "afectará la configuración existente.\x02Valor ajustado\x02Contraseña eli" + + "minada.\x02Nueva contraseña maestra\x02Escriba la contraseña otra vez" + + "\x02La contraseña está configurada.\x02Nivel de registro\x02Retención de" + + " registros\x02Añadir rápido\x02Escritorio remoto\x02Servidor de archivos" + + " HTTP\x02Habilitar\x02Dominios\x02Copiar dirección de acceso\x02Eliminar" + + " proxy \x22%[1]s\x22\x02¿Está seguro de que desea eliminar el proxy \x22" + + "%[1]s\x22?\x02Deshabilitar proxy \x22%[1]s\x22\x02¿Está seguro de que de" + + "sea desactivar el proxy \x22%[1]s\x22?\x02Deshabilitar\x02Gama de puerto" + + "s pasivos\x02Administrador de FRP\x02* Admite importación por lotes, un " + + "enlace por línea.\x02Renombrar automáticamente\x02Listo\x02Introduzca la" + + " lista de URL correcta.\x02Descargar\x02Introducir la contraseña\x02Debe" + + " ingresar una contraseña de administración para operar %[1]s.\x02Ingrese" + + " la contraseña de administración\x02La contraseña es incorrecta. Escriba" + + " la contraseña otra vez.\x02Entrada invalida\x02Ingrese un número de %.[" + + "1]f a %.[2]f.\x02Ingrese un número de %[1]s a %[2]s.\x02El texto no coin" + + "cide con el patrón requerido.\x02Selección requerida\x02Seleccione una d" + + "e las opciones proporcionadas.\x02Se requiere una selección." -var ja_JPIndex = []uint32{ // 232 elements +var ja_JPIndex = []uint32{ // 228 elements // Entry 0 - 1F 0x00000000, 0x00000018, 0x00000034, 0x0000004f, 0x00000068, 0x0000007b, 0x00000091, 0x000000a7, @@ -581,65 +572,64 @@ var ja_JPIndex = []uint32{ // 232 elements 0x00000383, 0x00000393, 0x0000039a, 0x000003aa, 0x000003db, 0x00000406, 0x0000043c, 0x00000443, // Entry 20 - 3F - 0x00000459, 0x0000046f, 0x00000488, 0x0000048f, - 0x000004a2, 0x000004c4, 0x000004dd, 0x00000508, - 0x00000524, 0x00000552, 0x00000559, 0x00000569, - 0x00000576, 0x0000058f, 0x000005d0, 0x00000612, - 0x0000065b, 0x00000674, 0x000006a5, 0x000006c1, - 0x000006e5, 0x000006ec, 0x000006f3, 0x0000070c, - 0x0000071f, 0x0000072c, 0x00000733, 0x00000740, - 0x00000747, 0x00000754, 0x0000075e, 0x00000768, + 0x0000045c, 0x00000463, 0x00000476, 0x00000498, + 0x000004b1, 0x000004dc, 0x000004f8, 0x00000526, + 0x0000052d, 0x0000053d, 0x0000054a, 0x00000563, + 0x000005a4, 0x000005e6, 0x0000062f, 0x00000648, + 0x00000679, 0x00000695, 0x000006b9, 0x000006c0, + 0x000006c7, 0x000006e0, 0x000006f3, 0x00000700, + 0x00000707, 0x00000714, 0x0000071b, 0x00000728, + 0x00000732, 0x0000073c, 0x00000743, 0x00000756, // Entry 40 - 5F - 0x0000076f, 0x00000782, 0x00000789, 0x00000799, - 0x000007a6, 0x000007ad, 0x00000816, 0x00000829, - 0x00000845, 0x0000084f, 0x0000085c, 0x00000866, - 0x0000087c, 0x0000088c, 0x0000089c, 0x000008a3, - 0x0000090a, 0x00000917, 0x0000091e, 0x00000925, - 0x0000092f, 0x0000093c, 0x00000940, 0x00000947, - 0x00000957, 0x00000969, 0x0000097f, 0x00000992, - 0x00000999, 0x0000099b, 0x000009ae, 0x000009c7, + 0x0000075d, 0x0000076d, 0x0000077a, 0x00000781, + 0x000007ea, 0x000007fd, 0x00000819, 0x00000823, + 0x00000830, 0x0000083a, 0x00000850, 0x00000860, + 0x00000870, 0x00000877, 0x000008de, 0x000008eb, + 0x000008f2, 0x000008f9, 0x00000903, 0x00000910, + 0x00000914, 0x0000091b, 0x0000092b, 0x0000093d, + 0x00000953, 0x00000966, 0x0000096d, 0x0000096f, + 0x00000982, 0x0000099b, 0x000009ab, 0x000009ca, // Entry 60 - 7F - 0x000009d7, 0x000009f6, 0x00000a0c, 0x00000a13, - 0x00000a1a, 0x00000a27, 0x00000a31, 0x00000a50, - 0x00000a60, 0x00000a8e, 0x00000aa1, 0x00000ad3, - 0x00000ada, 0x00000ae4, 0x00000afd, 0x00000b13, - 0x00000b29, 0x00000b48, 0x00000b73, 0x00000b80, - 0x00000b9c, 0x00000bef, 0x00000c11, 0x00000c3f, - 0x00000c55, 0x00000c73, 0x00000c80, 0x00000c8a, - 0x00000c91, 0x00000c9e, 0x00000ca8, 0x00000cc1, + 0x000009e0, 0x000009e7, 0x000009ee, 0x000009fb, + 0x00000a05, 0x00000a24, 0x00000a34, 0x00000a62, + 0x00000a75, 0x00000aa7, 0x00000aae, 0x00000ab8, + 0x00000ad1, 0x00000ae7, 0x00000afd, 0x00000b1c, + 0x00000b47, 0x00000b54, 0x00000b70, 0x00000bc3, + 0x00000be5, 0x00000c13, 0x00000c29, 0x00000c47, + 0x00000c54, 0x00000c5e, 0x00000c65, 0x00000c72, + 0x00000c7c, 0x00000c95, 0x00000cab, 0x00000cc1, // Entry 80 - 9F - 0x00000cd7, 0x00000ced, 0x00000d06, 0x00000d1c, - 0x00000d2c, 0x00000d3f, 0x00000d58, 0x00000d6f, - 0x00000d85, 0x00000d9b, 0x00000dae, 0x00000db8, - 0x00000dc2, 0x00000dd2, 0x00000dd6, 0x00000de0, - 0x00000de7, 0x00000df9, 0x00000e0e, 0x00000e27, - 0x00000e37, 0x00000e4a, 0x00000e56, 0x00000e6b, - 0x00000e7e, 0x00000ebe, 0x00000edd, 0x00000eea, - 0x00000ef7, 0x00000f0d, 0x00000f1a, 0x00000f24, + 0x00000cda, 0x00000cf0, 0x00000d00, 0x00000d13, + 0x00000d2c, 0x00000d43, 0x00000d59, 0x00000d6f, + 0x00000d82, 0x00000d8c, 0x00000d96, 0x00000da6, + 0x00000daa, 0x00000db4, 0x00000dbb, 0x00000dcd, + 0x00000de2, 0x00000dfb, 0x00000e0b, 0x00000e1e, + 0x00000e2a, 0x00000e3f, 0x00000e52, 0x00000e92, + 0x00000eb1, 0x00000ebe, 0x00000ecb, 0x00000ee1, + 0x00000eee, 0x00000ef8, 0x00000f0b, 0x00000f15, // Entry A0 - BF - 0x00000f37, 0x00000f41, 0x00000f54, 0x00000f8e, - 0x00000fb6, 0x00000fea, 0x00001006, 0x0000100d, - 0x0000101d, 0x0000102d, 0x00001034, 0x0000103b, - 0x00001042, 0x00001049, 0x00001062, 0x0000106c, - 0x00001076, 0x00001083, 0x0000108d, 0x0000109a, - 0x000010a1, 0x000010ab, 0x000010bb, 0x000010c8, - 0x000010e4, 0x000011a0, 0x000011cb, 0x000011ea, - 0x000011f1, 0x0000120a, 0x00001262, 0x00001278, + 0x00000f28, 0x00000f62, 0x00000f8a, 0x00000fbe, + 0x00000fda, 0x00000fe1, 0x00000ff1, 0x00001001, + 0x00001008, 0x0000100f, 0x00001016, 0x0000101d, + 0x00001036, 0x00001040, 0x0000104a, 0x00001057, + 0x00001061, 0x0000106e, 0x00001075, 0x0000107f, + 0x0000108f, 0x0000109c, 0x000010b8, 0x00001174, + 0x0000119f, 0x000011be, 0x000011c5, 0x000011de, + 0x00001236, 0x0000124c, 0x0000125c, 0x000012eb, // Entry C0 - DF - 0x00001288, 0x00001317, 0x00001330, 0x0000135b, - 0x00001380, 0x0000138a, 0x000013b8, 0x000013c8, - 0x000013d5, 0x000013e8, 0x00001407, 0x00001425, - 0x0000142c, 0x0000143c, 0x00001449, 0x00001459, - 0x0000147e, 0x000014a6, 0x000014dd, 0x00001505, - 0x00001548, 0x0000154f, 0x0000156b, 0x0000157f, - 0x000015de, 0x000015fa, 0x00001601, 0x00001635, - 0x00001648, 0x00001667, 0x000016c2, 0x000016e4, + 0x00001304, 0x0000132f, 0x00001354, 0x0000135e, + 0x0000138c, 0x0000139c, 0x000013a9, 0x000013bc, + 0x000013db, 0x000013f9, 0x00001400, 0x00001410, + 0x00001435, 0x0000145d, 0x00001494, 0x000014bc, + 0x000014ff, 0x00001506, 0x00001522, 0x00001536, + 0x00001595, 0x000015b1, 0x000015b8, 0x000015ec, + 0x000015ff, 0x0000161e, 0x00001679, 0x0000169b, + 0x000016e5, 0x000016f2, 0x00001735, 0x00001776, // Entry E0 - FF - 0x0000172e, 0x0000173b, 0x0000177e, 0x000017bf, - 0x000017fc, 0x00001809, 0x00001855, 0x0000186e, -} // Size: 952 bytes + 0x000017b3, 0x000017c0, 0x0000180c, 0x00001825, +} // Size: 936 bytes -const ja_JPData string = "" + // Size: 6254 bytes +const ja_JPData string = "" + // Size: 6181 bytes "\x02バージョン:%[1]s\x02FRP バージョン:%[1]s\x02コンパイル日:%[1]s\x02すべてのファイル\x02設定ファイル" + "\x02証明書ファイル\x02秘密鍵ファイル\x02ログファイル\x02許容範囲外の数値\x02%[1]d より大きい数値を入力してください。" + "\x02パスワードの不一致\x02もう一度確認してください。\x02数字ではありません\x02有効な数値を入力してください。\x02新しいバージ" + @@ -647,47 +637,47 @@ const ja_JPData string = "" + // Size: 6254 bytes "トページにアクセスしてください:\x02FRP 設定ドキュメントについては、FRP プロジェクトページにアクセスしてください:\x02ソフト" + "ウェアアップデートの確認中にエラーが発生しました。\x02現在、利用可能なアップデートはありません。\x02OK\x02キャンセル\x02設" + "定\x02新しい設定\x02ファイルから設定をインポートする\x02設定はすでに削除されています\x02設定「%[1]s」は既に削除されてい" + - "ます。\x02編集\x02ファイルを開く\x02フォルダで見て\x02コピーを作成する\x02全て\x02共通設定のみ\x02ファイルからイ" + - "ンポート\x02URLからインポート\x02クリップボードからインポート\x02共有リンクをコピー\x02すべての設定をZIPにエクスポート" + - "\x02削除\x02新しい設定\x02手動設定\x02設定のインポート\x14\x02\x80\x01\x00;\x02%[2]d 中の %[1" + - "]d 設定をインポートしました。\x02\x22%[1]s\x22 という名前の別の設定が既に存在します。\x02ファイル \x22%[1]s" + - "\x22 は有効なZIPファイルではありません。\x02設定 \x22%[1]s\x22 を削除\x02本当に設定 \x22%[1]s\x22 " + - "を削除しますか?\x02新しいクライアント\x02クライアントの編集 - %[1]s\x02基本\x02名前\x02サーバーアドレス\x02" + - "サーバポート\x02ユーザー\x02認証\x02認証方法\x02なし\x02トークン\x02秘密鍵\x02受信者\x02範囲\x02トークン" + - "のURL\x02認証\x02接続を維持\x02作業接続\x02ログ\x02* ログを記録せず、元のログファイルを削除するには、空白のままにし" + - "ます。\x02ログファイル\x02ログファイルを選択\x02レベル\x02最大日数\x02管理者\x02管理者アドレス\x02管理ポート" + - "\x02パスワード\x02資産\x02管理サーバーがリソースをロードするローカルディレクトリを選択します。\x02自動削除\x02絶対\x02相" + - "対\x02削除日\x02日を削除\x02日\x02接続\x02プロトコル\x02HTTP プロキシ\x02接続プールの数\x02ハートビート" + - "\x02間隔\x02s\x02タイムアウト\x02接続タイムアウト\x02接続を維持\x02アイドルタイムアウト\x02最大ストリーム\x02有" + - "効\x02無効\x02ホスト名\x02証明書\x02証明書ファイルを選択\x02証明書キー\x02証明書キーファイルを選択します\x02信頼" + - "できる CA\x02信頼できる CA ファイルを選択します\x02高度\x02多重化\x02多重化接続を維持\x02送信元アドレス\x02別" + - "のオプション\x02ログイン失敗後に終了\x02起動時に自動起動を無効にする\x02カスタム\x02カスタムオプション\x02* FRP 設" + - "定ファイルの [common] セクションを参照してください。\x02設定はすでに存在します\x02設定名 \x22%[1]s\x22 は既" + - "に存在します。\x02新しいプロキシ\x02プロキシの編集 - %[1]s\x02ランダム\x02タイプ\x02役割\x02ビジター\x02" + - "秘密鍵\x02ローカルアドレス\x02ローカルポート\x02リモートポート\x02バインドアドレス\x02バインドポート\x02サーバー名" + - "\x02サブドメイン\x02カスタムドメイン\x02URL ルーティング\x02マルチプレクサ\x02ルートユーザー\x02クライアント\x02" + - "サーバ\x02帯域幅\x02プロキシ版\x02空\x02暗号化\x02圧縮\x02HTTP ユーザー\x02HTTP パスワード\x02ホス" + - "トの書き換え\x02プラグイン\x02プラグイン名\x02Unix パス\x02Unix パスを選択\x02ローカルパス\x02ディレクトリ" + - "リストのフォルダを選択します。\x02プレフィックスを削除\x02負荷平衡\x02グループ\x02グループ秘密鍵\x02健康診断\x02タイ" + - "プ\x02タイムアウト\x02失敗数\x02チェック間隔\x02* FRP 対応のパラメータをご参照ください。\x02プロキシはすでに存在し" + - "ます\x02プロキシ名 \x22%[1]s\x22 は既に存在します。\x02ログフォルダを開く\x02最新\x02わからない\x02ランニ" + - "ング\x02停止\x02起動\x02停止\x02状態\x02リモートアドレス\x02コピー\x02始める\x02サービス\x02止まる" + - "\x02フォルダ\x02追加\x02ポート\x02ポート開放\x02環境設定\x02マスターパスワード\x02パスワードを設定して、このプログラ" + - "ムへのアクセスを制限できます。\x0a次回このプログラムを使用するときに入力するよう求められます。\x02マスターパスワードを使用する" + - "\x02パスワードを変更する\x02言語\x02現在の表示言語は\x02変更を適用するには、プログラムを再起動する必要があります。\x02言語を" + - "選択する\x02デフォルト\x02新しい設定を作成するときのデフォルト値を定義します。\x0aここでの値は、既存の設定には影響しません。" + - "\x02デフォルトの設定\x02パスワードが解除されました。\x02新しいマスターパスワード\x02再入力\x02パスワードが設定されています。" + - "\x02ログレベル\x02ログ保持\x02クイック追加\x02リモートデスクトップ\x02HTTP ファイルサーバー\x02有効\x02設定を開" + - "く\x02直接編集\x02ドメイン名\x02アクセスアドレスのコピー\x02プロキシ \x22%[1]s\x22 を削除します\x02本当に" + - "プロキシ \x22%[1]s\x22 を削除しますか?\x02プロキシ \x22%[1]s\x22 を無効にする\x02プロキシ \x22%" + - "[1]s\x22 を無効にしてもよろしいですか?\x02無効\x02パッシブポート範囲\x02FRP マネージャ\x02* バッチインポートをサ" + - "ポートします、1行に1つのリンクがあります。\x02自動的に名前を変更\x02準備\x02正しいURLリストを入力してください。\x02ダウ" + - "ンロード\x02パスワードを入力する\x02%[1]s を操作するには、管理パスワードを入力する必要があります。\x02管理者パスワードを入" + - "力\x02パスワードが正しくありません。 パスワード再入力。\x02無効入力\x02%.[1]f から %.[2]f までの数字を入力してく" + - "ださい。\x02%[1]s から %[2]s までの数値を入力してください。\x02テキストが必要なパターンと一致しません。\x02選択必須" + - "\x02提供されたオプションのいずれかを選択してください。\x02選択が必要です。" + "ます。\x02編集\x02コピーを作成する\x02全て\x02共通設定のみ\x02ファイルからインポート\x02URLからインポート\x02" + + "クリップボードからインポート\x02共有リンクをコピー\x02すべての設定をZIPにエクスポート\x02削除\x02新しい設定\x02手動設" + + "定\x02設定のインポート\x14\x02\x80\x01\x00;\x02%[2]d 中の %[1]d 設定をインポートしました。\x02" + + "\x22%[1]s\x22 という名前の別の設定が既に存在します。\x02ファイル \x22%[1]s\x22 は有効なZIPファイルではありま" + + "せん。\x02設定 \x22%[1]s\x22 を削除\x02本当に設定 \x22%[1]s\x22 を削除しますか?\x02新しいクライア" + + "ント\x02クライアントの編集 - %[1]s\x02基本\x02名前\x02サーバーアドレス\x02サーバポート\x02ユーザー\x02認" + + "証\x02認証方法\x02なし\x02トークン\x02秘密鍵\x02受信者\x02範囲\x02トークンのURL\x02認証\x02接続を維持" + + "\x02作業接続\x02ログ\x02* ログを記録せず、元のログファイルを削除するには、空白のままにします。\x02ログファイル\x02ログファ" + + "イルを選択\x02レベル\x02最大日数\x02管理者\x02管理者アドレス\x02管理ポート\x02パスワード\x02資産\x02管理サー" + + "バーがリソースをロードするローカルディレクトリを選択します。\x02自動削除\x02絶対\x02相対\x02削除日\x02日を削除\x02日" + + "\x02接続\x02プロトコル\x02HTTP プロキシ\x02接続プールの数\x02ハートビート\x02間隔\x02s\x02タイムアウト" + + "\x02接続タイムアウト\x02接続を維持\x02アイドルタイムアウト\x02最大ストリーム\x02有効\x02無効\x02ホスト名\x02証明" + + "書\x02証明書ファイルを選択\x02証明書キー\x02証明書キーファイルを選択します\x02信頼できる CA\x02信頼できる CA ファ" + + "イルを選択します\x02高度\x02多重化\x02多重化接続を維持\x02送信元アドレス\x02別のオプション\x02ログイン失敗後に終了" + + "\x02起動時に自動起動を無効にする\x02カスタム\x02カスタムオプション\x02* FRP 設定ファイルの [common] セクションを" + + "参照してください。\x02設定はすでに存在します\x02設定名 \x22%[1]s\x22 は既に存在します。\x02新しいプロキシ\x02" + + "プロキシの編集 - %[1]s\x02ランダム\x02タイプ\x02役割\x02ビジター\x02秘密鍵\x02ローカルアドレス\x02ローカ" + + "ルポート\x02リモートポート\x02バインドアドレス\x02バインドポート\x02サーバー名\x02サブドメイン\x02カスタムドメイン" + + "\x02URL ルーティング\x02マルチプレクサ\x02ルートユーザー\x02クライアント\x02サーバ\x02帯域幅\x02プロキシ版" + + "\x02空\x02暗号化\x02圧縮\x02HTTP ユーザー\x02HTTP パスワード\x02ホストの書き換え\x02プラグイン\x02プラ" + + "グイン名\x02Unix パス\x02Unix パスを選択\x02ローカルパス\x02ディレクトリリストのフォルダを選択します。\x02プレ" + + "フィックスを削除\x02負荷平衡\x02グループ\x02グループ秘密鍵\x02健康診断\x02タイプ\x02タイムアウト\x02失敗数" + + "\x02チェック間隔\x02* FRP 対応のパラメータをご参照ください。\x02プロキシはすでに存在します\x02プロキシ名 \x22%[1]" + + "s\x22 は既に存在します。\x02ログフォルダを開く\x02最新\x02わからない\x02ランニング\x02停止\x02起動\x02停止" + + "\x02状態\x02リモートアドレス\x02コピー\x02始める\x02サービス\x02止まる\x02フォルダ\x02追加\x02ポート\x02" + + "ポート開放\x02環境設定\x02マスターパスワード\x02パスワードを設定して、このプログラムへのアクセスを制限できます。\x0a次回この" + + "プログラムを使用するときに入力するよう求められます。\x02マスターパスワードを使用する\x02パスワードを変更する\x02言語\x02現在" + + "の表示言語は\x02変更を適用するには、プログラムを再起動する必要があります。\x02言語を選択する\x02デフォルト\x02新しい設定を作" + + "成するときのデフォルト値を定義します。\x0aここでの値は、既存の設定には影響しません。\x02デフォルトの設定\x02パスワードが解除され" + + "ました。\x02新しいマスターパスワード\x02再入力\x02パスワードが設定されています。\x02ログレベル\x02ログ保持\x02クイッ" + + "ク追加\x02リモートデスクトップ\x02HTTP ファイルサーバー\x02有効\x02ドメイン名\x02アクセスアドレスのコピー\x02プ" + + "ロキシ \x22%[1]s\x22 を削除します\x02本当にプロキシ \x22%[1]s\x22 を削除しますか?\x02プロキシ " + + "\x22%[1]s\x22 を無効にする\x02プロキシ \x22%[1]s\x22 を無効にしてもよろしいですか?\x02無効\x02パッシブ" + + "ポート範囲\x02FRP マネージャ\x02* バッチインポートをサポートします、1行に1つのリンクがあります。\x02自動的に名前を変更" + + "\x02準備\x02正しいURLリストを入力してください。\x02ダウンロード\x02パスワードを入力する\x02%[1]s を操作するには、管" + + "理パスワードを入力する必要があります。\x02管理者パスワードを入力\x02パスワードが正しくありません。 パスワード再入力。\x02無効入" + + "力\x02%.[1]f から %.[2]f までの数字を入力してください。\x02%[1]s から %[2]s までの数値を入力してください" + + "。\x02テキストが必要なパターンと一致しません。\x02選択必須\x02提供されたオプションのいずれかを選択してください。\x02選択が必" + + "要です。" -var ko_KRIndex = []uint32{ // 232 elements +var ko_KRIndex = []uint32{ // 228 elements // Entry 0 - 1F 0x00000000, 0x0000000e, 0x00000020, 0x00000035, 0x00000043, 0x00000051, 0x00000062, 0x00000070, @@ -698,111 +688,110 @@ var ko_KRIndex = []uint32{ // 232 elements 0x000002d3, 0x000002da, 0x000002e1, 0x000002ec, 0x0000030d, 0x00000328, 0x00000358, 0x00000365, // Entry 20 - 3F - 0x00000373, 0x00000384, 0x00000395, 0x0000039c, - 0x000003b4, 0x000003ce, 0x000003e5, 0x00000405, - 0x0000041a, 0x00000443, 0x0000044a, 0x0000045b, - 0x00000469, 0x0000047d, 0x000004b1, 0x000004ed, - 0x00000525, 0x0000053b, 0x00000567, 0x0000057b, - 0x0000059a, 0x000005a7, 0x000005ae, 0x000005bc, - 0x000005ca, 0x000005d4, 0x000005db, 0x000005e9, - 0x000005f0, 0x000005f7, 0x00000602, 0x00000610, + 0x00000376, 0x0000037d, 0x00000395, 0x000003af, + 0x000003c6, 0x000003e6, 0x000003fb, 0x00000424, + 0x0000042b, 0x0000043c, 0x0000044a, 0x0000045e, + 0x00000492, 0x000004ce, 0x00000506, 0x0000051c, + 0x00000548, 0x0000055c, 0x0000057b, 0x00000588, + 0x0000058f, 0x0000059d, 0x000005ab, 0x000005b5, + 0x000005bc, 0x000005ca, 0x000005d1, 0x000005d8, + 0x000005e3, 0x000005f1, 0x000005f8, 0x00000603, // Entry 40 - 5F - 0x00000617, 0x00000622, 0x00000629, 0x00000634, - 0x00000642, 0x0000064c, 0x000006a6, 0x000006b4, - 0x000006c9, 0x000006d0, 0x000006de, 0x000006e8, - 0x000006f9, 0x00000707, 0x00000714, 0x0000071b, - 0x0000076e, 0x0000077c, 0x00000783, 0x0000078d, - 0x0000079b, 0x000007a6, 0x000007aa, 0x000007b1, - 0x000007b8, 0x000007c7, 0x000007d2, 0x000007df, - 0x000007e6, 0x000007e8, 0x000007f5, 0x0000080a, + 0x0000060a, 0x00000615, 0x00000623, 0x0000062d, + 0x00000687, 0x00000695, 0x000006aa, 0x000006b1, + 0x000006bf, 0x000006c9, 0x000006da, 0x000006e8, + 0x000006f5, 0x000006fc, 0x0000074f, 0x0000075d, + 0x00000764, 0x0000076e, 0x0000077c, 0x00000787, + 0x0000078b, 0x00000792, 0x00000799, 0x000007a8, + 0x000007b3, 0x000007c0, 0x000007c7, 0x000007c9, + 0x000007d6, 0x000007eb, 0x000007f2, 0x00000807, // Entry 60 - 7F - 0x00000811, 0x00000826, 0x00000837, 0x0000083e, - 0x00000845, 0x00000856, 0x00000860, 0x00000878, - 0x00000886, 0x000008a2, 0x000008ba, 0x000008e0, - 0x000008ea, 0x000008f4, 0x00000909, 0x00000917, - 0x00000925, 0x00000941, 0x00000967, 0x0000096e, - 0x00000986, 0x000009c1, 0x000009e0, 0x00000a17, - 0x00000a25, 0x00000a3e, 0x00000a4b, 0x00000a52, - 0x00000a59, 0x00000a63, 0x00000a6e, 0x00000a7c, + 0x00000818, 0x0000081f, 0x00000826, 0x00000837, + 0x00000841, 0x00000859, 0x00000867, 0x00000883, + 0x0000089b, 0x000008c1, 0x000008cb, 0x000008d5, + 0x000008ea, 0x000008f8, 0x00000906, 0x00000922, + 0x00000948, 0x0000094f, 0x00000967, 0x000009a2, + 0x000009c1, 0x000009f8, 0x00000a06, 0x00000a1f, + 0x00000a2c, 0x00000a33, 0x00000a3a, 0x00000a44, + 0x00000a4f, 0x00000a5d, 0x00000a6b, 0x00000a79, // Entry 80 - 9F - 0x00000a8a, 0x00000a98, 0x00000aa9, 0x00000aba, - 0x00000ac8, 0x00000ad9, 0x00000af4, 0x00000b02, - 0x00000b12, 0x00000b23, 0x00000b33, 0x00000b3a, - 0x00000b44, 0x00000b55, 0x00000b63, 0x00000b6d, - 0x00000b74, 0x00000b83, 0x00000b95, 0x00000ba9, - 0x00000bb6, 0x00000bca, 0x00000bd6, 0x00000be9, - 0x00000bf7, 0x00000c33, 0x00000c47, 0x00000c55, - 0x00000c5c, 0x00000c6e, 0x00000c7c, 0x00000c83, + 0x00000a8a, 0x00000a9b, 0x00000aa9, 0x00000aba, + 0x00000ad5, 0x00000ae3, 0x00000af3, 0x00000b04, + 0x00000b14, 0x00000b1b, 0x00000b25, 0x00000b36, + 0x00000b44, 0x00000b4e, 0x00000b55, 0x00000b64, + 0x00000b76, 0x00000b8a, 0x00000b97, 0x00000bab, + 0x00000bb7, 0x00000bca, 0x00000bd8, 0x00000c14, + 0x00000c28, 0x00000c36, 0x00000c3d, 0x00000c4f, + 0x00000c5d, 0x00000c64, 0x00000c72, 0x00000c80, // Entry A0 - BF - 0x00000c91, 0x00000c9f, 0x00000ca6, 0x00000ce4, - 0x00000d06, 0x00000d40, 0x00000d55, 0x00000d5c, - 0x00000d70, 0x00000d7a, 0x00000d84, 0x00000d8b, - 0x00000d92, 0x00000d99, 0x00000da7, 0x00000dae, - 0x00000db5, 0x00000dbf, 0x00000dc6, 0x00000dda, - 0x00000de7, 0x00000dee, 0x00000dfc, 0x00000e03, - 0x00000e1a, 0x00000ed6, 0x00000ef4, 0x00000f08, - 0x00000f0f, 0x00000f27, 0x00000f73, 0x00000f81, + 0x00000c87, 0x00000cc5, 0x00000ce7, 0x00000d21, + 0x00000d36, 0x00000d3d, 0x00000d51, 0x00000d5b, + 0x00000d65, 0x00000d6c, 0x00000d73, 0x00000d7a, + 0x00000d88, 0x00000d8f, 0x00000d96, 0x00000da0, + 0x00000da7, 0x00000dbb, 0x00000dc8, 0x00000dcf, + 0x00000ddd, 0x00000de4, 0x00000dfb, 0x00000eb7, + 0x00000ed5, 0x00000ee9, 0x00000ef0, 0x00000f08, + 0x00000f54, 0x00000f62, 0x00000f6c, 0x00000fe4, // Entry C0 - DF - 0x00000f8b, 0x00001003, 0x0000101a, 0x0000103b, - 0x00001056, 0x0000106d, 0x00001098, 0x000010a6, - 0x000010b4, 0x000010c2, 0x000010d6, 0x000010e9, - 0x000010f0, 0x000010fe, 0x0000110c, 0x00001116, - 0x0000112e, 0x00001147, 0x00001176, 0x00001195, - 0x000011ca, 0x000011d1, 0x000011e9, 0x000011f7, - 0x00001240, 0x0000125e, 0x0000126c, 0x00001295, - 0x000012a2, 0x000012b3, 0x000012fa, 0x00001315, + 0x00000ffb, 0x0000101c, 0x00001037, 0x0000104e, + 0x00001079, 0x00001087, 0x00001095, 0x000010a3, + 0x000010b7, 0x000010ca, 0x000010d1, 0x000010db, + 0x000010f3, 0x0000110c, 0x0000113b, 0x0000115a, + 0x0000118f, 0x00001196, 0x000011ae, 0x000011bc, + 0x00001205, 0x00001223, 0x00001231, 0x0000125a, + 0x00001267, 0x00001278, 0x000012bf, 0x000012da, + 0x0000132d, 0x0000133e, 0x00001376, 0x000013b0, // Entry E0 - FF - 0x00001368, 0x00001379, 0x000013b1, 0x000013eb, - 0x00001424, 0x00001432, 0x00001465, 0x00001480, -} // Size: 952 bytes + 0x000013e9, 0x000013f7, 0x0000142a, 0x00001445, +} // Size: 936 bytes -const ko_KRData string = "" + // Size: 5248 bytes +const ko_KRData string = "" + // Size: 5189 bytes "\x02버전: %[1]s\x02FRP 버전: %[1]s\x02빌드 날짜: %[1]s\x02모든 파일\x02구성 파일\x02인증서 " + "파일\x02열쇠 파일\x02로그 파일\x02허용 범위를 벗어난 숫자\x02%[1]d보다 큰 숫자를 입력하세요.\x02암호 불일" + "치\x02확인하고 다시 시도해 주세요.\x02숫자가 아님\x02유효한 숫자를 입력하세요.\x02새로운 버전!\x02에 대한" + "\x02업데이트 다운로드\x02업데이트 확인\x02업데이트 확인\x02의견을 보거나 버그를 보고하려면 프로젝트 페이지를 방문하세요" + ":\x02FRP 구성 문서를 보려면 FRP 프로젝트 페이지를 방문하십시오:\x02소프트웨어 업데이트를 확인하는 동안 오류가 발생했" + "습니다.\x02현재 사용 가능한 업데이트가 없습니다.\x02확인\x02취소\x02구성\x02새 구성\x02파일에서 구성 가져오" + - "기\x02구성이 이미 삭제됨\x02\x22%[1]s\x22 구성이 이미 제거되었습니다.\x02편집하다\x02파일 열기\x02폴" + - "더에 표시\x02복사본 생성\x02모두\x02일반 구성만 해당\x02파일에서 가져오기\x02URL에서 가져오기\x02클립보드에" + - "서 가져오기\x02공유 링크 복사\x02모든 구성을 ZIP 으로 내보내기\x02삭제\x02구성 만들기\x02수동 설정\x02구" + - "성 가져오기\x02%[2]d개 구성 중 %[1]d개를 가져왔습니다.\x02이름이 \x22%[1]s\x22 인 다른 구성이 이미" + - " 있습니다.\x02\x22%[1]s\x22 파일은 유효한 ZIP 파일이 아닙니다.\x02\x22%[1]s\x22 구성 삭제\x02" + - "\x22%[1]s\x22 구성을 삭제하시겠습니까?\x02새 클라이언트\x02클라이언트 편집 - %[1]s\x02기초적인\x02이름" + - "\x02서버 주소\x02서버 포트\x02사용자\x02인증\x02인증 방법\x02없음\x02토큰\x02비밀 키\x02받는 사람" + - "\x02범위\x02토큰 URL\x02입증\x02대기 중\x02작동 연결\x02통나무\x02* 로그를 기록하지 않고 원본 로그 파일" + - "을 삭제하려면 비워 둡니다.\x02로그 파일\x02로그 파일 선택\x02수준\x02최대 일수\x02관리자\x02관리자 주소" + - "\x02관리 포트\x02비밀번호\x02자산\x02관리 서버가 리소스를 로드할 로컬 디렉토리를 선택하십시오.\x02자동 삭제\x02" + - "절대\x02상대적\x02날짜 삭제\x02삭제 일\x02날\x02연결\x02규약\x02HTTP 프록시\x02연결 수\x02심장박" + - "동\x02간격\x02s\x02타임아웃\x02연결 시간 초과\x02유지\x02유휴 시간 초과\x02최대 스트림\x02켜다\x02" + - "폐쇄\x02호스트 이름\x02자격증\x02인증서 파일 선택\x02인증서 키\x02인증서 키 파일 선택\x02신뢰할 수 있는 C" + - "A\x02신뢰할 수 있는 CA 파일 선택\x02고급의\x02다중화\x02다중화 대기 중\x02소스 주소\x02다른 옵션\x02로그" + - "인 실패 후 종료\x02부팅 시 자동 시작 비활성화\x02관습\x02사용자 지정 옵션\x02* FRP 설정 파일의 [commo" + - "n] 부분을 참고하세요.\x02구성이 이미 있습니다.\x02구성 이름 \x22%[1]s\x22 이(가) 이미 존재합니다.\x02새" + - " 프록시\x02프록시 편집 - %[1]s\x02무작위의\x02유형\x02역할\x02방문객\x02비밀 키\x02지역 주소\x02로컬" + - " 포트\x02원격 포트\x02바인드 주소\x02바인드 포트\x02서버 이름\x02하위 도메인\x02사용자 정의 도메인\x02URL" + - " 라우팅\x02멀티플렉서\x02경로 사용자\x02클라이언트\x02서버\x02대역폭\x02프록시 버전\x02비어 있는\x02암호화" + - "\x02압축\x02HTTP 사용자\x02HTTP 비밀번호\x02호스트 재작성\x02플러그인\x02플러그인 이름\x02Unix 경로" + - "\x02선택 Unix 경로\x02로컬 경로\x02디렉토리 목록에 대한 폴더를 선택하십시오.\x02스트립 접두사\x02부하 분산" + - "\x02그룹\x02그룹 비밀 키\x02건강 체크\x02유형\x02시간 초과\x02실패 횟수\x02간격\x02* FRP 에서 지원하" + - "는 매개변수를 참조하십시오.\x02프록시가 이미 있습니다.\x02프록시 이름 \x22%[1]s\x22 이(가) 이미 존재합니다" + - ".\x02로그 폴더 열기\x02최신\x02알려지지 않은\x02달리기\x02중지됨\x02시작\x02멎는\x02상태\x02원격 주소" + - "\x02복사\x02시작\x02서비스\x02중지\x02로컬 디렉토리\x02추가하다\x02포트\x02오픈 포트\x02옵션\x02마스터" + - " 비밀번호\x02이 프로그램에 대한 액세스를 제한하기 위해 암호를 설정할 수 있습니다.\x0a다음에 이 프로그램을 사용할 때 입력" + - "하라는 메시지가 표시됩니다.\x02마스터 비밀번호 사용\x02비밀번호 변경\x02언어\x02현재 표시 언어는\x02수정 사항을" + - " 적용하려면 프로그램을 재시작해야 합니다.\x02언어 선택\x02기본값\x02새 구성을 만들 때 기본값을 정의합니다.\x0a여기의" + - " 값은 기존 구성에 영향을 주지 않습니다.\x02기본값으로 설정\x02암호가 제거되었습니다.\x02새 마스터 비밀번호\x02비밀번" + - "호 재입력\x02비밀번호가 설정되어 있습니다.\x02로그 수준\x02로그 보존\x02빠른 추가\x02원격 데스크탑\x02HTT" + - "P 파일 서버\x02켜다\x02구성 열기\x02직접 편집\x02도메인\x02액세스 주소 복사\x02프록시 \x22%[1]s\x22" + - " 삭제\x02\x22%[1]s\x22 프록시를 삭제하시겠습니까?\x02프록시 \x22%[1]s\x22 비활성화\x02\x22%[1" + - "]s\x22 프록시를 비활성화하시겠습니까?\x02폐쇄\x02패시브 포트 범위\x02FRP 관리자\x02* 한 줄에 하나의 링크로 " + - "일괄 가져오기를 지원합니다.\x02자동으로 이름 바꾸기\x02준비가 된\x02올바른 URL 목록을 입력하세요.\x02다운로드" + - "\x02암호를 입력\x02%[1]s을(를) 작동하려면 관리 암호를 입력해야 합니다.\x02관리 비밀번호 입력\x02비밀번호가 올바" + - "르지 않습니다. 비밀번호를 다시 입력하세요.\x02잘못된 입력\x02%.[1]f에서 %.[2]f까지의 숫자를 입력하세요." + - "\x02%[1]s에서 %[2]s 사이의 숫자를 입력하십시오.\x02텍스트가 필수 패턴과 일치하지 않습니다.\x02선택 필수\x02" + - "제공된 옵션 중 하나를 선택하십시오.\x02선택이 필요합니다." + "기\x02구성이 이미 삭제됨\x02\x22%[1]s\x22 구성이 이미 제거되었습니다.\x02편집하다\x02복사본 생성\x02" + + "모두\x02일반 구성만 해당\x02파일에서 가져오기\x02URL에서 가져오기\x02클립보드에서 가져오기\x02공유 링크 복사" + + "\x02모든 구성을 ZIP 으로 내보내기\x02삭제\x02구성 만들기\x02수동 설정\x02구성 가져오기\x02%[2]d개 구성 " + + "중 %[1]d개를 가져왔습니다.\x02이름이 \x22%[1]s\x22 인 다른 구성이 이미 있습니다.\x02\x22%[1]s" + + "\x22 파일은 유효한 ZIP 파일이 아닙니다.\x02\x22%[1]s\x22 구성 삭제\x02\x22%[1]s\x22 구성을 삭" + + "제하시겠습니까?\x02새 클라이언트\x02클라이언트 편집 - %[1]s\x02기초적인\x02이름\x02서버 주소\x02서버 포" + + "트\x02사용자\x02인증\x02인증 방법\x02없음\x02토큰\x02비밀 키\x02받는 사람\x02범위\x02토큰 URL" + + "\x02입증\x02대기 중\x02작동 연결\x02통나무\x02* 로그를 기록하지 않고 원본 로그 파일을 삭제하려면 비워 둡니다." + + "\x02로그 파일\x02로그 파일 선택\x02수준\x02최대 일수\x02관리자\x02관리자 주소\x02관리 포트\x02비밀번호" + + "\x02자산\x02관리 서버가 리소스를 로드할 로컬 디렉토리를 선택하십시오.\x02자동 삭제\x02절대\x02상대적\x02날짜 삭" + + "제\x02삭제 일\x02날\x02연결\x02규약\x02HTTP 프록시\x02연결 수\x02심장박동\x02간격\x02s\x02타" + + "임아웃\x02연결 시간 초과\x02유지\x02유휴 시간 초과\x02최대 스트림\x02켜다\x02폐쇄\x02호스트 이름\x02자" + + "격증\x02인증서 파일 선택\x02인증서 키\x02인증서 키 파일 선택\x02신뢰할 수 있는 CA\x02신뢰할 수 있는 CA " + + "파일 선택\x02고급의\x02다중화\x02다중화 대기 중\x02소스 주소\x02다른 옵션\x02로그인 실패 후 종료\x02부팅" + + " 시 자동 시작 비활성화\x02관습\x02사용자 지정 옵션\x02* FRP 설정 파일의 [common] 부분을 참고하세요.\x02" + + "구성이 이미 있습니다.\x02구성 이름 \x22%[1]s\x22 이(가) 이미 존재합니다.\x02새 프록시\x02프록시 편집 " + + "- %[1]s\x02무작위의\x02유형\x02역할\x02방문객\x02비밀 키\x02지역 주소\x02로컬 포트\x02원격 포트" + + "\x02바인드 주소\x02바인드 포트\x02서버 이름\x02하위 도메인\x02사용자 정의 도메인\x02URL 라우팅\x02멀티플렉" + + "서\x02경로 사용자\x02클라이언트\x02서버\x02대역폭\x02프록시 버전\x02비어 있는\x02암호화\x02압축\x02H" + + "TTP 사용자\x02HTTP 비밀번호\x02호스트 재작성\x02플러그인\x02플러그인 이름\x02Unix 경로\x02선택 Unix" + + " 경로\x02로컬 경로\x02디렉토리 목록에 대한 폴더를 선택하십시오.\x02스트립 접두사\x02부하 분산\x02그룹\x02그룹 " + + "비밀 키\x02건강 체크\x02유형\x02시간 초과\x02실패 횟수\x02간격\x02* FRP 에서 지원하는 매개변수를 참조하" + + "십시오.\x02프록시가 이미 있습니다.\x02프록시 이름 \x22%[1]s\x22 이(가) 이미 존재합니다.\x02로그 폴더 " + + "열기\x02최신\x02알려지지 않은\x02달리기\x02중지됨\x02시작\x02멎는\x02상태\x02원격 주소\x02복사\x02" + + "시작\x02서비스\x02중지\x02로컬 디렉토리\x02추가하다\x02포트\x02오픈 포트\x02옵션\x02마스터 비밀번호" + + "\x02이 프로그램에 대한 액세스를 제한하기 위해 암호를 설정할 수 있습니다.\x0a다음에 이 프로그램을 사용할 때 입력하라는 메" + + "시지가 표시됩니다.\x02마스터 비밀번호 사용\x02비밀번호 변경\x02언어\x02현재 표시 언어는\x02수정 사항을 적용하려" + + "면 프로그램을 재시작해야 합니다.\x02언어 선택\x02기본값\x02새 구성을 만들 때 기본값을 정의합니다.\x0a여기의 값은" + + " 기존 구성에 영향을 주지 않습니다.\x02기본값으로 설정\x02암호가 제거되었습니다.\x02새 마스터 비밀번호\x02비밀번호 재" + + "입력\x02비밀번호가 설정되어 있습니다.\x02로그 수준\x02로그 보존\x02빠른 추가\x02원격 데스크탑\x02HTTP 파" + + "일 서버\x02켜다\x02도메인\x02액세스 주소 복사\x02프록시 \x22%[1]s\x22 삭제\x02\x22%[1]s" + + "\x22 프록시를 삭제하시겠습니까?\x02프록시 \x22%[1]s\x22 비활성화\x02\x22%[1]s\x22 프록시를 비활성화" + + "하시겠습니까?\x02폐쇄\x02패시브 포트 범위\x02FRP 관리자\x02* 한 줄에 하나의 링크로 일괄 가져오기를 지원합니다" + + ".\x02자동으로 이름 바꾸기\x02준비가 된\x02올바른 URL 목록을 입력하세요.\x02다운로드\x02암호를 입력\x02%[1" + + "]s을(를) 작동하려면 관리 암호를 입력해야 합니다.\x02관리 비밀번호 입력\x02비밀번호가 올바르지 않습니다. 비밀번호를 다시" + + " 입력하세요.\x02잘못된 입력\x02%.[1]f에서 %.[2]f까지의 숫자를 입력하세요.\x02%[1]s에서 %[2]s 사이의 " + + "숫자를 입력하십시오.\x02텍스트가 필수 패턴과 일치하지 않습니다.\x02선택 필수\x02제공된 옵션 중 하나를 선택하십시오." + + "\x02선택이 필요합니다." -var zh_CNIndex = []uint32{ // 232 elements +var zh_CNIndex = []uint32{ // 228 elements // Entry 0 - 1F 0x00000000, 0x0000000f, 0x00000022, 0x00000037, 0x00000044, 0x00000051, 0x0000005e, 0x0000006b, @@ -813,101 +802,100 @@ var zh_CNIndex = []uint32{ // 232 elements 0x00000213, 0x0000021a, 0x00000221, 0x0000022e, 0x00000244, 0x00000254, 0x00000275, 0x0000027c, // Entry 20 - 3F - 0x00000289, 0x0000029f, 0x000002ac, 0x000002b3, - 0x000002c3, 0x000002d3, 0x000002e2, 0x000002f5, - 0x00000308, 0x0000032b, 0x00000332, 0x0000033f, - 0x0000034c, 0x00000359, 0x0000038c, 0x000003bc, - 0x000003ea, 0x00000402, 0x00000441, 0x00000451, - 0x00000469, 0x00000470, 0x00000477, 0x00000487, - 0x00000497, 0x000004a1, 0x000004a8, 0x000004b5, - 0x000004b9, 0x000004c0, 0x000004c7, 0x000004d1, + 0x00000289, 0x00000290, 0x000002a0, 0x000002b0, + 0x000002bf, 0x000002d2, 0x000002e5, 0x00000308, + 0x0000030f, 0x0000031c, 0x00000329, 0x00000336, + 0x00000369, 0x00000399, 0x000003c7, 0x000003df, + 0x0000041e, 0x0000042e, 0x00000446, 0x0000044d, + 0x00000454, 0x00000464, 0x00000474, 0x0000047e, + 0x00000485, 0x00000492, 0x00000496, 0x0000049d, + 0x000004a4, 0x000004ae, 0x000004b8, 0x000004c5, // Entry 40 - 5F - 0x000004db, 0x000004e8, 0x000004ef, 0x000004fc, - 0x00000509, 0x00000510, 0x0000054f, 0x0000055c, - 0x0000056f, 0x00000576, 0x00000583, 0x0000058a, - 0x00000597, 0x000005a4, 0x000005ab, 0x000005b8, - 0x000005ec, 0x000005f9, 0x00000600, 0x00000607, - 0x00000614, 0x00000621, 0x00000625, 0x0000062c, - 0x00000633, 0x0000063f, 0x0000064f, 0x00000656, - 0x0000065d, 0x00000661, 0x00000668, 0x00000675, + 0x000004cc, 0x000004d9, 0x000004e6, 0x000004ed, + 0x0000052c, 0x00000539, 0x0000054c, 0x00000553, + 0x00000560, 0x00000567, 0x00000574, 0x00000581, + 0x00000588, 0x00000595, 0x000005c9, 0x000005d6, + 0x000005dd, 0x000005e4, 0x000005f1, 0x000005fe, + 0x00000602, 0x00000609, 0x00000610, 0x0000061c, + 0x0000062c, 0x00000633, 0x0000063a, 0x0000063e, + 0x00000645, 0x00000652, 0x0000065f, 0x0000066c, // Entry 60 - 7F - 0x00000682, 0x0000068f, 0x0000069f, 0x000006a6, - 0x000006ad, 0x000006ba, 0x000006c7, 0x000006da, - 0x000006e7, 0x00000700, 0x00000710, 0x00000729, - 0x00000730, 0x0000073d, 0x0000074d, 0x0000075d, - 0x0000076a, 0x00000786, 0x0000079c, 0x000007a6, - 0x000007b6, 0x000007e6, 0x000007f6, 0x00000817, - 0x00000824, 0x00000839, 0x00000846, 0x0000084d, - 0x00000854, 0x0000085e, 0x00000865, 0x00000872, + 0x0000067c, 0x00000683, 0x0000068a, 0x00000697, + 0x000006a4, 0x000006b7, 0x000006c4, 0x000006dd, + 0x000006ed, 0x00000706, 0x0000070d, 0x0000071a, + 0x0000072a, 0x0000073a, 0x00000747, 0x00000763, + 0x00000779, 0x00000783, 0x00000793, 0x000007c3, + 0x000007d3, 0x000007f4, 0x00000801, 0x00000816, + 0x00000823, 0x0000082a, 0x00000831, 0x0000083b, + 0x00000842, 0x0000084f, 0x0000085c, 0x00000869, // Entry 80 - 9F - 0x0000087f, 0x0000088c, 0x00000899, 0x000008a6, - 0x000008b3, 0x000008bd, 0x000008cd, 0x000008d8, - 0x000008e2, 0x000008ef, 0x000008f9, 0x00000903, - 0x00000910, 0x0000091d, 0x00000921, 0x0000092e, - 0x0000093b, 0x00000947, 0x00000953, 0x0000095f, - 0x00000966, 0x00000973, 0x0000097f, 0x00000992, - 0x0000099f, 0x000009cd, 0x000009da, 0x000009e7, - 0x000009f4, 0x00000a01, 0x00000a0e, 0x00000a1b, + 0x00000876, 0x00000883, 0x00000890, 0x0000089a, + 0x000008aa, 0x000008b5, 0x000008bf, 0x000008cc, + 0x000008d6, 0x000008e0, 0x000008ed, 0x000008fa, + 0x000008fe, 0x0000090b, 0x00000918, 0x00000924, + 0x00000930, 0x0000093c, 0x00000943, 0x00000950, + 0x0000095c, 0x0000096f, 0x0000097c, 0x000009aa, + 0x000009b7, 0x000009c4, 0x000009d1, 0x000009de, + 0x000009eb, 0x000009f8, 0x00000a05, 0x00000a12, // Entry A0 - BF - 0x00000a28, 0x00000a35, 0x00000a42, 0x00000a62, - 0x00000a72, 0x00000a93, 0x00000aa9, 0x00000ab0, - 0x00000ab7, 0x00000ac4, 0x00000ace, 0x00000adb, - 0x00000ae8, 0x00000aef, 0x00000afc, 0x00000b03, - 0x00000b0a, 0x00000b11, 0x00000b18, 0x00000b25, - 0x00000b2c, 0x00000b33, 0x00000b40, 0x00000b47, - 0x00000b51, 0x00000bbf, 0x00000bcf, 0x00000bdc, - 0x00000be3, 0x00000bf9, 0x00000c2a, 0x00000c37, + 0x00000a1f, 0x00000a3f, 0x00000a4f, 0x00000a70, + 0x00000a86, 0x00000a8d, 0x00000a94, 0x00000aa1, + 0x00000aab, 0x00000ab8, 0x00000ac5, 0x00000acc, + 0x00000ad9, 0x00000ae0, 0x00000ae7, 0x00000aee, + 0x00000af5, 0x00000b02, 0x00000b09, 0x00000b10, + 0x00000b1d, 0x00000b24, 0x00000b2e, 0x00000b9c, + 0x00000bac, 0x00000bb9, 0x00000bc0, 0x00000bd6, + 0x00000c07, 0x00000c14, 0x00000c1e, 0x00000c6e, // Entry C0 - DF - 0x00000c41, 0x00000c91, 0x00000ca1, 0x00000cb4, - 0x00000cc1, 0x00000cce, 0x00000ce1, 0x00000cee, - 0x00000cfb, 0x00000d08, 0x00000d15, 0x00000d27, - 0x00000d2e, 0x00000d41, 0x00000d4e, 0x00000d55, - 0x00000d68, 0x00000d80, 0x00000da7, 0x00000dbf, - 0x00000de6, 0x00000ded, 0x00000e00, 0x00000e0e, - 0x00000e3b, 0x00000e4b, 0x00000e58, 0x00000e79, - 0x00000e80, 0x00000e8d, 0x00000ebb, 0x00000ece, + 0x00000c7e, 0x00000c91, 0x00000c9e, 0x00000cab, + 0x00000cbe, 0x00000ccb, 0x00000cd8, 0x00000ce5, + 0x00000cf2, 0x00000d04, 0x00000d0b, 0x00000d12, + 0x00000d25, 0x00000d3d, 0x00000d64, 0x00000d7c, + 0x00000da3, 0x00000daa, 0x00000dbd, 0x00000dcb, + 0x00000df8, 0x00000e08, 0x00000e15, 0x00000e36, + 0x00000e3d, 0x00000e4a, 0x00000e78, 0x00000e8b, + 0x00000ead, 0x00000eba, 0x00000eec, 0x00000f1c, // Entry E0 - FF - 0x00000ef0, 0x00000efd, 0x00000f2f, 0x00000f5f, - 0x00000f84, 0x00000f8e, 0x00000fad, 0x00000fbd, -} // Size: 952 bytes + 0x00000f41, 0x00000f4b, 0x00000f6a, 0x00000f7a, +} // Size: 936 bytes -const zh_CNData string = "" + // Size: 4029 bytes +const zh_CNData string = "" + // Size: 3962 bytes "\x02版本:%[1]s\x02FRP 版本:%[1]s\x02构建日期:%[1]s\x02所有文件\x02配置文件\x02证书文件\x02密钥" + "文件\x02日志文件\x02数值超出允许范围\x02请输入一个大于 %[1]d 的数字。\x02密码不匹配\x02请检查并重试。\x02不是" + "数字\x02请输入一个有效的数字。\x02发现更新!\x02关于\x02下载更新\x02正在检查更新\x02检查更新\x02如有任何意见或报" + "告错误,请访问项目地址:\x02了解 FRP 软件配置文档,请访问 FRP 项目地址:\x02检查更新时出现错误。\x02当前没有可用的更新" + "。\x02确定\x02取消\x02配置\x02新建配置\x02从文件导入配置\x02配置已删除\x02配置名「%[1]s」已删除。\x02编" + - "辑\x02打开文件\x02在文件夹中显示\x02创建副本\x02全部\x02仅通用配置\x02从文件导入\x02从 URL 导入\x02从剪" + - "贴板导入\x02复制分享链接\x02导出所有配置 (ZIP 压缩包)\x02删除\x02新建配置\x02手动设置\x02导入配置\x02导入" + - "了 %[2]d 个配置文件中的 %[1]d 个。\x02另一个同名的配置「%[1]s」已存在。\x02文件 \x22%[1]s\x22 不是" + - "有效的压缩文件。\x02删除配置「%[1]s」\x02确定要删除配置「%[1]s」吗?此操作无法撤销。\x02新建客户端\x02编辑客户端 " + - "- %[1]s\x02基本\x02名称\x02服务器地址\x02服务器端口\x02用户名\x02认证\x02认证方式\x02无\x02令牌" + - "\x02密钥\x02接收者\x02作用域\x02令牌地址\x02鉴权\x02心跳消息\x02工作连接\x02日志\x02* 留空则不记录日志,且" + - "删除原来的日志文件。\x02日志文件\x02选择日志文件\x02级别\x02最大天数\x02管理\x02管理地址\x02管理端口\x02密码" + - "\x02静态资源\x02选择管理服务器使用的静态资源目录。\x02自动删除\x02绝对\x02相对\x02删除日期\x02删除天数\x02天" + - "\x02连接\x02协议\x02HTTP 代理\x02连接池数量\x02心跳\x02间隔\x02秒\x02超时\x02连接超时\x02保活周期" + - "\x02闲置超时\x02最大流数量\x02开启\x02关闭\x02主机名称\x02证书文件\x02选择证书文件\x02密钥文件\x02选择证书密" + - "钥文件\x02受信任证书\x02选择受信任的证书\x02高级\x02多路复用\x02复用器心跳\x02使用源地址\x02其他选项\x02初次" + - "登录失败后退出\x02禁用开机自启动\x02自定义\x02自定义参数\x02* 参考 FRP 配置文件的 [common] 部分。\x02配" + - "置已存在\x02配置名「%[1]s」已存在。\x02新建代理\x02编辑代理 - %[1]s\x02随机名称\x02类型\x02角色\x02" + - "访问者\x02私钥\x02本地地址\x02本地端口\x02远程端口\x02绑定地址\x02绑定端口\x02服务名称\x02子域名\x02自定" + - "义域名\x02URL 路由\x02复用器\x02路由用户\x02客户端\x02服务端\x02带宽限流\x02代理版本\x02空\x02加密传" + - "输\x02压缩传输\x02HTTP 用户\x02HTTP 密码\x02Host 替换\x02插件\x02插件名称\x02Unix 路径" + - "\x02选择 Unix 路径\x02本地路径\x02选择需要显示目录列表的文件夹。\x02移除前缀\x02负载均衡\x02分组名称\x02分组密" + - "钥\x02健康检查\x02检查类型\x02检查超时\x02错误次数\x02检查周期\x02* 参考 FRP 支持的参数。\x02代理已存在" + - "\x02代理名「%[1]s」已存在。\x02打开日志文件夹\x02最新\x02未知\x02正在运行\x02已停止\x02正在启动\x02正在停止" + - "\x02状态\x02远程地址\x02复制\x02启动\x02服务\x02停止\x02本地目录\x02添加\x02端口\x02打开端口\x02选项" + - "\x02主密码\x02您可以设置密码来限制访问此程序。\x0a在下次使用此程序时,您将被要求输入密码。\x02使用主密码\x02修改密码\x02" + - "语言\x02目前的显示语言\x02您必须重新启动程序才能应用修改。\x02选择语言\x02默认值\x02定义新建配置时的默认值。\x0a此处" + - "的值不会影响现有的配置。\x02设置默认值\x02密码已删除。\x02新主密码\x02确认密码\x02密码已设定。\x02日志级别\x02日" + - "志保留\x02快速添加\x02远程桌面\x02HTTP 文件服务\x02启用\x02打开配置文件\x02直接编辑\x02域名\x02复制访问" + - "地址\x02删除代理「%[1]s」\x02确定要删除代理「%[1]s」吗?\x02禁用代理「%[1]s」\x02确定要禁用代理「%[1]s」" + - "吗?\x02禁用\x02被动端口范围\x02FRP 管理器\x02* 支持批量导入,每行一个链接。\x02自动重命名\x02准备就绪\x02" + - "请输入正确的 URL 列表。\x02下载\x02输入密码\x02您必须输入管理密码来使用 %[1]s。\x02输入管理密码\x02密码错误。" + - "请重新输入。\x02输入无效\x02请输入一个从 %.[1]f 到 %.[2]f 的数字。\x02请输入一个从 %[1]s 到 %[2]s " + - "的数字。\x02文本与要求的模式不匹配。\x02必填项\x02请选择其中一个选项。\x02需要选择。" + "辑\x02创建副本\x02全部\x02仅通用配置\x02从文件导入\x02从 URL 导入\x02从剪贴板导入\x02复制分享链接\x02导" + + "出所有配置 (ZIP 压缩包)\x02删除\x02新建配置\x02手动设置\x02导入配置\x02导入了 %[2]d 个配置文件中的 %[1" + + "]d 个。\x02另一个同名的配置「%[1]s」已存在。\x02文件 \x22%[1]s\x22 不是有效的压缩文件。\x02删除配置「%[1]" + + "s」\x02确定要删除配置「%[1]s」吗?此操作无法撤销。\x02新建客户端\x02编辑客户端 - %[1]s\x02基本\x02名称\x02" + + "服务器地址\x02服务器端口\x02用户名\x02认证\x02认证方式\x02无\x02令牌\x02密钥\x02接收者\x02作用域\x02" + + "令牌地址\x02鉴权\x02心跳消息\x02工作连接\x02日志\x02* 留空则不记录日志,且删除原来的日志文件。\x02日志文件\x02" + + "选择日志文件\x02级别\x02最大天数\x02管理\x02管理地址\x02管理端口\x02密码\x02静态资源\x02选择管理服务器使用的" + + "静态资源目录。\x02自动删除\x02绝对\x02相对\x02删除日期\x02删除天数\x02天\x02连接\x02协议\x02HTTP 代" + + "理\x02连接池数量\x02心跳\x02间隔\x02秒\x02超时\x02连接超时\x02保活周期\x02闲置超时\x02最大流数量\x02" + + "开启\x02关闭\x02主机名称\x02证书文件\x02选择证书文件\x02密钥文件\x02选择证书密钥文件\x02受信任证书\x02选择受" + + "信任的证书\x02高级\x02多路复用\x02复用器心跳\x02使用源地址\x02其他选项\x02初次登录失败后退出\x02禁用开机自启动" + + "\x02自定义\x02自定义参数\x02* 参考 FRP 配置文件的 [common] 部分。\x02配置已存在\x02配置名「%[1]s」已存" + + "在。\x02新建代理\x02编辑代理 - %[1]s\x02随机名称\x02类型\x02角色\x02访问者\x02私钥\x02本地地址" + + "\x02本地端口\x02远程端口\x02绑定地址\x02绑定端口\x02服务名称\x02子域名\x02自定义域名\x02URL 路由\x02复用" + + "器\x02路由用户\x02客户端\x02服务端\x02带宽限流\x02代理版本\x02空\x02加密传输\x02压缩传输\x02HTTP 用" + + "户\x02HTTP 密码\x02Host 替换\x02插件\x02插件名称\x02Unix 路径\x02选择 Unix 路径\x02本地路径" + + "\x02选择需要显示目录列表的文件夹。\x02移除前缀\x02负载均衡\x02分组名称\x02分组密钥\x02健康检查\x02检查类型\x02检" + + "查超时\x02错误次数\x02检查周期\x02* 参考 FRP 支持的参数。\x02代理已存在\x02代理名「%[1]s」已存在。\x02打" + + "开日志文件夹\x02最新\x02未知\x02正在运行\x02已停止\x02正在启动\x02正在停止\x02状态\x02远程地址\x02复制" + + "\x02启动\x02服务\x02停止\x02本地目录\x02添加\x02端口\x02打开端口\x02选项\x02主密码\x02您可以设置密码来限" + + "制访问此程序。\x0a在下次使用此程序时,您将被要求输入密码。\x02使用主密码\x02修改密码\x02语言\x02目前的显示语言\x02您" + + "必须重新启动程序才能应用修改。\x02选择语言\x02默认值\x02定义新建配置时的默认值。\x0a此处的值不会影响现有的配置。\x02设置" + + "默认值\x02密码已删除。\x02新主密码\x02确认密码\x02密码已设定。\x02日志级别\x02日志保留\x02快速添加\x02远程桌" + + "面\x02HTTP 文件服务\x02启用\x02域名\x02复制访问地址\x02删除代理「%[1]s」\x02确定要删除代理「%[1]s」吗" + + "?\x02禁用代理「%[1]s」\x02确定要禁用代理「%[1]s」吗?\x02禁用\x02被动端口范围\x02FRP 管理器\x02* 支" + + "持批量导入,每行一个链接。\x02自动重命名\x02准备就绪\x02请输入正确的 URL 列表。\x02下载\x02输入密码\x02您必须输" + + "入管理密码来使用 %[1]s。\x02输入管理密码\x02密码错误。请重新输入。\x02输入无效\x02请输入一个从 %.[1]f 到 %." + + "[2]f 的数字。\x02请输入一个从 %[1]s 到 %[2]s 的数字。\x02文本与要求的模式不匹配。\x02必填项\x02请选择其中一个" + + "选项。\x02需要选择。" -var zh_TWIndex = []uint32{ // 232 elements +var zh_TWIndex = []uint32{ // 228 elements // Entry 0 - 1F 0x00000000, 0x0000000f, 0x00000022, 0x00000037, 0x00000044, 0x00000051, 0x0000005e, 0x0000006b, @@ -918,98 +906,97 @@ var zh_TWIndex = []uint32{ // 232 elements 0x00000213, 0x0000021a, 0x00000221, 0x0000022e, 0x00000244, 0x00000254, 0x00000275, 0x0000027c, // Entry 20 - 3F - 0x00000289, 0x0000029f, 0x000002ac, 0x000002b3, - 0x000002c3, 0x000002d3, 0x000002e2, 0x000002f5, - 0x00000308, 0x0000032b, 0x00000332, 0x0000033f, - 0x0000034c, 0x00000359, 0x0000038c, 0x000003bc, - 0x000003ea, 0x00000402, 0x00000441, 0x00000451, - 0x00000469, 0x00000470, 0x00000477, 0x00000487, - 0x00000497, 0x000004a1, 0x000004a8, 0x000004b5, - 0x000004b9, 0x000004c0, 0x000004c7, 0x000004d1, + 0x00000289, 0x00000290, 0x000002a0, 0x000002b0, + 0x000002bf, 0x000002d2, 0x000002e5, 0x00000308, + 0x0000030f, 0x0000031c, 0x00000329, 0x00000336, + 0x00000369, 0x00000399, 0x000003c7, 0x000003df, + 0x0000041e, 0x0000042e, 0x00000446, 0x0000044d, + 0x00000454, 0x00000464, 0x00000474, 0x0000047e, + 0x00000485, 0x00000492, 0x00000496, 0x0000049d, + 0x000004a4, 0x000004ae, 0x000004b8, 0x000004c5, // Entry 40 - 5F - 0x000004db, 0x000004e8, 0x000004ef, 0x000004fc, - 0x00000509, 0x00000510, 0x0000054f, 0x0000055c, - 0x0000056f, 0x00000576, 0x00000583, 0x0000058a, - 0x00000597, 0x000005a4, 0x000005ab, 0x000005b8, - 0x000005ec, 0x000005f9, 0x00000600, 0x00000607, - 0x00000614, 0x00000621, 0x00000625, 0x0000062c, - 0x00000633, 0x0000063f, 0x0000064f, 0x00000656, - 0x0000065d, 0x00000661, 0x00000668, 0x00000675, + 0x000004cc, 0x000004d9, 0x000004e6, 0x000004ed, + 0x0000052c, 0x00000539, 0x0000054c, 0x00000553, + 0x00000560, 0x00000567, 0x00000574, 0x00000581, + 0x00000588, 0x00000595, 0x000005c9, 0x000005d6, + 0x000005dd, 0x000005e4, 0x000005f1, 0x000005fe, + 0x00000602, 0x00000609, 0x00000610, 0x0000061c, + 0x0000062c, 0x00000633, 0x0000063a, 0x0000063e, + 0x00000645, 0x00000652, 0x0000065f, 0x0000066c, // Entry 60 - 7F - 0x00000682, 0x0000068f, 0x0000069f, 0x000006a6, - 0x000006ad, 0x000006ba, 0x000006c7, 0x000006da, - 0x000006e7, 0x00000700, 0x00000710, 0x00000729, - 0x00000730, 0x0000073d, 0x0000074d, 0x0000075d, - 0x0000076a, 0x00000786, 0x0000079c, 0x000007a6, - 0x000007b6, 0x000007e6, 0x000007f6, 0x00000817, - 0x00000824, 0x00000839, 0x00000846, 0x0000084d, - 0x00000854, 0x0000085e, 0x00000865, 0x00000872, + 0x0000067c, 0x00000683, 0x0000068a, 0x00000697, + 0x000006a4, 0x000006b7, 0x000006c4, 0x000006dd, + 0x000006ed, 0x00000706, 0x0000070d, 0x0000071a, + 0x0000072a, 0x0000073a, 0x00000747, 0x00000763, + 0x00000779, 0x00000783, 0x00000793, 0x000007c3, + 0x000007d3, 0x000007f4, 0x00000801, 0x00000816, + 0x00000823, 0x0000082a, 0x00000831, 0x0000083b, + 0x00000842, 0x0000084f, 0x0000085c, 0x00000869, // Entry 80 - 9F - 0x0000087f, 0x0000088c, 0x00000899, 0x000008a6, - 0x000008b3, 0x000008bd, 0x000008cd, 0x000008d8, - 0x000008e2, 0x000008ef, 0x000008f9, 0x00000903, - 0x00000910, 0x0000091d, 0x00000921, 0x0000092e, - 0x0000093b, 0x00000947, 0x00000953, 0x0000095f, - 0x00000966, 0x00000973, 0x0000097f, 0x00000992, - 0x0000099f, 0x000009cd, 0x000009da, 0x000009e7, - 0x000009f4, 0x00000a01, 0x00000a0e, 0x00000a1b, + 0x00000876, 0x00000883, 0x00000890, 0x0000089a, + 0x000008aa, 0x000008b5, 0x000008bf, 0x000008cc, + 0x000008d6, 0x000008e0, 0x000008ed, 0x000008fa, + 0x000008fe, 0x0000090b, 0x00000918, 0x00000924, + 0x00000930, 0x0000093c, 0x00000943, 0x00000950, + 0x0000095c, 0x0000096f, 0x0000097c, 0x000009aa, + 0x000009b7, 0x000009c4, 0x000009d1, 0x000009de, + 0x000009eb, 0x000009f8, 0x00000a05, 0x00000a12, // Entry A0 - BF - 0x00000a28, 0x00000a35, 0x00000a42, 0x00000a62, - 0x00000a72, 0x00000a93, 0x00000aa9, 0x00000ab0, - 0x00000ab7, 0x00000ac4, 0x00000ace, 0x00000adb, - 0x00000ae8, 0x00000aef, 0x00000afc, 0x00000b03, - 0x00000b0a, 0x00000b11, 0x00000b18, 0x00000b25, - 0x00000b2c, 0x00000b33, 0x00000b40, 0x00000b47, - 0x00000b51, 0x00000bbf, 0x00000bcf, 0x00000bdc, - 0x00000be3, 0x00000bf9, 0x00000c2a, 0x00000c37, + 0x00000a1f, 0x00000a3f, 0x00000a4f, 0x00000a70, + 0x00000a86, 0x00000a8d, 0x00000a94, 0x00000aa1, + 0x00000aab, 0x00000ab8, 0x00000ac5, 0x00000acc, + 0x00000ad9, 0x00000ae0, 0x00000ae7, 0x00000aee, + 0x00000af5, 0x00000b02, 0x00000b09, 0x00000b10, + 0x00000b1d, 0x00000b24, 0x00000b2e, 0x00000b9c, + 0x00000bac, 0x00000bb9, 0x00000bc0, 0x00000bd6, + 0x00000c07, 0x00000c14, 0x00000c1e, 0x00000c6e, // Entry C0 - DF - 0x00000c41, 0x00000c91, 0x00000ca1, 0x00000cb4, - 0x00000cc1, 0x00000cce, 0x00000ce1, 0x00000cee, - 0x00000cfb, 0x00000d08, 0x00000d15, 0x00000d27, - 0x00000d2e, 0x00000d41, 0x00000d4e, 0x00000d55, - 0x00000d68, 0x00000d80, 0x00000da7, 0x00000dbf, - 0x00000de6, 0x00000ded, 0x00000e00, 0x00000e0e, - 0x00000e3b, 0x00000e4b, 0x00000e58, 0x00000e79, - 0x00000e80, 0x00000e8d, 0x00000ebb, 0x00000ece, + 0x00000c7e, 0x00000c91, 0x00000c9e, 0x00000cab, + 0x00000cbe, 0x00000ccb, 0x00000cd8, 0x00000ce5, + 0x00000cf2, 0x00000d04, 0x00000d0b, 0x00000d12, + 0x00000d25, 0x00000d3d, 0x00000d64, 0x00000d7c, + 0x00000da3, 0x00000daa, 0x00000dbd, 0x00000dcb, + 0x00000df8, 0x00000e08, 0x00000e15, 0x00000e36, + 0x00000e3d, 0x00000e4a, 0x00000e78, 0x00000e8b, + 0x00000ead, 0x00000eba, 0x00000eec, 0x00000f1c, // Entry E0 - FF - 0x00000ef0, 0x00000efd, 0x00000f2f, 0x00000f5f, - 0x00000f84, 0x00000f8e, 0x00000fad, 0x00000fbd, -} // Size: 952 bytes + 0x00000f41, 0x00000f4b, 0x00000f6a, 0x00000f7a, +} // Size: 936 bytes -const zh_TWData string = "" + // Size: 4029 bytes +const zh_TWData string = "" + // Size: 3962 bytes "\x02版本:%[1]s\x02FRP 版本:%[1]s\x02構建日期:%[1]s\x02所有文件\x02配置文件\x02證書文件\x02密鑰" + "文件\x02日誌文件\x02數值超出允許範圍\x02請輸入一個大於 %[1]d 的數字。\x02密碼不匹配\x02請檢查並重試。\x02不是" + "數字\x02請輸入一個有效的數字。\x02發現更新!\x02關於\x02下載更新\x02正在檢查更新\x02檢查更新\x02如有任何意見或報" + "告錯誤,請訪問項目地址:\x02了解 FRP 軟件配置文檔,請訪問 FRP 項目地址:\x02檢查更新時出現錯誤。\x02當前沒有可用的更新" + "。\x02確定\x02取消\x02配置\x02新建配置\x02從文件導入配置\x02配置已刪除\x02配置名「%[1]s」已刪除。\x02編" + - "輯\x02打開文件\x02在文件夾中顯示\x02創建副本\x02全部\x02僅通用配置\x02從文件導入\x02從 URL 導入\x02從剪" + - "貼板導入\x02復制分享鏈接\x02導出所有配置 (ZIP 壓縮包)\x02刪除\x02新建配置\x02手動設置\x02導入配置\x02導入" + - "了 %[2]d 個配置文件中的 %[1]d 個。\x02另一個同名的配置「%[1]s」已存在。\x02文件 \x22%[1]s\x22 不是" + - "有效的壓縮文件。\x02刪除配置「%[1]s」\x02確定要刪除配置「%[1]s」嗎?此操作無法撤銷。\x02新建客戶端\x02編輯客戶端 " + - "- %[1]s\x02基本\x02名稱\x02服務器地址\x02服務器端口\x02用戶名\x02認證\x02認證方式\x02無\x02令牌" + - "\x02密鑰\x02接收者\x02作用域\x02令牌地址\x02鑑權\x02心跳消息\x02工作連接\x02日誌\x02* 留空則不記錄日誌,且" + - "刪除原來的日誌文件。\x02日誌文件\x02選擇日誌文件\x02級別\x02最大天數\x02管理\x02管理地址\x02管理端口\x02密碼" + - "\x02靜態資源\x02選擇管理服務器使用的靜態資源目錄。\x02自動刪除\x02絕對\x02相對\x02刪除日期\x02刪除天數\x02天" + - "\x02連接\x02協議\x02HTTP 代理\x02連接池數量\x02心跳\x02間隔\x02秒\x02超時\x02連接超時\x02保活週期" + - "\x02閒置超時\x02最大流數量\x02開啟\x02關閉\x02主機名稱\x02證書文件\x02選擇證書文件\x02密鑰文件\x02選擇證書密" + - "鑰文件\x02受信任證書\x02選擇受信任的證書\x02高級\x02多路復用\x02復用器心跳\x02使用源地址\x02其他選項\x02初次" + - "登錄失敗後退出\x02禁用開機自啟動\x02自定義\x02自定義參數\x02* 參考 FRP 配置文件的 [common] 部分。\x02配" + - "置已存在\x02配置名「%[1]s」已存在。\x02新建代理\x02編輯代理 - %[1]s\x02隨機名稱\x02類型\x02角色\x02" + - "訪問者\x02私鑰\x02本地地址\x02本地端口\x02遠程端口\x02綁定地址\x02綁定端口\x02服務名稱\x02子域名\x02自定" + - "義域名\x02URL 路由\x02復用器\x02路由用戶\x02客戶端\x02服務端\x02帶寬限流\x02代理版本\x02空\x02加密傳" + - "輸\x02壓縮傳輸\x02HTTP 用戶\x02HTTP 密碼\x02Host 替換\x02插件\x02插件名稱\x02Unix 路徑" + - "\x02選擇 Unix 路徑\x02本地路徑\x02選擇需要顯示目錄列表的文件夾。\x02移除前綴\x02負載均衡\x02分組名稱\x02分組密" + - "鑰\x02健康檢查\x02檢查類型\x02檢查超時\x02錯誤次數\x02檢查週期\x02* 參考 FRP 支持的參數。\x02代理已存在" + - "\x02代理名「%[1]s」已存在。\x02打開日誌文件夾\x02最新\x02未知\x02正在運行\x02已停止\x02正在啟動\x02正在停止" + - "\x02狀態\x02遠程地址\x02複製\x02啟動\x02服務\x02停止\x02本地目錄\x02添加\x02端口\x02打開端口\x02選項" + - "\x02主密碼\x02您可以設置密碼來限制訪問此程式。\x0a在下次使用此程式時,您將被要求輸入密碼。\x02使用主密碼\x02修改密碼\x02" + - "語言\x02目前的顯示語言\x02您必須重新啟動程式才能應用修改。\x02選擇語言\x02默認值\x02定義新建配置時的默認值。\x0a此處" + - "的值不會影響現有的配置。\x02設置默認值\x02密碼已刪除。\x02新主密碼\x02確認密碼\x02密碼已設定。\x02日誌級別\x02日" + - "誌保留\x02快速添加\x02遠程桌面\x02HTTP 文件服務\x02啟用\x02打開配置文件\x02直接編輯\x02域名\x02複製訪問" + - "地址\x02刪除代理「%[1]s」\x02確定要刪除代理「%[1]s」嗎?\x02禁用代理「%[1]s」\x02確定要禁用代理「%[1]s」" + - "嗎?\x02禁用\x02被動端口範圍\x02FRP 管理器\x02* 支持批量導入,每行一個鏈接。\x02自動重命名\x02準備就緒\x02" + - "請輸入正確的 URL 列表。\x02下載\x02輸入密碼\x02您必須輸入管理密碼來使用 %[1]s。\x02輸入管理密碼\x02密碼錯誤。" + - "請重新輸入。\x02輸入無效\x02請輸入一個從 %.[1]f 到 %.[2]f 的數字。\x02請輸入一個從 %[1]s 到 %[2]s " + - "的數字。\x02文本與要求的模式不匹配。\x02必填項\x02請選擇其中一個選項。\x02需要選擇。" + "輯\x02創建副本\x02全部\x02僅通用配置\x02從文件導入\x02從 URL 導入\x02從剪貼板導入\x02復制分享鏈接\x02導" + + "出所有配置 (ZIP 壓縮包)\x02刪除\x02新建配置\x02手動設置\x02導入配置\x02導入了 %[2]d 個配置文件中的 %[1" + + "]d 個。\x02另一個同名的配置「%[1]s」已存在。\x02文件 \x22%[1]s\x22 不是有效的壓縮文件。\x02刪除配置「%[1]" + + "s」\x02確定要刪除配置「%[1]s」嗎?此操作無法撤銷。\x02新建客戶端\x02編輯客戶端 - %[1]s\x02基本\x02名稱\x02" + + "服務器地址\x02服務器端口\x02用戶名\x02認證\x02認證方式\x02無\x02令牌\x02密鑰\x02接收者\x02作用域\x02" + + "令牌地址\x02鑑權\x02心跳消息\x02工作連接\x02日誌\x02* 留空則不記錄日誌,且刪除原來的日誌文件。\x02日誌文件\x02" + + "選擇日誌文件\x02級別\x02最大天數\x02管理\x02管理地址\x02管理端口\x02密碼\x02靜態資源\x02選擇管理服務器使用的" + + "靜態資源目錄。\x02自動刪除\x02絕對\x02相對\x02刪除日期\x02刪除天數\x02天\x02連接\x02協議\x02HTTP 代" + + "理\x02連接池數量\x02心跳\x02間隔\x02秒\x02超時\x02連接超時\x02保活週期\x02閒置超時\x02最大流數量\x02" + + "開啟\x02關閉\x02主機名稱\x02證書文件\x02選擇證書文件\x02密鑰文件\x02選擇證書密鑰文件\x02受信任證書\x02選擇受" + + "信任的證書\x02高級\x02多路復用\x02復用器心跳\x02使用源地址\x02其他選項\x02初次登錄失敗後退出\x02禁用開機自啟動" + + "\x02自定義\x02自定義參數\x02* 參考 FRP 配置文件的 [common] 部分。\x02配置已存在\x02配置名「%[1]s」已存" + + "在。\x02新建代理\x02編輯代理 - %[1]s\x02隨機名稱\x02類型\x02角色\x02訪問者\x02私鑰\x02本地地址" + + "\x02本地端口\x02遠程端口\x02綁定地址\x02綁定端口\x02服務名稱\x02子域名\x02自定義域名\x02URL 路由\x02復用" + + "器\x02路由用戶\x02客戶端\x02服務端\x02帶寬限流\x02代理版本\x02空\x02加密傳輸\x02壓縮傳輸\x02HTTP 用" + + "戶\x02HTTP 密碼\x02Host 替換\x02插件\x02插件名稱\x02Unix 路徑\x02選擇 Unix 路徑\x02本地路徑" + + "\x02選擇需要顯示目錄列表的文件夾。\x02移除前綴\x02負載均衡\x02分組名稱\x02分組密鑰\x02健康檢查\x02檢查類型\x02檢" + + "查超時\x02錯誤次數\x02檢查週期\x02* 參考 FRP 支持的參數。\x02代理已存在\x02代理名「%[1]s」已存在。\x02打" + + "開日誌文件夾\x02最新\x02未知\x02正在運行\x02已停止\x02正在啟動\x02正在停止\x02狀態\x02遠程地址\x02複製" + + "\x02啟動\x02服務\x02停止\x02本地目錄\x02添加\x02端口\x02打開端口\x02選項\x02主密碼\x02您可以設置密碼來限" + + "制訪問此程式。\x0a在下次使用此程式時,您將被要求輸入密碼。\x02使用主密碼\x02修改密碼\x02語言\x02目前的顯示語言\x02您" + + "必須重新啟動程式才能應用修改。\x02選擇語言\x02默認值\x02定義新建配置時的默認值。\x0a此處的值不會影響現有的配置。\x02設置" + + "默認值\x02密碼已刪除。\x02新主密碼\x02確認密碼\x02密碼已設定。\x02日誌級別\x02日誌保留\x02快速添加\x02遠程桌" + + "面\x02HTTP 文件服務\x02啟用\x02域名\x02複製訪問地址\x02刪除代理「%[1]s」\x02確定要刪除代理「%[1]s」嗎" + + "?\x02禁用代理「%[1]s」\x02確定要禁用代理「%[1]s」嗎?\x02禁用\x02被動端口範圍\x02FRP 管理器\x02* 支" + + "持批量導入,每行一個鏈接。\x02自動重命名\x02準備就緒\x02請輸入正確的 URL 列表。\x02下載\x02輸入密碼\x02您必須輸" + + "入管理密碼來使用 %[1]s。\x02輸入管理密碼\x02密碼錯誤。請重新輸入。\x02輸入無效\x02請輸入一個從 %.[1]f 到 %." + + "[2]f 的數字。\x02請輸入一個從 %[1]s 到 %[2]s 的數字。\x02文本與要求的模式不匹配。\x02必填項\x02請選擇其中一個" + + "選項。\x02需要選擇。" - // Total table size 34683 bytes (33KiB); checksum: F8713DA1 + // Total table size 34196 bytes (33KiB); checksum: 2012B05 diff --git a/i18n/locales/en-US/messages.gotext.json b/i18n/locales/en-US/messages.gotext.json index 6faf344ea..14af8c6a3 100644 --- a/i18n/locales/en-US/messages.gotext.json +++ b/i18n/locales/en-US/messages.gotext.json @@ -268,20 +268,6 @@ "translatorComment": "Copied from source.", "fuzzy": true }, - { - "id": "Open File", - "message": "Open File", - "translation": "Open File", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Show in Folder", - "message": "Show in Folder", - "translation": "Show in Folder", - "translatorComment": "Copied from source.", - "fuzzy": true - }, { "id": "Create a Copy", "message": "Create a Copy", @@ -1577,20 +1563,6 @@ "translatorComment": "Copied from source.", "fuzzy": true }, - { - "id": "Open Config", - "message": "Open Config", - "translation": "Open Config", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Direct Edit", - "message": "Direct Edit", - "translation": "Direct Edit", - "translatorComment": "Copied from source.", - "fuzzy": true - }, { "id": "Domains", "message": "Domains", diff --git a/i18n/locales/es-ES/messages.gotext.json b/i18n/locales/es-ES/messages.gotext.json index 6cbc8e203..b7f268b2c 100644 --- a/i18n/locales/es-ES/messages.gotext.json +++ b/i18n/locales/es-ES/messages.gotext.json @@ -206,16 +206,6 @@ "message": "Edit", "translation": "Editar" }, - { - "id": "Open File", - "message": "Open File", - "translation": "Abrir documento" - }, - { - "id": "Show in Folder", - "message": "Show in Folder", - "translation": "Mostrar en la carpeta" - }, { "id": "Create a Copy", "message": "Create a Copy", @@ -1169,16 +1159,6 @@ "message": "Enable", "translation": "Habilitar" }, - { - "id": "Open Config", - "message": "Open Config", - "translation": "Abrir configuración" - }, - { - "id": "Direct Edit", - "message": "Direct Edit", - "translation": "Edición directa" - }, { "id": "Domains", "message": "Domains", diff --git a/i18n/locales/ja-JP/messages.gotext.json b/i18n/locales/ja-JP/messages.gotext.json index 7fc51fb61..03db5ac51 100644 --- a/i18n/locales/ja-JP/messages.gotext.json +++ b/i18n/locales/ja-JP/messages.gotext.json @@ -206,16 +206,6 @@ "message": "Edit", "translation": "編集" }, - { - "id": "Open File", - "message": "Open File", - "translation": "ファイルを開く" - }, - { - "id": "Show in Folder", - "message": "Show in Folder", - "translation": "フォルダで見て" - }, { "id": "Create a Copy", "message": "Create a Copy", @@ -1179,16 +1169,6 @@ "message": "Enable", "translation": "有効" }, - { - "id": "Open Config", - "message": "Open Config", - "translation": "設定を開く" - }, - { - "id": "Direct Edit", - "message": "Direct Edit", - "translation": "直接編集" - }, { "id": "Domains", "message": "Domains", diff --git a/i18n/locales/ko-KR/messages.gotext.json b/i18n/locales/ko-KR/messages.gotext.json index a19faf6ae..8160f27c2 100644 --- a/i18n/locales/ko-KR/messages.gotext.json +++ b/i18n/locales/ko-KR/messages.gotext.json @@ -206,16 +206,6 @@ "message": "Edit", "translation": "편집하다" }, - { - "id": "Open File", - "message": "Open File", - "translation": "파일 열기" - }, - { - "id": "Show in Folder", - "message": "Show in Folder", - "translation": "폴더에 표시" - }, { "id": "Create a Copy", "message": "Create a Copy", @@ -1169,16 +1159,6 @@ "message": "Enable", "translation": "켜다" }, - { - "id": "Open Config", - "message": "Open Config", - "translation": "구성 열기" - }, - { - "id": "Direct Edit", - "message": "Direct Edit", - "translation": "직접 편집" - }, { "id": "Domains", "message": "Domains", diff --git a/i18n/locales/zh-CN/messages.gotext.json b/i18n/locales/zh-CN/messages.gotext.json index d72392a72..d0be9fae7 100644 --- a/i18n/locales/zh-CN/messages.gotext.json +++ b/i18n/locales/zh-CN/messages.gotext.json @@ -206,16 +206,6 @@ "message": "Edit", "translation": "编辑" }, - { - "id": "Open File", - "message": "Open File", - "translation": "打开文件" - }, - { - "id": "Show in Folder", - "message": "Show in Folder", - "translation": "在文件夹中显示" - }, { "id": "Create a Copy", "message": "Create a Copy", @@ -1169,16 +1159,6 @@ "message": "Enable", "translation": "启用" }, - { - "id": "Open Config", - "message": "Open Config", - "translation": "打开配置文件" - }, - { - "id": "Direct Edit", - "message": "Direct Edit", - "translation": "直接编辑" - }, { "id": "Domains", "message": "Domains", diff --git a/i18n/locales/zh-TW/messages.gotext.json b/i18n/locales/zh-TW/messages.gotext.json index 514f16413..065bbe69f 100644 --- a/i18n/locales/zh-TW/messages.gotext.json +++ b/i18n/locales/zh-TW/messages.gotext.json @@ -206,16 +206,6 @@ "message": "Edit", "translation": "編輯" }, - { - "id": "Open File", - "message": "Open File", - "translation": "打開文件" - }, - { - "id": "Show in Folder", - "message": "Show in Folder", - "translation": "在文件夾中顯示" - }, { "id": "Create a Copy", "message": "Create a Copy", @@ -1169,16 +1159,6 @@ "message": "Enable", "translation": "啟用" }, - { - "id": "Open Config", - "message": "Open Config", - "translation": "打開配置文件" - }, - { - "id": "Direct Edit", - "message": "Direct Edit", - "translation": "直接編輯" - }, { "id": "Domains", "message": "Domains", diff --git a/icon/open.ico b/icon/open.ico deleted file mode 100644 index bbde4d3bd4cb058a869a1b06112b1786ee4f10b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48480 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 0"), OnTriggered: pv.onDelete, }, - Menu{ - Text: i18n.Sprintf("Open Config"), - Image: loadResourceIcon(consts.IconOpen, 16), - Items: []MenuItem{ - Action{ - AssignTo: &pv.openConfAction, - Text: i18n.Sprintf("Direct Edit"), - OnTriggered: func() { - pv.onOpenConfig(false) - }, - }, - Action{ - AssignTo: &pv.showConfAction, - Text: i18n.Sprintf("Show in Folder"), - OnTriggered: func() { - pv.onOpenConfig(true) - }, - }, - }, - }, }, } } @@ -296,14 +273,6 @@ func (pv *ProxyView) createProxyTable() TableView { Image: loadSysIcon("shell32", consts.IconSysCopy, 16), OnTriggered: pv.onCopyAccessAddr, }, - Menu{ - Text: i18n.Sprintf("Open Config"), - Image: loadResourceIcon(consts.IconOpen, 16), - Items: []MenuItem{ - ActionRef{&pv.openConfAction}, - ActionRef{&pv.showConfAction}, - }, - }, Separator{}, ActionRef{&pv.deleteAction}, }, @@ -482,19 +451,6 @@ func (pv *ProxyView) onQuickAdd(qa QuickAdd) { } } -func (pv *ProxyView) onOpenConfig(folder bool) { - if pv.model == nil { - return - } - if path, err := filepath.Abs(pv.model.conf.Path); err == nil { - if folder { - openFolder(path) - } else { - openPath(path) - } - } -} - // switchToggleAction updates the toggle action based on the current selected proxy func (pv *ProxyView) switchToggleAction() { conf, proxy := pv.getConfigProxy(pv.table.CurrentIndex()) From 54ba36c194d38f3d718f54549cdc5951c592cb5e Mon Sep 17 00:00:00 2001 From: Gerhard Tan Date: Fri, 24 Mar 2023 17:30:27 +0800 Subject: [PATCH 3/6] Exit on error --- services/frp.go | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/services/frp.go b/services/frp.go index 7909e9616..286f15168 100644 --- a/services/frp.go +++ b/services/frp.go @@ -21,15 +21,14 @@ import ( func runFrpClient(data []byte) { cfg, pxyCfgs, visitorCfgs, err := parseClientConfig(data) if err != nil { - return + os.Exit(1) } log.InitLog(cfg.LogWay, cfg.LogFile, cfg.LogLevel, cfg.LogMaxDays, cfg.DisableLogColor) - svr, errRet := client.NewService(cfg, pxyCfgs, visitorCfgs, "") - if errRet != nil { - err = errRet - return + svr, err := client.NewService(cfg, pxyCfgs, visitorCfgs, "") + if err != nil { + os.Exit(1) } closedDoneCh := make(chan struct{}) @@ -43,7 +42,6 @@ func runFrpClient(data []byte) { if err == nil && shouldGracefulClose { <-closedDoneCh } - return } func deleteFrpConfig(serviceName string, configPath string, c config.Config) { From 1c72b48628485637af752332f8259bdd8fac4d26 Mon Sep 17 00:00:00 2001 From: Gerhard Tan Date: Fri, 24 Mar 2023 17:49:25 +0800 Subject: [PATCH 4/6] Update gomod --- go.mod | 4 -- go.sum | 143 ---------------------------------------------- ui/pluginproxy.go | 6 +- 3 files changed, 1 insertion(+), 152 deletions(-) diff --git a/go.mod b/go.mod index 23c2c2dce..84d022aa3 100644 --- a/go.mod +++ b/go.mod @@ -30,7 +30,6 @@ require ( github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1 // indirect github.com/gorilla/mux v1.8.0 // indirect github.com/hashicorp/yamux v0.1.1 // indirect - github.com/inconshreveable/mousetrap v1.0.0 // indirect github.com/klauspost/cpuid/v2 v2.0.6 // indirect github.com/klauspost/reedsolomon v1.9.15 // indirect github.com/leodido/go-urn v1.2.1 // indirect @@ -41,9 +40,6 @@ require ( github.com/quic-go/qtls-go1-19 v0.2.0 // indirect github.com/quic-go/qtls-go1-20 v0.1.0 // indirect github.com/quic-go/quic-go v0.32.0 // indirect - github.com/rodaine/table v1.0.1 // indirect - github.com/spf13/cobra v1.1.3 // indirect - github.com/spf13/pflag v1.0.5 // indirect github.com/templexxx/cpufeat v0.0.0-20180724012125-cef66df7f161 // indirect github.com/templexxx/xor v0.0.0-20191217153810-f85b25db303b // indirect github.com/tjfoc/gmsm v1.4.1 // indirect diff --git a/go.sum b/go.sum index 5a0111a56..543b1163b 100644 --- a/go.sum +++ b/go.sum @@ -42,7 +42,6 @@ cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLq cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= @@ -60,18 +59,9 @@ github.com/Azure/go-ntlmssp v0.0.0-20200615164410-66371956d46c/go.mod h1:chxPXzS github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= -github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= @@ -88,20 +78,12 @@ github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWH github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= -github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-oidc/v3 v3.4.0 h1:xz7elHb/LDwm/ERpwHd+5nb7wFHL32rsr6bBOgaeu6g= github.com/coreos/go-oidc/v3 v3.4.0/go.mod h1:eHUXhZtXPQLgEaDrOVTgwbgmz1xGOkJNye6h3zkD2Pw= -github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= @@ -120,15 +102,10 @@ github.com/fatedier/golib v0.1.1-0.20220321042308-c306138b83ac h1:td1FJwN/oz8+9G github.com/fatedier/golib v0.1.1-0.20220321042308-c306138b83ac/go.mod h1:fLV0TLwHqrnB/L3jbNl67Gn6PCLggDGHniX1wLrA2Qo= github.com/fatedier/kcp-go v2.0.4-0.20190803094908-fe8645b0a904+incompatible h1:ssXat9YXFvigNge/IkkZvFMn8yeYKFX+uI6wn2mLJ74= github.com/fatedier/kcp-go v2.0.4-0.20190803094908-fe8645b0a904+incompatible/go.mod h1:YpCOaxj7vvMThhIQ9AfTOPW2sfztQR5WDfs7AflSy4s= -github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= @@ -140,13 +117,9 @@ github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/j github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= github.com/go-playground/validator/v10 v10.11.0 h1:0W+xRM511GY47Yy3bZUbJVitCNg2BOGlCyvTqsp/xIw= github.com/go-playground/validator/v10 v10.11.0/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 h1:p104kn46Q8WdvHunIJ9dAyjPVtrBPhSr3KT2yUst43I= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -227,47 +200,17 @@ github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/Oth github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= -github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= -github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= -github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= -github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= -github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= -github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= -github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE= github.com/hashicorp/yamux v0.1.1/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/cpuid/v2 v2.0.6 h1:dQ5ueTiftKxp0gyjKSx5+8BtPWkyQbd95m8Gys/RarI= github.com/klauspost/cpuid/v2 v2.0.6/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= @@ -275,8 +218,6 @@ github.com/klauspost/reedsolomon v1.9.15 h1:g2erWKD2M6rgnPf89fCji6jNlhMKMdXcuNHM github.com/klauspost/reedsolomon v1.9.15/go.mod h1:eqPAcE7xar5CIzcdfwydOEdcmchAKAP/qs14y4GCBOk= github.com/koho/frpmgr v0.0.0-20230311212131-f5c521a0f74f h1:0tR6RReLW5WI6zogwTcGImfwNgnFxZFBTFkT/BZhtn4= github.com/koho/frpmgr v0.0.0-20230311212131-f5c521a0f74f/go.mod h1:CdksCbC3x4Swi/ePNXCeg08K1i3XdIVdy3o7elo92k8= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= @@ -287,50 +228,17 @@ github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= github.com/lxn/win v0.0.0-20210218163916-a377121e959e h1:H+t6A/QJMbhCSEH5rAuRxh+CtW96g0Or0Fxa9IKr4uc= github.com/lxn/win v0.0.0-20210218163916-a377121e959e/go.mod h1:KxxjdtRkfNoYDCUP5ryK7XJJNTnpC8atvtmTheChOtk= -github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0= -github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= -github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= -github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= -github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/onsi/ginkgo/v2 v2.8.3 h1:RpbK1G8nWPNaCVFBWsOGnEQQGgASi6b8fxcWBvDYjxQ= github.com/onsi/ginkgo/v2 v2.8.3/go.mod h1:6OaUA8BCi0aZfmzYT/q9AacwTzDpNbxILUT+TlBq6MY= github.com/onsi/gomega v1.27.0 h1:QLidEla4bXUuZVFa4KX6JHCsuGgbi85LC/pCHrt/O08= -github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pires/go-proxyproto v0.6.2 h1:KAZ7UteSOt6urjme6ZldyFm4wDe/z0ZUP0Yv0Dos0d8= github.com/pires/go-proxyproto v0.6.2/go.mod h1:Odh9VFOZJCf9G8cLW5o435Xf1J95Jw9Gw5rnCjcwzAY= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/quic-go/qtls-go1-18 v0.2.0 h1:5ViXqBZ90wpUcZS0ge79rf029yx0dYB0McyPJwqqj7U= github.com/quic-go/qtls-go1-18 v0.2.0/go.mod h1:moGulGHK7o6O8lSPSZNoOwcLvJKJ85vVNc7oJFD65bc= github.com/quic-go/qtls-go1-19 v0.2.0 h1:Cvn2WdhyViFUHoOqK52i51k4nDX8EwIh5VJiVM4nttk= @@ -339,41 +247,17 @@ github.com/quic-go/qtls-go1-20 v0.1.0 h1:d1PK3ErFy9t7zxKsG3NXBJXZjp/kMLoIb3y/kV5 github.com/quic-go/qtls-go1-20 v0.1.0/go.mod h1:JKtK6mjbAVcUTN/9jZpvLbGxvdWIKS8uT7EiStoU1SM= github.com/quic-go/quic-go v0.32.0 h1:lY02md31s1JgPiiyfqJijpu/UX/Iun304FI3yUqX7tA= github.com/quic-go/quic-go v0.32.0/go.mod h1:/fCsKANhQIeD5l76c2JFU+07gVE3KaA0FP+0zMWwfwo= -github.com/rodaine/table v1.0.1 h1:U/VwCnUxlVYxw8+NJiLIuCxA/xa6jL38MY3FYysVWWQ= -github.com/rodaine/table v1.0.1/go.mod h1:UVEtfBsflpeEcD56nF4F5AocNFta0ZuolpSVdPtlmP4= -github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= -github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v1.1.3 h1:xghbfqPkxzxP3C/f3n5DdpAbdKLj4ZE4BWQI362l53M= -github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= -github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= -github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= -github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/templexxx/cpufeat v0.0.0-20180724012125-cef66df7f161 h1:89CEmDvlq/F7SJEOqkIdNDGJXrQIhuIx9D2DBXjavSU= github.com/templexxx/cpufeat v0.0.0-20180724012125-cef66df7f161/go.mod h1:wM7WEvslTq+iOEAMDLSzhVuOt5BRZ05WirO+b09GHQU= github.com/templexxx/xor v0.0.0-20191217153810-f85b25db303b h1:fj5tQ8acgNUr6O8LEplsxDhUIe2573iLkJc+PqnzZTI= @@ -382,15 +266,12 @@ github.com/thoas/go-funk v0.9.3 h1:7+nAEx3kn5ZJcnDm2Bh23N2yOtweO14bi//dvRtgLpw= github.com/thoas/go-funk v0.9.3/go.mod h1:+IWnUfUmFO1+WVYQWQtIJHeRRdaIyyYglZN7xzUPe4Q= github.com/tjfoc/gmsm v1.4.1 h1:aMe1GlZb+0bLjn+cKTPEvvn9oUEBlJitaZiiBwsbgho= github.com/tjfoc/gmsm v1.4.1/go.mod h1:j4INPkHWMrhJb38G+J6W4Tw0AbuN8Thu3PbdVYhVcTE= -github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xtaci/lossyconn v0.0.0-20200209145036-adba10fffc37 h1:EWU6Pktpas0n8lLQwDsRyZfmkPeRbdgPtW609es+/9E= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= @@ -399,11 +280,6 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= -go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -454,10 +330,6 @@ golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -538,12 +410,7 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -624,14 +491,12 @@ golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 h1:vVKdlvoWBphwdxWKrFZEuM0kGgGLxUOYcY4U/2Vjg44= golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= @@ -641,7 +506,6 @@ golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgw golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -862,23 +726,16 @@ google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175 google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/Knetic/govaluate.v3 v3.0.0 h1:18mUyIt4ZlRlFZAAfVetz4/rzlJs9yhN+U02F4u1AOc= gopkg.in/Knetic/govaluate.v3 v3.0.0/go.mod h1:csKLBORsPbafmSCGTEh3U7Ozmsuq8ZSIlKk1bcqph0E= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/square/go-jose.v2 v2.6.0 h1:NGk74WTnPKBNUhNzQX7PYcTLUjoq7mzKk2OKbvwk2iI= gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= -gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= diff --git a/ui/pluginproxy.go b/ui/pluginproxy.go index 01008faa5..3fe60fabc 100644 --- a/ui/pluginproxy.go +++ b/ui/pluginproxy.go @@ -38,7 +38,7 @@ func NewPluginProxyDialog(title string, icon *walk.Icon, plugin string) *PluginP func (pp *PluginProxyDialog) Run(owner walk.Form) (int, error) { widgets := []Widget{ Label{Text: i18n.SprintfColon("Remote Port")}, - LineEdit{Text: Bind("RemotePort", consts.ValidatePortRange...)}, + LineEdit{Text: Bind("RemotePort", consts.ValidatePortRange...), MinSize: Size{Width: 280}}, } switch pp.plugin { case consts.PluginHttpProxy, consts.PluginSocks5: @@ -51,10 +51,6 @@ func (pp *PluginProxyDialog) Run(owner walk.Form) (int, error) { }), }, widgets...) case consts.PluginStaticFile: - // Make the dialog wider - remoteView := widgets[1].(LineEdit) - remoteView.MinSize = Size{Width: 300} - widgets[1] = remoteView widgets = append(widgets, Label{Text: i18n.SprintfColon("Local Directory")}, NewBrowseLineEdit(nil, true, true, Bind("Dir", consts.ValidateNonEmpty), From a1410050e573a4c62d567ef7e008ca299c712ce4 Mon Sep 17 00:00:00 2001 From: Gerhard Tan Date: Fri, 24 Mar 2023 18:40:50 +0800 Subject: [PATCH 5/6] Update README --- README.md | 4 ++-- README_en.md | 14 +++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index dcc3aca3c..203836061 100644 --- a/README.md +++ b/README.md @@ -23,9 +23,9 @@ Windows 下的 [frp](https://github.com/fatedier/frp) 图形界面客户端。 * :pencil2: 简易的编辑界面,快速完成配置 * :play_or_pause_button: 快捷启用/禁用代理条目 * 📚 多配置文件管理 -* :inbox_tray: 支持导入/导出配置文件 +* :inbox_tray: 导入/导出配置文件 * :computer: 开机自启动 -* :lock: 支持密码保护 +* :lock: 密码保护、配置文件加密 * :clock4: 支持自动删除配置文件 ## :gear: 构建 diff --git a/README_en.md b/README_en.md index ab43fe574..80fcc0aeb 100644 --- a/README_en.md +++ b/README_en.md @@ -22,13 +22,13 @@ Instructions for use: ## :sparkles: Features -* :pencil2: Simple GUI for quick configuration -* :play_or_pause_button: Quick enable/disable proxy entry -* 📚 Multiple configuration files management -* :inbox_tray: Support import/export configuration files -* :computer: Auto-start at system boot -* :lock: Support password protection -* :clock4: Support automatic deletion of configuration files +* :pencil2: Simple GUI for quick configuration. +* :play_or_pause_button: Enable/Disable proxy entry. +* 📚 Manage multiple configuration files. +* :inbox_tray: Import/Export configuration files. +* :computer: Auto-start at system boot. +* :lock: Lock application, encrypt configuration files. +* :clock4: Support automatic deletion of configuration files. ## :gear: Build From 69955a8a71040c1a87250280dbc22a24e1fa2c8d Mon Sep 17 00:00:00 2001 From: Gerhard Tan Date: Fri, 24 Mar 2023 19:00:31 +0800 Subject: [PATCH 6/6] Update screenshots --- docs/screenshot_en.png | Bin 47216 -> 45607 bytes docs/screenshot_zh.png | Bin 46471 -> 44501 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/screenshot_en.png b/docs/screenshot_en.png index 974d8637733fba29eed9d97a424b3d42c88da849..34a10ea5d77d34cdbbf5b9c9909b6cdb582b7a04 100644 GIT binary patch literal 45607 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 Fe*wZg@kIat literal 47216 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 diff --git a/docs/screenshot_zh.png b/docs/screenshot_zh.png index 6a043724eaaeb0ee940050821dddb9a1921e154b..1fb384172b5b476770b4bd90de92105dbfcdded9 100644 GIT binary patch literal 44501 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

dG&9!SzP-IFj(4E4=A>$ll% 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 bU75-(2-6r$AxIEuTHU#&u9T}_@$A0<_iI|z literal 46471 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%0DQK_TE2ewExaNea+!4J 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 E04h@k5&!@I