You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.4 KiB
45 lines
1.4 KiB
#!/bin/bash
|
|
|
|
|
|
# https://platform.openai.com/docs/gptbot
|
|
|
|
set -euo pipefail
|
|
set -x
|
|
|
|
|
|
# get from public ranges
|
|
download_and_parse_json() {
|
|
curl --connect-timeout 60 --retry 3 --retry-delay 15 -s "${1}" \
|
|
-H 'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7' \
|
|
-H 'accept-language: en' \
|
|
-H 'cache-control: no-cache' \
|
|
-H 'pragma: no-cache' \
|
|
-H 'priority: u=0, i' \
|
|
-H 'sec-ch-ua: "Not(A:Brand";v="99", "Google Chrome";v="133", "Chromium";v="133"' \
|
|
-H 'sec-ch-ua-mobile: ?0' \
|
|
-H 'sec-ch-ua-platform: "macOS"' \
|
|
-H 'sec-fetch-dest: document' \
|
|
-H 'sec-fetch-mode: navigate' \
|
|
-H 'sec-fetch-site: none' \
|
|
-H 'sec-fetch-user: ?1' \
|
|
-H 'upgrade-insecure-requests: 1' \
|
|
-H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36' \
|
|
> /tmp/openai.json
|
|
|
|
jq '.prefixes[] | [.ipv4Prefix][] | select(. != null)' -r /tmp/openai.json > /tmp/openai.txt
|
|
|
|
# save ipv4
|
|
grep -v ':' /tmp/openai.txt >> /tmp/openai-ipv4.txt
|
|
|
|
# ipv6 not provided
|
|
|
|
sleep 10
|
|
}
|
|
|
|
download_and_parse_json "https://openai.com/chatgpt-user.json"
|
|
download_and_parse_json "https://openai.com/searchbot.json"
|
|
download_and_parse_json "https://openai.com/gptbot.json"
|
|
|
|
|
|
# sort & uniq
|
|
sort -V /tmp/openai-ipv4.txt | uniq > openai/ipv4.txt
|
|
|