import re, requests, uuid
GATE = "gate.aeonproxy.com:7000"
# Country key only. Digicel reports AS140504 and Cenpac AS55722. Another ASN can still be in
# Nauru, so the country field decides and the company name is only a label.
COMPANY = {"AS140504": "Digicel", "AS55722": "Cenpac"}
SPELLINGS = ("Nauru", "Naoero") # the law changed in May 2026 and pages print both
def nauru_exit(tries=5):
for _ in range(tries):
sid = uuid.uuid4().hex[:8]
proxy = f"http://ap_a1b2c3-cc-nr-sid-{sid}-time-1200:PASS@{GATE}"
try:
geo = requests.get("https://ipinfo.io/json", proxies={"http": proxy, "https": proxy}, timeout=20).json()
except requests.RequestException:
continue # no answer: next session
if geo.get("country") == "NR":
return proxy, geo # this address stays for 20 minutes
return None, None
proxy, geo = nauru_exit()
if proxy:
asn = geo.get("org", "").split(" ")[0]
print(geo["ip"], geo.get("city"), COMPANY.get(asn, geo.get("org")))
html = requests.get("https://www.digicelpacific.com/mobile/nr/bundles",
proxies={"http": proxy, "https": proxy}, timeout=30).text
print(re.findall(r"AUD \$\d+", html)[:6], {name: html.count(name) for name in SPELLINGS})
On a pool this small a run can end with no exit. Wait and run it again later.