Undo blocked servers cache list

This commit is contained in:
Jacob Gunther 2022-08-21 01:00:13 -05:00
parent e7ada7435f
commit 6c750bcaed
No known key found for this signature in database
GPG Key ID: FD93EF55818E3D85
3 changed files with 5 additions and 63 deletions

3
.gitignore vendored
View File

@ -1,4 +1,3 @@
bin/
config.yml
.DS_Store
blocked-servers.json
.DS_Store

View File

@ -38,6 +38,8 @@ func init() {
log.Fatal(err)
}
log.Println("Successfully retrieved EULA blocked servers")
if instanceID := os.Getenv("INSTANCE_ID"); len(instanceID) > 0 {
value, err := strconv.ParseUint(instanceID, 10, 16)

View File

@ -4,16 +4,12 @@ import (
"crypto/sha1"
_ "embed"
"encoding/hex"
"encoding/json"
"fmt"
"io/ioutil"
"log"
"net/http"
"os"
"regexp"
"strconv"
"strings"
"time"
)
var (
@ -22,11 +18,6 @@ var (
ipAddressRegExp = regexp.MustCompile(`^\d{1,3}(\.\d{1,3}){3}$`)
)
type BlockedServersFile struct {
LastUpdated time.Time `json:"last_updated"`
Servers []string `json:"servers"`
}
func Contains[T comparable](arr []T, v T) bool {
for _, value := range arr {
if v == value {
@ -38,36 +29,6 @@ func Contains[T comparable](arr []T, v T) bool {
}
func GetBlockedServerList() error {
f, err := os.OpenFile("blocked-servers.json", os.O_CREATE|os.O_RDWR, 0777)
if err != nil {
return err
}
defer f.Close()
data, err := ioutil.ReadAll(f)
if err != nil {
return err
}
if len(data) > 0 {
var blockedServersFile BlockedServersFile
if err = json.Unmarshal(data, &blockedServersFile); err != nil {
return err
}
if time.Since(blockedServersFile.LastUpdated).Hours() < 24 {
blockedServersMutex.Lock()
blockedServers = blockedServersFile.Servers
blockedServersMutex.Unlock()
return nil
}
}
resp, err := http.Get("https://sessionserver.mojang.com/blockedservers")
if err != nil {
@ -78,8 +39,6 @@ func GetBlockedServerList() error {
return fmt.Errorf("unexpected status code: %d", resp.StatusCode)
}
log.Println("Successfully retrieved EULA blocked servers")
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
@ -90,27 +49,9 @@ func GetBlockedServerList() error {
blockedServersMutex.Lock()
blockedServers = strings.Split(string(body), "\n")
blockedServersMutex.Unlock()
defer blockedServersMutex.Unlock()
if data, err = json.Marshal(BlockedServersFile{
LastUpdated: time.Now(),
Servers: blockedServers,
}); err != nil {
return err
}
if err = f.Truncate(0); err != nil {
return err
}
if _, err = f.Seek(0, 0); err != nil {
return err
}
_, err = f.Write(data)
return err
return nil
}
func IsBlockedAddress(address string) bool {