mirror of
https://gitlab.com/magnolia1234/bypass-paywalls-firefox-clean.git
synced 2024-11-16 06:13:16 +00:00
75 lines
2.2 KiB
JavaScript
75 lines
2.2 KiB
JavaScript
var ext_api = (typeof browser === 'object') ? browser : chrome;
|
|
|
|
function popup_show_toggle(domain, enabled) {
|
|
if (domain) {
|
|
var site_switch_span = document.getElementById('site_switch_span');
|
|
let labelEl = document.createElement('label');
|
|
labelEl.setAttribute('class', 'switch');
|
|
let inputEl = document.createElement('input');
|
|
inputEl.setAttribute('id', 'site_switch');
|
|
inputEl.setAttribute('type', 'checkbox');
|
|
if (enabled)
|
|
inputEl.setAttribute('checked', true);
|
|
labelEl.appendChild(inputEl);
|
|
let spanEl = document.createElement('span');
|
|
spanEl.setAttribute('class', 'slider round');
|
|
spanEl.setAttribute('title', 'en/disable current site in BPC');
|
|
labelEl.appendChild(spanEl);
|
|
site_switch_span.appendChild(labelEl);
|
|
document.getElementById("site_switch").addEventListener('click', function () {
|
|
ext_api.runtime.sendMessage({
|
|
request: 'site_switch'
|
|
});
|
|
//open(location).close();
|
|
});
|
|
}
|
|
};
|
|
|
|
ext_api.runtime.sendMessage({
|
|
request: 'popup_show_toggle'
|
|
});
|
|
ext_api.runtime.onMessage.addListener(function (message, sender) {
|
|
if (message.msg === 'popup_show_toggle' && message.data) {
|
|
popup_show_toggle(message.data.domain, message.data.enabled)
|
|
}
|
|
});
|
|
|
|
var cookie_domain;
|
|
ext_api.tabs.query({
|
|
active: true,
|
|
currentWindow: true
|
|
}, function (tabs) {
|
|
if (tabs && tabs[0] && tabs[0].url && tabs[0].url.startsWith('http')) {
|
|
let hostname = new URL(tabs[0].url).hostname;
|
|
cookie_domain = getCookiePermDomain(hostname);
|
|
}
|
|
});
|
|
|
|
document.getElementById("clear_cookies").addEventListener('click', function () {
|
|
ext_api.permissions.request({
|
|
origins: ["*://*." + cookie_domain + "/*"]
|
|
}, function (granted) {
|
|
if (granted) {
|
|
ext_api.runtime.sendMessage({
|
|
request: 'clear_cookies'
|
|
});
|
|
}
|
|
});
|
|
});
|
|
|
|
function closeButton() {
|
|
window.close();
|
|
}
|
|
|
|
function getCookiePermDomain(hostname) {
|
|
let domain = hostname.replace(/^(www|amp(html)?|m|wap)(\d)?\./, '');
|
|
let domain_split = domain.split('.');
|
|
let num = 2;
|
|
if (domain_split.length > 2 && domain.match(/(\w){2,4}\.(\w){2}$/))
|
|
num = 3;
|
|
domain = domain_split.slice(-num).join('.');
|
|
return domain;
|
|
}
|
|
|
|
document.getElementById("button-close").addEventListener('click', closeButton);
|