93 lines
2.4 KiB
Go
93 lines
2.4 KiB
Go
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")
|
||
}
|
||
}
|