Wygaśnięcie domeny
ważność krytycznamierzonysposób domain_expiry
Dni do wygaśnięcia rejestracji domeny (RDAP, dla .eu WHOIS). Klienci regularnie zapominają o odnowieniu.
Od 2026-09-16 (CREATO_PING cf89ebe) codzienny timer systemd na serwerze LAB247, poza n8n. Wynik trafia tylko do ClickUp — do bazy LAB247 nie, więc statystyk tu nie ma.
WIKI
artykuł z 16.09.2026 · źródeł 10Wygaśnięcie domeny to parametr monitoringu stron internetowych, który sprawdza, ile dni zostało do końca opłaconego okresu rejestracji nazwy domeny. Odczyt pochodzi z danych rejestracyjnych publikowanych przez rejestr: z protokołu RDAP albo, dla części domen krajowych, z usługi WHOIS. Pomiar kończy się liczbą dni, stwierdzeniem, że nazwy nie ma w rejestrze, albo brakiem odpowiedzi. W odpowiedzi RDAP termin wskazuje zdarzenie expiration, zdefiniowane jako chwila, w której obiekt został albo zostanie usunięty z rejestru [1].
Jak działa
Klient RDAP najpierw ustala, który serwer jest właściwy dla domeny. Służy do tego plik startowy IANA (ang. bootstrap): obiekt JSON z tablicą services, w której każdy element łączy listę domen najwyższego poziomu z listą adresów usług RDAP [2]. Klient dopasowuje nazwę etykieta po etykiecie, od prawej, i wybiera najdłuższe dopasowanie [2]. Do adresu usługi dokleja segment domain/ z nazwą, na przykład zapytanie o a.b.example.com trafia pod …/domain/a.b.example.com [2]. Gdy dla domeny najwyższego poziomu nie ma wpisu, klient powinien zgłosić użytkownikowi błąd [2].
Odpowiedź serwera jest dokumentem JSON typu application/rdap+json [3]. Daty cyklu życia leżą w tablicy events: każde zdarzenie ma wymagane pola eventAction i eventDate [1]. Rejestr wartości zdarzeń obejmuje m.in. registration (pierwsza rejestracja), last changed i expiration [1]. Osobna tablica status opisuje stan obiektu, np. active albo pending delete [1].
Kod HTTP ma tu znaczenie rozstrzygające. Pusty wynik zapytania serwer zgłasza kodem 404 [3]. Odmowę z powodu limitu zapytań sygnalizuje kodem 429, a klient powinien wtedy zwolnić i uszanować nagłówek Retry-After [3]. Odpowiedź 429 nie mówi więc nic o stanie domeny.
WHOIS jest starszym protokołem tekstowym: klient łączy się z portem TCP 43, wysyła zapytanie zakończone znakami CR i LF, a serwer zamyka połączenie po wysłaniu odpowiedzi [4]. Protokół nie ma mechanizmu wskazania kodowania znaków ani kontroli dostępu, integralności i poufności [4].
Standardy i specyfikacje
- RFC 9083 definiuje odpowiedzi RDAP, w tym zdarzenia
eventsi wartościstatus[1]. - RFC 9224 opisuje pliki startowe IANA i dopasowanie nazwy do serwera [2].
- RFC 7480 ustala użycie HTTP w RDAP: kody 404 i 429 oraz typ
application/rdap+json[3]. - RFC 3912 opisuje WHOIS na porcie 43 [4].
- ICANN ogłosiło, że od 28 stycznia 2025 r. RDAP jest rozstrzygającym źródłem danych rejestracyjnych domen gTLD w miejsce wygaszanych usług WHOIS [5].
Zagrożenia i skutki
Etapy po dacie wygaśnięcia w gTLD. Umowa rejestru .org opisuje typowy przebieg. Nieodnowiona rejestracja jest automatycznie odnawiana przez system pierwszego dnia po dacie wygaśnięcia; okres Auto-Renew Grace Period trwa tam 45 dni kalendarzowych [6]. ICANN opisuje autoRenewPeriod jako okres łaski po wygaśnięciu rejestracji, którą rejestr sam przedłużył [7]. Usunięta nazwa trafia na 30 dni w stan REDEMPTIONPERIOD i nie jest wtedy umieszczana w pliku strefy [6]. Nieprzywrócona przechodzi w PENDING DELETE, a po pięciu dniach zostaje usunięta z bazy rejestru [6] [7]. Badacze z Northeastern University zauważają, że rejestratorzy zwykle usuwają nazwę tuż przed końcem 45-dniowego okresu, żeby nie ponosić opłaty rejestru [10].
Domeny .pl. Według komunikatu rejestru domena, której okres rozliczeniowy się skończył, przestaje działać i przechodzi w stan BLOCKED na 30 dni; w tym czasie abonent może jeszcze ją odnowić, a bez odnowienia umowa zostaje rozwiązana, a nazwa wraca do puli wolnych [8].
Domeny .eu. Usunięta nazwa, także z powodu nieopłacenia odnowienia, trafia na 40 dni do kwarantanny [9]. Strony i adresy e-mail w tej domenie przestają działać, a po kwarantannie nazwę może zarejestrować ktokolwiek [9].
Przejęcie wygasłej nazwy. Usunięte nazwy przechwytują wyspecjalizowane usługi drop catching, które rejestrują je w chwili zwolnienia [10]. Część rejestratorów sprzedaje wygasłe domeny klientów jeszcze w okresie Auto-Renew Grace; taka nazwa zachowuje pierwotną datę utworzenia, więc zmiana właściciela jest słabo widoczna [10]. Nazwa przechwycona po usunięciu wygląda z kolei jak nowo zarejestrowana [10]. Autorzy przytaczają prace o przejmowaniu zasobów chronionych adresami e-mail w wygasłej domenie i o stronach, które nadal ładują JavaScript z wygasłych domen, co pozwala nowemu właścicielowi wstrzyknąć kod [10].
Przykłady
Z badania z 2017 r.: 10% usuniętych domen .com rejestrowano ponownie tego samego dnia, w którym usunięto poprzednią rejestrację, a w strefie .org ponad połowa ponownych rejestracji z dnia usunięcia przypadała na 30 sekund [10]. Dziennie usuwano wtedy ponad 75 tys. domen w samej strefie .com [10].
| Obserwacja | Odpowiedź | Znaczenie |
|---|---|---|
| Data w przyszłości | RDAP 200, zdarzenie expiration [1] | rejestracja opłacona do tej daty |
| Data minęła, nazwa w rejestrze | stan okresu łaski [7] | odnowienie jeszcze możliwe |
| Brak nazwy | RDAP 404 [3] | nazwa niezarejestrowana albo już usunięta [6] |
| Odmowa | RDAP 429 [3] | limit zapytań, stan domeny nieznany |
| Brak wpisu TLD | bootstrap bez dopasowania [2] | rejestr bez usługi RDAP w pliku IANA |
| Domena .pl po okresie rozliczeniowym | stan BLOCKED [8] | 30 dni na odnowienie |
| Domena .eu usunięta | kwarantanna [9] | 40 dni na reaktywację |
- [1] RFC 9083 — JSON Responses for the Registration Data Access Protocol (RDAP) · IETF
- [2] RFC 9224 — Finding the Authoritative Registration Data Access Protocol (RDAP) Service · IETF
- [3] RFC 7480 — HTTP Usage in the Registration Data Access Protocol (RDAP) · IETF
- [4] RFC 3912 — WHOIS Protocol Specification · IETF
- [5] ICANN Update: Launching RDAP; Sunsetting WHOIS · ICANN
- [6] .ORG Agreement Appendix 7 — Functional and Performance Specifications · ICANN
- [7] EPP Status Codes: What Do They Mean, and Why Should I Know? · ICANN
- [8] Rozwiązanie porozumienia z rejestratorem Fachowcy.pl · NASK — Rejestr domeny .pl
- [9] Why is my domain name in quarantine? How can I restore it? · EURid
- [10] Game of Registrars: An Empirical Analysis of Post-Expiration Domain Name Takeovers (USENIX Security 2017) · USENIX / Northeastern University
STATS
wyniki z systemu · tylko liczby zbiorczeTen parametr nie zapisuje odczytu per strona — przebieg zostawia tylko ustalenia, więc liczby sprawdzonych stron i wyników „ok” system nie ma. Pojawią się po wdrożeniu zapisu przebiegów per strona per parametr.
Ten parametr nie otworzył jeszcze żadnego ustalenia w bazie LAB247. Pusto nie znaczy „czysto” — znaczy, że nic nie przekroczyło reguły.
Harmonogram nie zapisał jeszcze przebiegu ze sposobem „domain_expiry”. Zapis przebiegów z n8n działa od 2026-09-14.
CARD
karta z kodu CREATO_PING, odczyt 16.09.2026| Obszar i ważność | Bezpieczeństwo · krytyczna (B03) |
|---|---|
| Workflow i częstotliwość | creato-ping-domeny.timer działa na LAB247timer systemd codziennie 03:30 UTC · Poza n8n, od 2026-09-16 (zastąpił tygodniowy workflow ze starej instancji). Do 40 domen na przebieg; wynik tylko do ClickUp, do bazy LAB247 nie trafia. |
| Sonda i helper | sposób domain_expiry · CREATO_PING/helpers/domain_expiry.py |
| Testy |
|
| Typ wyniku | enum: ok / fail / timeout + dni do wygaśnięcia, data wygaśnięcia, flaga niezarejestrowana |
| Jednostka | dni (liczba całkowita, zaokrąglenie w dół); .eu i .de bez liczby dni — tylko zarejestrowana / wolna |
| Próg i reguła | Reguła: mniej niż 30 dni do wygaśnięcia albo brak domeny w rejestrze = fail. Timeout RDAP i WHOIS po 5,0 s. |
| Gdzie leżą pokrętła | CREATO_PING/helpers/domain_expiry.py → _EXPIRY_WARN_DAYS (30), _RDAP_TIMEOUT, _WHOIS_TIMEOUT, _WHOIS_FALLBACK, _WHOIS_ON_RATE_LIMITCREATO_PING/helpers/domain_expiry_portfolio.py → DEFAULT_LIMIT (40), FRESH_DAYS (7), RECHECK_BELOW_DAYS (45), STOP_AFTER_429 (3)CREATO_PING/deploy/lab247/systemd/creato-ping-domeny.timer → 03:30 UTC |
| Retencja odczytów | Nic w bazie LAB247. Na serwerze monitoringu plik stanu trzyma tylko ostatni rozstrzygnięty wynik per domena (nadpisywany); trwały jest subtask w ClickUp. Replay niemożliwy. |
| Znane rozbieżności |
|
| Karta przepisana z | CREATO_PING/helpers/domain_expiry.py · CREATO_PING/helpers/domain_expiry_portfolio.py · CREATO_PING/deploy/lab247/systemd/creato-ping-domeny.timer · CREATO_PING/helpers/clickup_writer_v2.py · CREATO_PING/docs/n8n_przenosiny_2026-09-08.md · odczyt 16.09.2026 |
Do zapisu trafia tylko wynik rozstrzygnięty. 1. fail = subtask w okresie łaski (IN PROGRESS, bez alertu), 2. fail = WARNING — nie DOWN, bo wygaśnięcie domeny nie jest sprawdzeniem krytycznym. Domena z problemem jest pytana w każdym przebiegu, więc WARNING pojawia się następnego dnia. Odczyt ok zamyka subtask. W LAB247 ustalenie widać tylko po imporcie z ClickUp.
| Ustalenie | Powaga | Pewność | Skutek | Subtask / alarm | Co zrobić |
|---|---|---|---|---|---|
| Wygaśnięcie domenydomain_expiry | Wysokie | Ewidentne | WARNING | tak / nie | Opłać odnowienie domeny u rejestratora. |
LOOP
pętli: 2Trafności jeszcze nie liczymy: zamknięcie subtaska nie niesie dziś werdyktu (prawdziwy / fałszywy / nie dało się sprawdzić). Cztery liczby pojawią się, gdy każde zamknięcie dostanie werdykt — to warunek startu pętli 1.
Sygnał: Research detekcji: rdap.org odpowiada 404 zarówno dla wolnej nazwy, jak i dla strefy bez RDAP (.eu) — każda domena .eu dostawałaby fałszywe „nie znaleziono”.
- 1. Zbiórkaręcznieodczyt z nocnego skanu, bez zapisu per strona
- 2. Werdyktręcznieresearch i test na żywej domenie .eu
- 3. Miarabrakliczników trafności wtedy nie było
- 4. Kartabrakkarta parametru powstała 2026-09-16
- 5. ZmianazrobioneWHOIS dla .eu, 404 rozdzielone
- 6. Replaybrakbrak zapisanych odczytów do replayu
| Data | Zmiana | Powód | Wpływ na system | Commit · replay |
|---|---|---|---|---|
| 2026-09-05 | Dla .eu 404 z RDAP kończy się zapytaniem WHOIS: zarejestrowana = ok bez daty, wolna = fail z flagą niezarejestrowana. W wyniku pojawiają się data rejestracji, rejestrator i serwery NS.helpers/domain_expiry.py · helpers/tests/test_domain_expiry.py · docs/gotchas.md | 404 z rdap.org nie odróżniał strefy bez RDAP od wolnej nazwy; świeża data rejestracji miała wskazywać przejęcie po wygaśnięciu. | tylko ten parametr | b0fc77cbez replayubez zapisu zatwierdzenia |
Sygnał: Pierwszy skan całego portfela z nowego serwera: 167 z 216 domen dostało HTTP 429 z rdap.org; strona w subdomenie i domena .de dostały fałszywe „niezarejestrowana”, a WHOIS NASK odpowiadał tekstem o przekroczonym limicie.
- 1. Zbiórkaręcznieodczyt z nocnego skanu, bez zapisu per strona
- 2. Werdyktręcznieczłowiek przejrzał wyniki pierwszego skanu portfela
- 3. Miarabrakliczników trafności wtedy nie było
- 4. Kartabrakkarta parametru powstała 2026-09-16
- 5. Zmianazrobione429 = nie sprawdzono, subdomena → rodzic
- 6. Replaybrakbrak zapisanych odczytów do replayu
| Data | Zmiana | Powód | Wpływ na system | Commit · replay |
|---|---|---|---|---|
| 2026-09-16 | Zapytania wprost do serwera rejestru z pliku IANA; 429 = timeout, nie fail. Do zapisu trafia tylko wynik rozstrzygnięty, najwyżej 40 domen na dobę, pojedynczo, z bezpiecznikiem 3 kolejnych 429 na strefę.helpers/domain_expiry.py · helpers/domain_expiry_portfolio.py · deploy/lab247/systemd/creato-ping-domeny.timer | Równoległe zapytania do rdap.org kończą się limitem; „rejestr nie odpowiedział” to nie „domena wygasa”. | cały system Parametr zaczyna działać na nowym serwerze: fail daje WARNING i zmienia status strony w ClickUp; stary tygodniowy workflow wyłączony. | cf89ebebez replayubez zapisu zatwierdzenia |
| 2026-09-16 | 404 na nazwie z więcej niż dwiema etykietami = zapytanie o domenę nadrzędną; .de sprawdzane przez WHOIS DENIC; strefa bez RDAP i bez WHOIS = timeout zamiast fail.helpers/domain_expiry.py | Rejestr zna tylko domenę, nie subdomenę, a DENIC nie ma RDAP — oba przypadki dawały fałszywe „niezarejestrowana”. | tylko ten parametr | cf89ebebez replayubez zapisu zatwierdzenia |
| 2026-09-16 | Domeny .pl przy 429 z RDAP NASK biorą datę z pola renewal date w WHOIS NASK.helpers/domain_expiry.py | NASK przycina RDAP dla całego adresu IP, a WHOIS odpowiada w tym samym czasie z tą samą datą. | tylko ten parametr | cf89ebebez replayubez zapisu zatwierdzenia |
| 2026-09-16 | Odpowiedź WHOIS NASK o przekroczonym limicie liczona jak 429.helpers/domain_expiry.py · helpers/tests/test_domain_expiry.py · docs/gotchas.md | Wcześniej wychodziła jako „brak daty” i bezpiecznik strefy jej nie widział. | tylko ten parametr | 8fb4ce3bez replayubez zapisu zatwierdzenia |