init
This commit is contained in:
92
core/fmm.go
Normal file
92
core/fmm.go
Normal file
@@ -0,0 +1,92 @@
|
||||
package core
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
"time"
|
||||
)
|
||||
|
||||
func UpdateFmmIpv6M3u() {
|
||||
filename := "./ipv6.m3u"
|
||||
// 确保文件存在
|
||||
if exists, err := EnsureFileExists(filename); err != nil {
|
||||
fmt.Printf("检查或创建文件ipv6.m3u失败:%s\n", err.Error())
|
||||
return
|
||||
} else if !exists {
|
||||
fmt.Printf("缓存文件ipv6.m3u不存在\n")
|
||||
return
|
||||
}
|
||||
|
||||
URL := "https://mirror.ghproxy.com/https://raw.githubusercontent.com/fanmingming/live/main/tv/m3u/ipv6.m3u"
|
||||
statusCode, responseBody, err := FetchURL(URL, 10*time.Second)
|
||||
if err != nil {
|
||||
fmt.Printf("HTTP请求失败:%s\n", err.Error())
|
||||
return
|
||||
}
|
||||
if statusCode != http.StatusOK {
|
||||
fmt.Printf("HTTP状态码为:%d\n", statusCode)
|
||||
return
|
||||
}
|
||||
|
||||
fileContent, err := ReadFile(filename)
|
||||
if err != nil {
|
||||
fmt.Printf("读取本地文件ipv6.m3u失败:%s\n", err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
if Md5(fileContent) != Md5(responseBody) {
|
||||
file, err := WriteFile(filename, responseBody)
|
||||
if err != nil {
|
||||
fmt.Printf("写入文件ipv6.m3u失败:%s\n", err.Error())
|
||||
return
|
||||
}
|
||||
if !file {
|
||||
fmt.Printf("写入文件ipv6.m3u失败\n")
|
||||
return
|
||||
}
|
||||
fmt.Printf("ipv6.m3u本地更新云端数据成功\n")
|
||||
} else {
|
||||
fmt.Printf("ipv6.m3u本地与云端数据一致无需同步\n")
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func UpdateFmmIpv6ToTxtM3u() {
|
||||
ipv6TxtFilename := "./ipv6-txt.m3u"
|
||||
if exists, err := EnsureFileExists(ipv6TxtFilename); err != nil {
|
||||
fmt.Printf("检查或创建ipv6-txt.m3u文件失败:%s\n", err.Error())
|
||||
return
|
||||
} else if !exists {
|
||||
fmt.Printf("缓存文件ipv6-txt.m3u不存在\n")
|
||||
return
|
||||
}
|
||||
URL := "https://fanmingming.com/txt?url=http://82.156.99.49:6677"
|
||||
statusCode, responseBody, err := FetchURL(URL+"/ipv6-iptv.m3u", 10*time.Second)
|
||||
if err != nil {
|
||||
fmt.Printf("HTTP请求失败:%s\n", err.Error())
|
||||
return
|
||||
}
|
||||
if statusCode != http.StatusOK {
|
||||
fmt.Printf("HTTP状态码为:%d\n", statusCode)
|
||||
return
|
||||
}
|
||||
fileContent, err := ReadFile(ipv6TxtFilename)
|
||||
if err != nil {
|
||||
fmt.Printf("读取本地文件ipv6-txt.m3u失败:%s\n", err.Error())
|
||||
return
|
||||
}
|
||||
if Md5(fileContent) != Md5(responseBody) {
|
||||
file, err := WriteFile(ipv6TxtFilename, responseBody)
|
||||
if err != nil {
|
||||
fmt.Printf("写入文件ipv6-txt.m3u失败:%s\n", err.Error())
|
||||
return
|
||||
}
|
||||
if !file {
|
||||
fmt.Printf("写入文件ipv6-txt.m3u失败\n")
|
||||
return
|
||||
}
|
||||
fmt.Printf("ipv6-txt.m3u本地更新云端数据成功\n")
|
||||
} else {
|
||||
fmt.Printf("ipv6-txt.m3u本地与云端数据一致无需同步\n")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user