From 3c5206ae4381e8d576f7a6021b468c7b0daaf462 Mon Sep 17 00:00:00 2001 From: antanst Date: Tue, 22 Oct 2024 15:50:28 +0300 Subject: [PATCH] Change blacklist to comprise domains. --- blacklist.txt | 5 ----- blacklists/domains.txt | 5 +++++ gemini/blacklist.go | 10 +++++++--- gemini/files.go | 3 +-- 4 files changed, 13 insertions(+), 10 deletions(-) delete mode 100644 blacklist.txt create mode 100644 blacklists/domains.txt diff --git a/blacklist.txt b/blacklist.txt deleted file mode 100644 index 9004dac..0000000 --- a/blacklist.txt +++ /dev/null @@ -1,5 +0,0 @@ -gemini://gemi.dev/cgi-bin/waffle.cgi -gemini://alexey.shpakovsky.ru/maze -gemini://kennedy.gemi.dev -gemini://musicbrainz.uploadedlobster.com -gemini://gemini.bunburya.eu/remini diff --git a/blacklists/domains.txt b/blacklists/domains.txt new file mode 100644 index 0000000..9f956ff --- /dev/null +++ b/blacklists/domains.txt @@ -0,0 +1,5 @@ +gemi.dev +kennedy.gemi.dev +alexey.shpakovsky.ru +musicbrainz.uploadedlobster.com +gemini.bunburya.eu diff --git a/gemini/blacklist.go b/gemini/blacklist.go index 0b56e8f..2f2afee 100644 --- a/gemini/blacklist.go +++ b/gemini/blacklist.go @@ -1,18 +1,22 @@ package gemini -import "strings" +import "gemini-grc/logging" var Blacklist *[]string func InBlacklist(s *Snapshot) bool { if Blacklist == nil { - data := ReadLines("blacklist.txt") + data := ReadLines("blacklists/domains.txt") Blacklist = &data + logging.LogInfo("Loaded %d blacklisted domains", len(*Blacklist)) } for _, l := range *Blacklist { - if strings.HasPrefix(s.URL.String(), l) { + if s.Host == l { return true } + // if strings.HasPrefix(s.URL.String(), l) { + // return true + // } } return false } diff --git a/gemini/files.go b/gemini/files.go index 362737b..e00581c 100644 --- a/gemini/files.go +++ b/gemini/files.go @@ -100,7 +100,7 @@ func SaveToFile(rootPath string, s *Snapshot, done chan struct{}) { func ReadLines(path string) []string { data, err := os.ReadFile(path) if err != nil { - panic(fmt.Sprintf("Failed to read blacklist file: %s", err)) + panic(fmt.Sprintf("Failed to read file: %s", err)) } lines := strings.Split(string(data), "\n") // Remove last line if empty @@ -108,6 +108,5 @@ func ReadLines(path string) []string { if lines[len(lines)-1] == "" { lines = lines[:len(lines)-1] } - logging.LogInfo("Loaded %d blacklist URLs", len(lines)) return lines }