代码拉取完成,页面将自动刷新
package param
import (
"../goVirtualHost"
"../util"
"crypto/tls"
"regexp"
"strings"
)
func LoadCertificate(certFile, keyFile string) (*tls.Certificate, error) {
return goVirtualHost.LoadCertificate(certFile, keyFile)
}
func EntriesToUsers(entries []string) []*user {
users := make([]*user, 0, len(entries))
for _, userEntry := range entries {
username := userEntry
password := ""
colonIndex := strings.IndexByte(userEntry, ':')
if colonIndex >= 0 {
username = userEntry[:colonIndex]
password = userEntry[colonIndex+1:]
}
users = append(users, &user{username, password})
}
return users
}
func entriesToHeaders(entries []string) [][2]string {
headers := make([][2]string, 0, len(entries))
for _, entry := range entries {
colonIndex := strings.IndexByte(entry, ':')
if colonIndex <= 0 || colonIndex == len(entry)-1 {
continue
}
key := entry[:colonIndex]
value := entry[colonIndex+1:]
headers = append(headers, [2]string{key, value})
}
return headers
}
func WildcardToRegexp(wildcards []string, found bool) (*regexp.Regexp, error) {
if !found || len(wildcards) == 0 {
return nil, nil
}
normalizedWildcards := make([]string, 0, len(wildcards))
for _, wildcard := range wildcards {
if len(wildcard) == 0 {
continue
}
normalizedWildcards = append(normalizedWildcards, util.WildcardToRegexp(wildcard))
}
if len(normalizedWildcards) == 0 {
return nil, nil
}
exp := strings.Join(normalizedWildcards, "|")
return regexp.Compile(exp)
}
func (param *Param) GetDupUserNames() []string {
usersGroups := [][]*user{
param.UsersPlain,
param.UsersBase64,
param.UsersMd5,
param.UsersSha1,
param.UsersSha256,
param.UsersSha512,
}
userMap := map[string]bool{}
dupUserMap := map[string]bool{}
for _, users := range usersGroups {
for _, user := range users {
if userMap[user.Username] {
dupUserMap[user.Username] = true
}
userMap[user.Username] = true
}
}
dupUserNames := make([]string, 0, len(dupUserMap))
for username, _ := range dupUserMap {
dupUserNames = append(dupUserNames, username)
}
return dupUserNames
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。