2022-06-20 23:22:53 +00:00
|
|
|
package m3u8d
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"net/url"
|
|
|
|
|
"strings"
|
|
|
|
|
)
|
|
|
|
|
|
2022-08-09 00:05:32 +00:00
|
|
|
func SetProxyFormat(origin string) (after string, urlObj *url.URL, errMsg string) {
|
|
|
|
|
after = strings.ToLower(strings.TrimSpace(origin))
|
|
|
|
|
if after == "" {
|
|
|
|
|
return after, nil, ""
|
2022-06-20 23:22:53 +00:00
|
|
|
}
|
2022-08-09 00:05:32 +00:00
|
|
|
if strings.Contains(after, "://") == false {
|
|
|
|
|
after = "http://" + after // 默认http
|
2022-06-20 23:22:53 +00:00
|
|
|
}
|
2022-08-09 00:05:32 +00:00
|
|
|
urlObj, err := url.Parse(after)
|
2022-06-20 23:22:53 +00:00
|
|
|
if err != nil {
|
2022-08-09 00:05:32 +00:00
|
|
|
return "", nil, "SetProxyFormat1: " + err.Error()
|
2022-06-20 23:22:53 +00:00
|
|
|
}
|
2022-08-09 00:05:32 +00:00
|
|
|
for _, vp := range []string{"http", "https", "socks5"} {
|
|
|
|
|
if urlObj.Scheme == vp {
|
|
|
|
|
return after, urlObj, ""
|
2022-06-20 23:22:53 +00:00
|
|
|
}
|
|
|
|
|
}
|
2022-08-09 00:05:32 +00:00
|
|
|
return "", nil, "SetProxyFormat2: unknown schema " + urlObj.Scheme
|
2022-06-20 23:22:53 +00:00
|
|
|
}
|