mirror of
https://github.com/truewhile/MeBox.git
synced 2026-09-29 11:36:36 +08:00
38 lines
815 B
Go
38 lines
815 B
Go
package helper
|
|
|
|
import "strings"
|
|
|
|
// IsCloudflareChallenge checks if the HTML content is a Cloudflare challenge page.
|
|
func IsCloudflareChallenge(html string) bool {
|
|
challengeTitles := []string{
|
|
"Just a moment...",
|
|
"请稍候…",
|
|
"DDOS-GUARD",
|
|
}
|
|
challengeSelectors := []string{
|
|
"#cf-challenge-running",
|
|
".ray_id",
|
|
".attack-box",
|
|
"#cf-please-wait",
|
|
"#challenge-spinner",
|
|
"#trk_jschal_js",
|
|
}
|
|
|
|
lowerHTML := strings.ToLower(html)
|
|
for _, title := range challengeTitles {
|
|
titleLower := strings.ToLower(title)
|
|
if strings.Contains(lowerHTML, strings.ToLower("<title>"+title)) ||
|
|
strings.Contains(lowerHTML, titleLower) {
|
|
return true
|
|
}
|
|
}
|
|
|
|
for _, selector := range challengeSelectors {
|
|
if strings.Contains(lowerHTML, strings.ToLower(selector)) {
|
|
return true
|
|
}
|
|
}
|
|
|
|
return false
|
|
}
|