Website/_assets/censorcanary.min.js

1 line
4.4 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const censorcanary={checkIpfs:async()=>{let e="";try{e=await(await fetch("https://ipfs.io/ipfs/QmWfVY9y3xjsixTgbd9AorQxH7VtMpzfx2HaWtsoUYecaX")).text()}catch(e){console.warn("censorship canary request failed",e)}return"hello"==e},message:{en:'Sorry for the interruption, but we failed to verify that you have access to a free & open internet. We strongly recommend using a mitigation like <a href="https://developers.cloudflare.com/1.1.1.1/encryption/dns-over-https/" target="_blank" rel="noreferrer">DNS over HTTPS</a> or even a VPN.',de:'Entschuldigung für die Unterbrechung, aber wir konnten nicht bestätigen, dass Sie Zugang zu einem freien und offenen Internet haben. Wir empfehlen dringend, eine Maßnahme wie <a href="https://developers.cloudflare.com/1.1.1.1/encryption/dns-over-https/" target="_blank" rel="noreferrer">DNS über HTTPS</a> oder sogar ein VPN zu verwenden.',es:'Perdón por la interrupción, pero no pudimos verificar que tengas acceso a un internet libre y abierto. Te recomendamos encarecidamente usar una solución como <a href="https://developers.cloudflare.com/1.1.1.1/encryption/dns-over-https/" target="_blank" rel="noreferrer">DNS sobre HTTPS</a> o incluso una VPN.',fr:'Désolé pour linterruption, mais nous navons pas pu vérifier que vous avez accès à un Internet libre et ouvert. Nous vous recommandons vivement dutiliser une solution comme <a href="https://developers.cloudflare.com/1.1.1.1/encryption/dns-over-https/" target="_blank" rel="noreferrer">DNS over HTTPS</a> ou même un VPN.',hi:'असुविधा के लिए क्षमा करें, लेकिन हम यह सत्यापित नहीं कर पाए कि आपके पास मुक्त और खुले इंटरनेट की पहुँच है। हम दृढ़ता से सलाह देते हैं कि आप <a href="https://developers.cloudflare.com/1.1.1.1/encryption/dns-over-https/" target="_blank" rel="noreferrer">DNS over HTTPS</a> या फिर VPN का उपयोग करें।',it:'Scusa per linterruzione, ma non siamo riusciti a verificare che tu abbia accesso a un Internet libero e aperto. Ti consigliamo vivamente di utilizzare una soluzione come <a href="https://developers.cloudflare.com/1.1.1.1/encryption/dns-over-https/" target="_blank" rel="noreferrer">DNS over HTTPS</a> o persino una VPN.',ja:'ご迷惑をおかけして申し訳ありませんが、自由でオープンなインターネットにアクセスできるか確認できませんでした。推奨として <a href="https://developers.cloudflare.com/1.1.1.1/encryption/dns-over-https/" target="_blank" rel="noreferrer">DNS over HTTPS</a> や VPN の利用を強くお勧めします。',pt:'Desculpe a interrupção, mas não conseguimos verificar se você tem acesso a uma internet livre e aberta. Recomendamos fortemente usar uma solução como <a href="https://developers.cloudflare.com/1.1.1.1/encryption/dns-over-https/" target="_blank" rel="noreferrer">DNS sobre HTTPS</a> ou até mesmo uma VPN.',ru:'Извините за неудобство, но мы не смогли подтвердить, что у вас есть доступ к свободному и открытому интернету. Мы настоятельно рекомендуем использовать такие меры, как <a href="https://developers.cloudflare.com/1.1.1.1/encryption/dns-over-https/" target="_blank" rel="noreferrer">DNS через HTTPS</a> или даже VPN.',zh:'抱歉打扰,但我们无法验证您是否可以访问自由开放的互联网。我们强烈建议使用 <a href="https://developers.cloudflare.com/1.1.1.1/encryption/dns-over-https/" target="_blank" rel="noreferrer">基于 HTTPS 的 DNS</a> 或者 VPN。'},showBanner:e=>{const r=()=>{if(!document.querySelector(".censorcanary-alert")){const r=document.createElement("div");r.className="alert alert-warning censorcanary-alert",r.setAttribute("role","alert"),r.innerHTML=censorcanary.message[e??(navigator.language||"en").split("-")[0].toLowerCase()]??censorcanary.message.en,(document.querySelector("body > .container")||document.querySelector("body > .container-fluid")||document.body).prepend(r)}};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",r):r()}};localStorage.getItem("censorcanary")||censorcanary.checkIpfs().then(e=>{e?localStorage.setItem("censorcanary","1"):censorcanary.showBanner()});