##\
# This file is a part of the CIDRAM package.
# Homepage: https://cidram.github.io/
#
# CIDRAM COPYRIGHT 2016 and beyond by Caleb Mazalevskis (Maikuolan).
#
# License: GNU/GPLv2
# @see LICENSE.txt
#
# This file: Verification data (last modified: 2024.08.05).
##/

# Additional references: https://udger.com/resources/ua-list/crawlers
Search Engine Verification:
 # https://developer.amazon.com/support/amazonbot
 # https://github.com/CIDRAM/CIDRAM/issues/317
 # Updated: 2022.06.20
 Amazonbot:
  User Agent: "amazonbot"
  Method: "dnsReverseForward"
  Valid domains:
   - ".crawl.amazonbot.amazon"

 # https://discussions.apple.com/thread/7090135
 # https://support.apple.com/en-gb/HT204683
 # Updated: 2020.02.07 / Checked: 2022.02.18
 Applebot:
  User Agent: "applebot"
  Method: "dnsReverseForward"
  Valid domains:
   - ".applebot.apple.com"

 # https://help.baidu.com/question?prod_en=master&class=Baiduspider
 # https://help.baidu.com/question?prod_id=99&class=476&id=3001
 # Updated: 2020.02.07 / Checked: 2023.04.06
 Baidu:
  Bypass flag: "Flag-Bypass-Baidu-Check"
  User Agent: "baiduspider"
  Method: "dnsReverseForward"
  Valid domains:
   - ".baidu.com"
   - ".baidu.jp"

 # https://blogs.bing.com/webmaster/2012/08/31/how-to-verify-that-bingbot-is-bingbot
 # https://github.com/CIDRAM/CIDRAM/issues/242
 # Updated: 2020.02.07 / Checked: 2022.02.18
 Bingbot:
  Bypass flag: "Flag-Bypass-Bingbot-Check"
  User Agent Pattern: "~(?:msn|bing)bot|bingpreview~"
  Method: "dnsReverseForward"
  Valid domains:
   - ".search.msn.com"

 # https://duckduckgo.com/duckduckbot
 # Updated: 2024.07.13
 DuckDuckBot:
  User Agent Pattern: "~duckduck(?:go-favicons-)?bot~"
  Method: "uaIpMatch"
  Valid domains:
   - "13.89.106.77"
   - "20.12.141.99"
   - "20.40.133.240"
   - "20.43.150.85"
   - "20.43.150.93"
   - "20.43.172.120"
   - "20.44.222.1"
   - "20.49.136.28"
   - "20.50.48.159"
   - "20.50.48.192"
   - "20.50.49.0"
   - "20.50.49.25"
   - "20.50.49.40"
   - "20.50.49.55"
   - "20.50.49.237"
   - "20.50.50.46"
   - "20.50.50.118"
   - "20.50.50.121"
   - "20.50.50.123"
   - "20.50.50.130"
   - "20.50.50.134"
   - "20.50.50.145"
   - "20.50.50.146"
   - "20.50.50.163"
   - "20.50.168.91"
   - "20.53.78.106"
   - "20.53.78.123"
   - "20.53.78.138"
   - "20.53.78.144"
   - "20.53.78.236"
   - "20.53.91.2"
   - "20.53.92.211"
   - "20.53.134.160"
   - "20.56.197.58"
   - "20.56.197.63"
   - "20.61.34.40"
   - "20.62.224.44"
   - "20.71.12.143"
   - "20.72.242.93"
   - "20.73.132.240"
   - "20.73.202.147"
   - "20.75.144.152"
   - "20.79.226.26"
   - "20.79.238.198"
   - "20.79.239.66"
   - "20.80.129.80"
   - "20.93.28.24"
   - "20.99.255.235"
   - "20.113.3.121"
   - "20.113.14.159"
   - "20.185.79.15"
   - "20.185.79.47"
   - "20.191.44.16"
   - "20.191.44.22"
   - "20.191.44.119"
   - "20.191.44.234"
   - "20.191.45.212"
   - "20.193.12.126"
   - "20.193.24.10"
   - "20.193.24.251"
   - "20.193.25.197"
   - "20.193.27.215"
   - "20.193.45.113"
   - "20.197.209.11"
   - "20.197.209.27"
   - "20.201.15.208"
   - "20.204.240.172"
   - "20.204.241.148"
   - "20.204.242.19"
   - "20.204.242.101"
   - "20.204.243.55"
   - "20.204.246.81"
   - "20.204.246.254"
   - "20.207.72.11"
   - "20.207.72.21"
   - "20.207.72.110"
   - "20.207.72.113"
   - "20.207.97.190"
   - "20.207.99.197"
   - "20.207.107.181"
   - "20.219.43.246"
   - "20.219.45.67"
   - "20.219.45.190"
   - "20.226.133.105"
   - "40.64.105.247"
   - "40.64.106.11"
   - "40.76.162.191"
   - "40.76.162.208"
   - "40.76.162.247"
   - "40.76.163.7"
   - "40.76.163.23"
   - "40.76.173.151"
   - "40.80.242.63"
   - "40.81.250.205"
   - "40.88.21.235"
   - "40.89.243.175"
   - "40.114.182.45"
   - "40.114.182.153"
   - "40.114.182.172"
   - "40.114.183.88"
   - "40.114.183.196"
   - "40.114.183.251"
   - "40.119.232.50"
   - "40.119.232.146"
   - "40.119.232.215"
   - "40.119.232.218"
   - "40.119.232.251"
   - "51.8.253.152"
   - "51.104.146.225"
   - "51.104.146.235"
   - "51.104.160.167"
   - "51.104.160.177"
   - "51.104.161.32"
   - "51.104.162.149"
   - "51.104.163.250"
   - "51.104.164.109"
   - "51.104.164.147"
   - "51.104.164.189"
   - "51.104.164.215"
   - "51.104.166.111"
   - "51.104.167.19"
   - "51.104.167.52"
   - "51.104.167.54"
   - "51.104.167.61"
   - "51.104.167.71"
   - "51.104.167.87"
   - "51.104.167.88"
   - "51.104.167.95"
   - "51.104.167.96"
   - "51.104.167.104"
   - "51.104.167.110"
   - "51.104.180.26"
   - "51.104.180.47"
   - "51.104.180.53"
   - "51.107.40.209"
   - "51.116.131.221"
   - "51.120.48.122"
   - "51.138.90.161"
   - "51.138.90.206"
   - "51.138.90.233"
   - "52.142.24.149"
   - "52.142.26.175"
   - "52.143.95.162"
   - "52.143.95.204"
   - "52.143.241.111"
   - "52.143.242.6"
   - "52.143.243.117"
   - "52.143.244.81"
   - "52.143.247.235"
   - "52.146.58.236"
   - "52.146.59.12"
   - "52.146.59.154"
   - "52.146.59.156"
   - "52.146.63.80"
   - "52.148.161.87"
   - "52.148.165.38"
   - "52.149.25.43"
   - "52.149.28.18"
   - "52.149.28.83"
   - "52.149.30.45"
   - "52.149.56.151"
   - "52.149.58.27"
   - "52.149.58.69"
   - "52.149.58.139"
   - "52.149.58.173"
   - "52.149.60.38"
   - "52.149.61.51"
   - "52.154.60.82"
   - "52.154.169.50"
   - "52.154.169.200"
   - "52.154.170.26"
   - "52.154.170.28"
   - "52.154.170.88"
   - "52.154.170.96"
   - "52.154.170.113"
   - "52.154.170.117"
   - "52.154.170.122"
   - "52.154.170.209"
   - "52.154.170.229"
   - "52.154.170.243"
   - "52.154.171.0"
   - "52.154.171.44"
   - "52.154.171.70"
   - "52.154.171.87"
   - "52.154.171.150"
   - "52.154.171.196"
   - "52.154.171.205"
   - "52.154.171.235"
   - "52.154.171.250"
   - "52.154.172.2"
   - "52.190.37.160"
   - "52.224.16.221"
   - "52.224.16.229"
   - "52.224.19.152"
   - "52.224.20.174"
   - "52.224.20.181"
   - "52.224.20.186"
   - "52.224.20.190"
   - "52.224.20.193"
   - "52.224.20.203"
   - "52.224.20.204"
   - "52.224.20.223"
   - "52.224.20.227"
   - "52.224.20.249"
   - "52.224.21.4"
   - "52.224.21.19"
   - "52.224.21.20"
   - "52.224.21.23"
   - "52.224.21.27"
   - "52.224.21.49"
   - "52.224.21.51"
   - "52.224.21.53"
   - "52.224.21.55"
   - "52.224.21.61"
   - "52.242.224.168"
   - "57.152.72.128"
   - "104.43.54.127"
   - "104.43.55.116"
   - "104.43.55.117"
   - "104.43.55.166"
   - "104.43.55.167"
   - "191.233.3.197"
   - "191.233.3.202"
   - "191.234.216.4"
   - "191.234.216.178"
   - "191.235.201.214"
   - "191.235.202.38"
   - "191.235.202.48"

 # https://developers.google.com/search/docs/crawling-indexing/verifying-googlebot
 # Updated: 2018.07.14 / Checked: 2024.04.06
 Googlebot:
  Bypass flag: "Flag-Bypass-Googlebot-Check"
  User Agent: "googlebot"
  Method: "dnsReverseForward"
  Valid domains:
   - ".google.com"
   - ".googlebot.com"

 # https://www.mojeek.com/bot.html
 # Updated: 2020.02.07 / Checked: 2024.04.06
 MojeekBot:
  User Agent: "mojeekbot"
  Method: "dnsReverseForward"
  Valid domains:
   - ".mojeek.com"

 # https://neeva.com/neevabot
 # Updated: 2023.02.28 / Checked: 2024.01.05
 Neevabot:
  User Agent: "neevabot"
  Method: "dnsReverseForward"
  Valid domains:
   - ".amazonaws.com"
   - ".neevabot.com"

 # https://aspiegel.com/petalbot
 # https://github.com/CIDRAM/CIDRAM/issues/254
 # https://webmaster.petalsearch.com/site/petalbot
 # Updated: 2021.10.01 / Checked: 2022.02.18
 PetalBot:
  Bypass flag: "Flag-Bypass-PetalBot-Check"
  User Agent: "petalbot"
  Method: "dnsReverseForward"
  Valid domains:
   - ".aspiegel.com"
   - ".petalsearch.com"

 # https://help.qwant.com/bot/
 # Updated: 2024.04.06
 Qwantify:
  User Agent Pattern: "~qwantify|bleriot~"
  Method: "dnsReverseForward"
  Valid domains:
   - ".qwant.com"

 # https://napoveda.seznam.cz/en/full-text-search/seznambot-crawler/
 # Updated: 2020.02.07 / Checked: 2024.04.06
 SeznamBot:
  User Agent: "seznambot"
  Method: "dnsReverseForward"
  Valid domains:
   - ".seznam.cz"

 # https://www.sogou.com/docs/help/webmasters.htm#07
 # Updated: 2018.07.16 / Checked: 2023.04.06
 Sogou:
  Bypass flag: "Flag-Bypass-Sogou-Check"
  User Agent: "sogou"
  Method: "dnsReverseForward"
  Valid domains:
   - ".sogou.com"

 # https://help.yahoo.com/help/us/ysearch/slurp
 # Updated: 2020.02.07 / Checked: 2022.02.18
 Yahoo:
  User Agent: "slurp"
  Method: "dnsReverseForward"
  Valid domains:
   - ".crawl.yahoo.net"
   - ".yse.yahoo.net"

 # https://yandex.com/support/webmaster/robot-workings/check-yandex-robots.xml
 # Updated: 2018.07.14 / Checked: 2023.04.06
 Yandex:
  Bypass flag: "Flag-Bypass-Yandex-Check"
  User Agent: "yandex"
  Method: "dnsReverseForward"
  Valid domains:
   - ".yandex.com"
   - ".yandex.net"
   - ".yandex.ru"

 # https://udger.com/resources/ua-list/bot-detail?bot=YoudaoBot#id1507
 # Updated: 2020.02.07 / Checked: 2022.02.18
 YoudaoBot:
  User Agent: "youdaobot"
  Method: "dnsReverseForward"
  Valid domains:
   - ".crawler.youdao.com"

