RKN Alert - the base of Roskomnadzor in your browser

    Like everyone else, I use one of the easiest ways to bypass locks, which are now the sea. All sites open without problems and brakes. But more recently (2 weeks ago) I have a question: which sites are actually blocked from those that open and which are not? Each site is not an option to manually check on the official website of the RKN , although this is the most reliable way. Naturally, I went to google the right tools, but to my great surprise I didn’t find anything.

    Idea


    So the idea was born to make an extension ( open source ), which will check each site for compliance with records in the RKN database. At first it was simple, only checked the domain. Now it even shows whether the site was blocked improperly (fell under the distribution). For example, reactos.org or 7-zip.org (at the time of reading the article, they may already be unlocked). In general, since the beginning of the war with Telegram, many networks are still permanently blocked, from time to time this list changes according to unknown laws.

    How the extension works


    • It downloads the RKN base and stores it locally.
    • In the current tab, checks the URL (whether it is in the database).
    • Cuts the domain from the URL and checks if there is a domain in the database.
    • Checks the current ip-address in the database where the current site is loaded.
    • Checks the ownership of ip-address to blocked subnets.
    • Shows a report in the form of an icon. If you press it, then a little more detailed information.

    That's all, no magic. Domain checking is always available, even if the site is not loaded, blocked, replaced, etc. - because it analyzes the address string, that is, the URL that you type in the address bar or that appears there itself. All problems are associated only with checking ip.

    And what if the browser proxy?


    If a proxy is configured in the browser, the extension works at half strength, because experiencing problems with the definition of the current site ip. Instead, the ip of the proxy server is determined. We are talking only about the proxy in the browser itself, and not about VPN and other workarounds. By the way, to determine the ip needed webRequest rights (data access). Also, ip is not detected from the Tor browser (unfortunately).

    And if the site is blocked by the provider?


    Another technical difficulty is determining the current ip when the site is unavailable (presumably blocked, and the bypass of locks is not configured). In this case, the browser does not provide information about the ip-address. And we need exactly the ip by which the browser is trying to establish a connection - and it is impossible to determine it, alas. But checking by URL and domain is working properly.

    And what if the site just lies?


    In this case, there is a function of checking the availability of the site , - it works independently of DNS and locks (as long as the corresponding service works without surprises). After installing the extension, you need to enable it in the settings. But determining ip will not work for the same reason as in the previous paragraph.

    What if the provider redirects DNS?


    If the provider has blocking at the DNS level, then the extension will receive a false current site ip and be unaware of it. And vice versa, if you list the necessary ip in the hosts file (or even you have your own DNS server), then they will appear in the pop-up report. The check by URL and domain is working properly, because they are taken from the address bar in the browser.

    We are trying to solve problems with ip


    As a half-measure for solving such problems, the extension performs a DNS query and determines all site ip, as well as their status in the RKN database. At the same time, the extension does not know exactly which of several ip is currently used to access the checked site. Therefore, if at least one ip is blocked, then the extension beeps the alarm and changes the color of the icon to red.

    To obtain DNS records, you have to use an external service via HTTP-DNS , because the browser itself does not allow resolving addresses. But this is good, because providers do not block or redirect such requests. The reliability of information is high. You can use dns from Google or Cloudflare , as well as user brzsmg Khozhit eternal free dns, for which he thanks.

    Where to get the fresh base of RKN?


    Of course, a separate quest was to search for the most adequate RKN base. The fact is that the RKN itself does not hold the base in the public domain. Instead, he suggests that providers use a digital signature to access the database. I did not have an extra EDS on hand. Meanwhile, the RKN recommends that providers update the database once an hour . And some "urgent" updates of the base occur even more often . That is, a carpet lock can touch key (or your) resources for only a couple of hours, and then disappear, as if nothing had happened. The most acceptable was the frequently updated file on github . Thank you good people!

    ISP cap


    Situations when the provider stub is shown, the extension recognizes. It remembers the information about the page from which the redirect was sent to the stub, and shows information about the site, and not about the stub. Now supported: Rostelecom, MTS, Beeline, Yota, TTK, Dom.ru. If you have a special stub with the provider, you can specify it in the settings, and it will be recognized (will not be considered as a website).

    Conclusion


    What other Wishlist to add? Write to. As for me, the extension has already finished look. Next is the correction of minor bugs once a year ( if found ).

    I cannot say anything about the future of RKN Alert, because it is tied to the work of external services, and also depends on the availability of the database in free access. But while I'm alive, I monitor the situation. I think there will always be a way out.

    Thanks to everyone who helps! All good!

    Only registered users can participate in the survey. Sign in , please.

    Is the extension useful?


    Also popular now: