Compare commits

...

5 Commits

6 changed files with 92 additions and 42 deletions

View File

@ -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"
}
}

View File

@ -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": {

View File

@ -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": {

View File

@ -90,14 +90,16 @@ 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") {
switch (command) {
case "switchInstance":
const newUrl = await servicesHelper.switchInstance(url)
if (newUrl) browser.tabs.update({ url: newUrl })
}
else if (command == "copyRaw") {
break
case "copyRaw": {
servicesHelper.copyRaw(url)
break
}
else if (command == "redirect") {
case "redirect": {
browser.tabs.query({ active: true, currentWindow: true }, async tabs => {
if (tabs[0].url) {
const url = new URL(tabs[0].url)
@ -109,8 +111,9 @@ browser.commands.onCommand.addListener(async command => {
}
}
})
break
}
else if (command == "reverse") {
case "reverse": {
browser.tabs.query({ active: true, currentWindow: true }, async tabs => {
if (tabs[0].url) {
const url = new URL(tabs[0].url)
@ -122,6 +125,8 @@ browser.commands.onCommand.addListener(async command => {
}
}
})
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) => {
}
})
}
});
})

View File

@ -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 })
}
}