diff --git a/.gitignore b/.gitignore index 7037838f..a607472a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +/indexnow-key.txt /lock /nginx-tmp/ /node_modules/ diff --git a/indexnow b/indexnow new file mode 100755 index 00000000..dcb9942a --- /dev/null +++ b/indexnow @@ -0,0 +1,35 @@ +#!/usr/bin/env python3 + +import sys + +import requests +import validators + +if len(sys.argv) > 1: + urls = sys.argv[1:] +else: + urls = sys.stdin.read().splitlines() + +for url in urls: + if not validators.url(url): + sys.exit(2) + +if not urls: + sys.exit(3) + +host = "grapheneos.org" +api_url = "https://api.indexnow.org/indexnow" + +with open("indexnow-key.txt") as keyfile: + key = keyfile.read().strip() + +def submit(urls): + data = { + "host": host, + "key": key, + "urlList": urls + } + r = requests.post(api_url, json=data) + print(r.status_code) + +submit(urls) diff --git a/process-static b/process-static index fae44c7a..81a55328 100755 --- a/process-static +++ b/process-static @@ -92,5 +92,7 @@ for file in static-tmp/**/*.@(atom|xml); do xmllint --noblanks "$file" --output "$file" done +[[ -f indexnow-key.txt ]] && index_now_key="$(cat indexnow-key.txt)" && echo "$index_now_key" > "static-tmp/$index_now_key.txt" + find static-tmp -regex '.+\.\(atom\|css\|html\|ico\|js\|json\|mjs\|pdf\|svg\|txt\|webmanifest\|xml\)' | parallel -q ::: brotli zopfli :::: -