Social Media Verification:
 # https://udger.com/resources/ua-list/bot-detail?bot=Embedly#id22674
 # Updated: 2018.07.14 / Checked: 2022.02.18
 Embedly:
  User Agent: "embedly"
  Method: "dnsReverseForward"
  Reverse only: true
  Valid domains:
   - "embed.ly"

 # https://developers.facebook.com/docs/sharing/webmasters/crawler/
 # https://github.com/CIDRAM/CIDRAM/issues/170
 # https://github.com/CIDRAM/CIDRAM/issues/263
 # Updated: 2022.02.18 / Checked: 2023.11.17
 Facebook external hit:
  User Agent Pattern: "~facebook(?:catalog|externalhit)/(?!1\.1 facebot twitterbot/1\.0)~"
  Method: "uaAsnMatch"
  Valid domains:
   - "32934"

 # https://github.com/CIDRAM/CIDRAM/issues/253
 # https://github.com/CIDRAM/CIDRAM/issues/322
 # https://help.pinterest.com/en/business/article/pinterest-crawler
 # Updated: 2020.02.07 / Checked: 2023.11.17
 Pinterest:
  User Agent: "pinterest"
  Method: "dnsReverseForward"
  Valid domains:
   - ".pinterest.com"
   - ".pinterestcrawler.com"

 # https://udger.com/resources/ua-list/bot-detail?bot=Twitterbot#id6168
 # https://github.com/CIDRAM/CIDRAM/issues/263
 # https://github.com/CIDRAM/CIDRAM/issues/341
 # Updated: 2022.10.01 / Checked: 2023.07.28
 Twitterbot:
  User Agent Pattern: "~(?<!^telegrambot \(like )(?<!^facebookexternalhit/1\.1 facebot )twitterbot~"
  Method: "dnsReverseForward"
  Valid domains:
   - ".twttr.com"

 # https://github.com/CIDRAM/CIDRAM/issues/422
 # https://robotsdb.de/snap-url-preview-service-bot-snapchat/
 # https://udger.com/resources/ua-list/bot-detail?bot=Snap+URL+Preview+Service
 # https://developers.snap.com/robots
 # Updated: 2023.02.28
 Snapchat:
  User Agent Pattern: "~snapchat|developers\.snap\.com/robots$~"
  Method: "dnsReverseForward"
  Valid domains:
   - ".amazonaws.com"

