判断是否已经添加加速域名,避免重复添加。
This commit is contained in:
@@ -10,7 +10,7 @@ import (
|
||||
)
|
||||
|
||||
// GitHub URL正则表达式
|
||||
var githubRegex = regexp.MustCompile(`https?://(?:github\.com|raw\.githubusercontent\.com|raw\.github\.com|gist\.githubusercontent\.com|gist\.github\.com|api\.github\.com)[^\s'"]+`)
|
||||
var githubRegex = regexp.MustCompile(`(?:^|[\s'"(=,\[{;|&<>])https?://(?:github\.com|raw\.githubusercontent\.com|raw\.github\.com|gist\.githubusercontent\.com|gist\.github\.com|api\.github\.com)[^\s'")]*`)
|
||||
|
||||
// ProcessSmart Shell脚本智能处理函数
|
||||
func ProcessSmart(input io.ReadCloser, isCompressed bool, host string) (io.Reader, int64, error) {
|
||||
@@ -70,8 +70,14 @@ func readShellContent(input io.ReadCloser, isCompressed bool) (string, error) {
|
||||
}
|
||||
|
||||
func processGitHubURLs(content, host string) string {
|
||||
return githubRegex.ReplaceAllStringFunc(content, func(url string) string {
|
||||
return transformURL(url, host)
|
||||
return githubRegex.ReplaceAllStringFunc(content, func(match string) string {
|
||||
// 如果匹配包含前缀分隔符,保留它,防止出现重复转换
|
||||
if len(match) > 0 && match[0] != 'h' {
|
||||
prefix := match[0:1]
|
||||
url := match[1:]
|
||||
return prefix + transformURL(url, host)
|
||||
}
|
||||
return transformURL(match, host)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user