Compare commits
5 Commits
27602cb94a
...
fb9acd1539
Author | SHA1 | Date |
---|---|---|
ManeraKai | fb9acd1539 | |
ManeraKai | 8649bad9b9 | |
ManeraKai | 0710585ea3 | |
ManeraKai | eae22ddcc3 | |
pjammo | 181bc60f8a |
|
@ -60,7 +60,7 @@
|
|||
"description": "used in the settings page"
|
||||
},
|
||||
"frontend": {
|
||||
"message": "Frontend",
|
||||
"message": "Interfaccia",
|
||||
"description": "used in the settings page"
|
||||
},
|
||||
"redirectType": {
|
||||
|
@ -99,5 +99,14 @@
|
|||
},
|
||||
"about": {
|
||||
"message": "Informazioni"
|
||||
},
|
||||
"unsupportedIframesHandling": {
|
||||
"message": "Gestione iframe non supportati"
|
||||
},
|
||||
"fetchPublicInstances": {
|
||||
"message": "Recupera istanze pubbliche"
|
||||
},
|
||||
"disable": {
|
||||
"message": "Disattiva"
|
||||
}
|
||||
}
|
||||
|
|
Binary file not shown.
|
@ -106,8 +106,7 @@
|
|||
"^https?:\\/{2}(i|s)\\.ytimg.com\\/vi\\/.*\\/..*",
|
||||
"^https?:\\/{2}(www\\.)?youtube.com\\/watch?v=..*",
|
||||
"^https?:\\/{2}(www\\.)?youtu\\.be\\/..*",
|
||||
"^https?:\\/{2}(www\\.)?(youtube|youtube-nocookie)\\.com\\/embed\\/..*",
|
||||
"^https?:\\/{2}music\\.youtube\\.com\\/"
|
||||
"^https?:\\/{2}(www\\.)?(youtube|youtube-nocookie)\\.com\\/embed\\/..*"
|
||||
],
|
||||
"name": "YouTube",
|
||||
"options": {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "__MSG_extensionName__",
|
||||
"description": "__MSG_extensionDescription__",
|
||||
"version": "2.8.1",
|
||||
"version": "2.8.2",
|
||||
"manifest_version": 2,
|
||||
"browser_specific_settings": {
|
||||
"gecko": {
|
||||
|
@ -85,4 +85,4 @@
|
|||
"default_locale": "en",
|
||||
"update_url": "https://raw.githubusercontent.com/libredirect/libredirect/master/src/updates/updates.xml",
|
||||
"key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAroWDSoSRZ1scj+eJRrvnhJbrqXTKnhQuxs6+AJg16sqr0bsMdFV+MSY4i4xnK+K5WOYkBliWXgUyk/wzicoAjOnSJddrL/Md4FuWHI2NVIkrlsLOrYkygi5OLqGPajRH/w8Cdmg7KzEpXe/OnYV0/qS8li8huEdTzdeLdhfbiVl1j3DOr4OJALQ7mPeeNFHFo/oVQ+OkSezWLezA5jUGfhtzPYV6u1TXzX7lCi8E/BbDbwkvvXOMcjXCv08kjdLOY2djCA2a6zr0xAb3q8DlexAMZ8vMof7AQRFtBKhLc9n9VFoipMMdBOVQQj/eIcRILBrmkcZNnJxFKiHNJ+NcZQIDAQAB"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -90,38 +90,43 @@ browser.tabs.onRemoved.addListener(tabId => {
|
|||
browser.commands.onCommand.addListener(async command => {
|
||||
browser.tabs.query({ active: true, currentWindow: true }, async tabs => {
|
||||
const url = new URL(tabs[0].url)
|
||||
if (command == "switchInstance") {
|
||||
const newUrl = await servicesHelper.switchInstance(url)
|
||||
if (newUrl) browser.tabs.update({ url: newUrl })
|
||||
}
|
||||
else if (command == "copyRaw") {
|
||||
servicesHelper.copyRaw(url)
|
||||
}
|
||||
else if (command == "redirect") {
|
||||
browser.tabs.query({ active: true, currentWindow: true }, async tabs => {
|
||||
if (tabs[0].url) {
|
||||
const url = new URL(tabs[0].url)
|
||||
const newUrl = servicesHelper.redirect(url, "main_frame", null, true)
|
||||
if (newUrl) {
|
||||
browser.tabs.update(tabs[0].id, { url: newUrl }, () => {
|
||||
tabIdRedirects[tabs[0].id] = true
|
||||
})
|
||||
switch (command) {
|
||||
case "switchInstance":
|
||||
const newUrl = await servicesHelper.switchInstance(url)
|
||||
if (newUrl) browser.tabs.update({ url: newUrl })
|
||||
break
|
||||
case "copyRaw": {
|
||||
servicesHelper.copyRaw(url)
|
||||
break
|
||||
}
|
||||
case "redirect": {
|
||||
browser.tabs.query({ active: true, currentWindow: true }, async tabs => {
|
||||
if (tabs[0].url) {
|
||||
const url = new URL(tabs[0].url)
|
||||
const newUrl = servicesHelper.redirect(url, "main_frame", null, true)
|
||||
if (newUrl) {
|
||||
browser.tabs.update(tabs[0].id, { url: newUrl }, () => {
|
||||
tabIdRedirects[tabs[0].id] = true
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
else if (command == "reverse") {
|
||||
browser.tabs.query({ active: true, currentWindow: true }, async tabs => {
|
||||
if (tabs[0].url) {
|
||||
const url = new URL(tabs[0].url)
|
||||
const newUrl = await servicesHelper.reverse(url)
|
||||
if (newUrl) {
|
||||
browser.tabs.update(tabs[0].id, { url: newUrl }, () => {
|
||||
tabIdRedirects[tabs[0].id] = false
|
||||
})
|
||||
})
|
||||
break
|
||||
}
|
||||
case "reverse": {
|
||||
browser.tabs.query({ active: true, currentWindow: true }, async tabs => {
|
||||
if (tabs[0].url) {
|
||||
const url = new URL(tabs[0].url)
|
||||
const newUrl = await servicesHelper.reverse(url)
|
||||
if (newUrl) {
|
||||
browser.tabs.update(tabs[0].id, { url: newUrl }, () => {
|
||||
tabIdRedirects[tabs[0].id] = false
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
break
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
|
@ -137,6 +142,8 @@ browser.contextMenus.create({ id: "redirectLinkInNewTab", title: 'Redirect In Ne
|
|||
browser.contextMenus.create({ id: "reverseLink", title: 'Redirect To Original', contexts: ["link"] })
|
||||
browser.contextMenus.create({ id: "reverseLinkInNewTab", title: 'Redirect To Original In New Tab', contexts: ["link"] })
|
||||
browser.contextMenus.create({ id: "copyReverseLink", title: 'Copy Original', contexts: ["link"] })
|
||||
browser.contextMenus.create({ id: "bypassLink", title: 'Bypass', contexts: ["link"] })
|
||||
browser.contextMenus.create({ id: "bypassLinkInNewTab", title: 'Bypass In New Tab', contexts: ["link"] })
|
||||
|
||||
if (!isChrome) {
|
||||
browser.contextMenus.create({ id: "redirectBookmark", title: 'Redirect', contexts: ["bookmark"] })
|
||||
|
@ -144,9 +151,10 @@ if (!isChrome) {
|
|||
browser.contextMenus.create({ id: "reverseBookmark", title: 'Redirect To Original', contexts: ["bookmark"] })
|
||||
browser.contextMenus.create({ id: "reverseBookmarkInNewTab", title: 'Redirect To Original In New Tab', contexts: ["bookmark"] })
|
||||
browser.contextMenus.create({ id: "copyReverseBookmark", title: 'Copy Original', contexts: ["bookmark"] })
|
||||
browser.contextMenus.create({ id: "bypassBookmark", title: 'Bypass', contexts: ["bookmark"] })
|
||||
browser.contextMenus.create({ id: "bypassBookmarkInNewTab", title: 'Bypass In New Tab', contexts: ["bookmark"] })
|
||||
}
|
||||
|
||||
|
||||
browser.contextMenus.onClicked.addListener(async (info) => {
|
||||
switch (info.menuItemId) {
|
||||
case 'switchInstanceTab': {
|
||||
|
@ -201,7 +209,6 @@ browser.contextMenus.onClicked.addListener(async (info) => {
|
|||
|
||||
case 'copyReverseLink': {
|
||||
const url = new URL(info.linkUrl)
|
||||
console.log(url)
|
||||
await servicesHelper.copyRaw(url)
|
||||
return
|
||||
}
|
||||
|
@ -233,6 +240,21 @@ browser.contextMenus.onClicked.addListener(async (info) => {
|
|||
return
|
||||
}
|
||||
|
||||
case 'bypassLink':
|
||||
case 'bypassLinkInNewTab': {
|
||||
const url = new URL(info.linkUrl)
|
||||
if (info.menuItemId == "bypassLink") {
|
||||
browser.tabs.update({ url: url.href }, tab => {
|
||||
tabIdRedirects[tab.id] = false
|
||||
})
|
||||
} else {
|
||||
browser.tabs.create({ url: url.href }, tab => {
|
||||
tabIdRedirects[tab.id] = false
|
||||
})
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
case 'copyReverseBookmark': {
|
||||
browser.bookmarks.get(info.bookmarkId, bookmarks => {
|
||||
const url = new URL(bookmarks[0].url)
|
||||
|
@ -240,6 +262,7 @@ browser.contextMenus.onClicked.addListener(async (info) => {
|
|||
});
|
||||
return
|
||||
}
|
||||
|
||||
case 'redirectBookmark':
|
||||
case 'redirectBookmarkInNewTab': {
|
||||
browser.bookmarks.get(info.bookmarkId, bookmarks => {
|
||||
|
@ -250,7 +273,6 @@ browser.contextMenus.onClicked.addListener(async (info) => {
|
|||
else browser.tabs.create({ url: newUrl })
|
||||
}
|
||||
})
|
||||
|
||||
return
|
||||
}
|
||||
case 'reverseBookmark':
|
||||
|
@ -272,6 +294,23 @@ browser.contextMenus.onClicked.addListener(async (info) => {
|
|||
})
|
||||
return
|
||||
}
|
||||
|
||||
case 'bypassBookmark':
|
||||
case 'bypassBookmarkInNewTab': {
|
||||
browser.bookmarks.get(info.bookmarkId, async bookmarks => {
|
||||
const url = new URL(bookmarks[0].url)
|
||||
if (info.menuItemId == "bypassBookmark") {
|
||||
browser.tabs.update({ url: url.href }, tab => {
|
||||
tabIdRedirects[tab.id] = false
|
||||
})
|
||||
} else {
|
||||
browser.tabs.create({ url: url.href }, tab => {
|
||||
tabIdRedirects[tab.id] = false
|
||||
})
|
||||
}
|
||||
return
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
|
@ -302,4 +341,4 @@ browser.runtime.onMessage.addListener((request, sender, sendResponse) => {
|
|||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
})
|
|
@ -338,18 +338,21 @@ async function ping(frontend) {
|
|||
]
|
||||
|
||||
let pingCache = await utils.getPingCache()
|
||||
let redundancyList = {}
|
||||
for (const element of instanceElements) {
|
||||
let span = element.getElementsByClassName('ping')[0]
|
||||
if (!span) span = document.createElement('span')
|
||||
span.classList = ['ping']
|
||||
span.innerHTML = '<span style="color:lightblue">pinging...</span>'
|
||||
element.appendChild(span)
|
||||
|
||||
const href = element.getElementsByTagName('a')[0].href
|
||||
const time = await utils.ping(href)
|
||||
const innerHTML = element.getElementsByTagName('a')[0].innerHTML
|
||||
const time = redundancyList[innerHTML] ?? await utils.ping(href)
|
||||
const { color, text } = processTime(time)
|
||||
span.innerHTML = `<span style="color:${color};">${text}</span>`
|
||||
pingCache[element.getElementsByTagName('a')[0].innerHTML] = time
|
||||
pingCache[innerHTML] = time
|
||||
redundancyList[innerHTML] = time
|
||||
|
||||
browser.storage.local.set({ pingCache })
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue