Исправил загрузку файлов (сравнение контрольных сумм)
This commit is contained in:
34
main.go
34
main.go
@@ -7,26 +7,26 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"crypto/sha256"
|
||||
"encoding/hex"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"html/template"
|
||||
"io"
|
||||
"log"
|
||||
"net"
|
||||
"net/http"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"sync"
|
||||
"os"
|
||||
"io"
|
||||
"path/filepath"
|
||||
"fmt"
|
||||
"time"
|
||||
"sync"
|
||||
"encoding/hex"
|
||||
"crypto/sha256"
|
||||
|
||||
"github.com/go-co-op/gocron"
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/likexian/whois"
|
||||
"github.com/oschwald/geoip2-golang"
|
||||
"golang.org/x/text/language"
|
||||
"github.com/likexian/whois"
|
||||
"github.com/go-co-op/gocron"
|
||||
)
|
||||
|
||||
type GeoData struct {
|
||||
@@ -93,6 +93,8 @@ var (
|
||||
dbFilesVersion string
|
||||
)
|
||||
|
||||
|
||||
|
||||
func main() {
|
||||
var err error
|
||||
// Загрузка конфигурации
|
||||
@@ -163,7 +165,6 @@ func getFileModTime(filePath string) string {
|
||||
// fmt.Printf("Форматированное время: %s\n", modTime.Format("02/01/2006 15:04:05"))
|
||||
return modTime.Format("02/01/2006 15:04:05")
|
||||
}
|
||||
|
||||
// reopenDBs закрывает и заново открывает нужную БД
|
||||
func reopenDBs(fileName string) {
|
||||
dbMutex.Lock()
|
||||
@@ -362,6 +363,7 @@ func getPreferredLocale(r *http.Request) string {
|
||||
return "en"
|
||||
}
|
||||
|
||||
|
||||
func sendJSONResponse(w http.ResponseWriter, data interface{}) {
|
||||
w.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
w.Header().Set("Access-Control-Allow-Origin", "*")
|
||||
@@ -569,6 +571,7 @@ func getWhoIsInfo(address string) string {
|
||||
return "WhoIs request error"
|
||||
}
|
||||
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
@@ -590,6 +593,7 @@ func getEnv(key, defaultValue string) string {
|
||||
return defaultValue
|
||||
}
|
||||
|
||||
|
||||
// Запуск задания скачивания файлов
|
||||
func sheduler() {
|
||||
// инициализируем объект планировщика
|
||||
@@ -667,9 +671,12 @@ func getRemoteChecksum(url string) string {
|
||||
if err != nil {
|
||||
return ""
|
||||
}
|
||||
// Так как запрос возвращает сумму и путь к файлу то
|
||||
// разбиваем строку на массив и берем первый элемент
|
||||
words := strings.Fields(string(body))
|
||||
checkSum := words[0]
|
||||
|
||||
// Предполагаем, что файл содержит только хеш
|
||||
return strings.TrimSpace(string(body))
|
||||
return strings.TrimSpace(checkSum)
|
||||
}
|
||||
|
||||
func shouldDownload(fileName string) bool {
|
||||
@@ -704,7 +711,7 @@ func shouldDownload(fileName string) bool {
|
||||
fmt.Println(remoteFileChecksum)
|
||||
fmt.Println(localFileChecksum)
|
||||
if localFileChecksum != remoteFileChecksum {
|
||||
return false
|
||||
return true
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -716,7 +723,6 @@ func shouldDownload(fileName string) bool {
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
// Загрузка файлов БД с ВЭБ-сервера
|
||||
func mmdbDownload(fileName string) {
|
||||
fileURL := cfg.MMDBURL + fileName
|
||||
|
||||
Reference in New Issue
Block a user