feat: allow multiple added passwords

Fixes #584
This commit is contained in:
ZacharyZcR
2026-06-01 02:06:15 +08:00
parent bfc0e0fb52
commit ea17b5b1bc
9 changed files with 142 additions and 6 deletions
+17 -2
View File
@@ -124,7 +124,7 @@ func parsePasswords(fv *FlagVars) []string {
// 命令行密码
if fv.Password != "" {
passwords = append(passwords, strings.Split(fv.Password, ",")...)
passwords = append(passwords, splitCredentialValues(fv.Password)...)
}
// 从文件读取
@@ -138,12 +138,27 @@ func parsePasswords(fv *FlagVars) []string {
// 额外密码
if fv.AddPasswords != "" {
passwords = append(passwords, strings.Split(fv.AddPasswords, ",")...)
passwords = append(passwords, splitCredentialValues(fv.AddPasswords)...)
}
return removeDuplicate(passwords)
}
func splitCredentialValues(input string) []string {
fields := strings.FieldsFunc(input, func(r rune) bool {
return r == ',' || r == ' ' || r == '\t' || r == '\n' || r == '\r'
})
values := make([]string, 0, len(fields))
for _, field := range fields {
field = strings.TrimSpace(field)
if field != "" {
values = append(values, field)
}
}
return values
}
func parseUserPassPairs(fv *FlagVars) ([]config.CredentialPair, error) {
var pairs []config.CredentialPair