Other Verification:
 # https://developers.google.com/search/docs/advanced/crawling/overview-google-crawlers
 # https://github.com/CIDRAM/CIDRAM/issues/233
 # Updated: 2021.10.01 / Checked: 2024.04.06
 AdSense:
  User Agent: "mediapartners-google"
  Method: "dnsReverseForward"
  Valid domains:
   - ".google.com"
   - ".googlebot.com"

 # https://adbot.amazon.com/index.html
 # https://github.com/CIDRAM/CIDRAM/issues/260
 # Updated: 2021.10.01 / Checked: 2022.02.18
 AmazonAdBot:
  User Agent Pattern: "~amazonadbot|adbot\.amazon\.com~"
  Method: "dnsReverseForward"
  Valid domains:
   - ".amazonadbot.com"

 # https://platform.openai.com/docs/plugins/bot
 # Updated: 2024.01.05
 ChatGPT-User:
  User Agent: "chatgpt-user"
  Method: "uaCidrMatch"
  Valid domains:
   - "13.66.11.96/28"
   - "23.98.142.176/28"
   - "23.102.140.112/28"
   - "40.84.180.224/28"
   - "52.230.152.0/24"
   - "52.233.106.0/24"

 # https://openai.com/gptbot-ranges.txt
 # https://platform.openai.com/docs/gptbot
 # https://platform.openai.com/docs/plugins/production
 # Updated: 2023.12.17 / Checked: 2024.01.05
 GPTBot:
  User Agent: "gptbot"
  Method: "uaCidrMatch"
  Valid domains:
   - "13.66.11.96/28"
   - "23.98.142.176/28"
   - "23.102.140.112/28"
   - "40.84.180.224/28"
   - "52.230.152.0/24"
   - "52.233.106.0/24"

 # https://www.oracle.com/corporate/acquisitions/grapeshot/crawler.html
 # Updated: 2021.03.13 / Checked: 2024.07.13
 Grapeshot:
  User Agent: "grapeshot"
  Method: "uaCidrMatch"
  Valid domains:
   - "132.145.9.5/32"
   - "132.145.11.125/32"
   - "132.145.14.70/32"
   - "132.145.15.209/32"
   - "132.145.64.33/32"
   - "132.145.66.116/32"
   - "132.145.66.156/32"
   - "132.145.67.248/32"
   - "140.238.81.78/32"
   - "140.238.83.181/32"
   - "140.238.94.137/32"
   - "140.238.95.47/32"
   - "140.238.95.199/32"
   - "148.64.56.64/28"
   - "148.64.56.112/28"
   - "152.67.128.219/32"
   - "152.67.137.35/32"
   - "152.67.138.180/32"
