diff --git a/src/assets/images/github-icon-light.svg b/src/assets/images/github-icon-light.svg
new file mode 100644
index 0000000..d5e6491
--- /dev/null
+++ b/src/assets/images/github-icon-light.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/images/github-icon.svg b/src/assets/images/github-icon.svg
new file mode 100644
index 0000000..37fa923
--- /dev/null
+++ b/src/assets/images/github-icon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js
index 624edc9..80c927c 100644
--- a/src/assets/javascripts/services.js
+++ b/src/assets/javascripts/services.js
@@ -483,7 +483,6 @@ function redirect(url, type, initiator, forceRedirection) {
}
case "waybackClassic": {
const regex = /^\/\web\/[0-9]+\*\/(.*)/.exec(url.pathname)
- console.log('regex', regex)
if (regex) {
const link = regex[1]
return `${randomInstance}/cgi-bin/history.cgi?utf8=✓&q=${encodeURIComponent(link)}`
@@ -493,6 +492,17 @@ function redirect(url, type, initiator, forceRedirection) {
default: {
return `${randomInstance}${url.pathname}${url.search}`
}
+ case "gothub": {
+ const regex = /^\/(.*)\/(.*)\/(?:blob|tree)\/(.*)\/(.*)/.exec(url.pathname)
+ if (regex) {
+ const user = regex[1]
+ const repo = regex[2]
+ const branch = regex[3]
+ const path = regex[4]
+ return `${randomInstance}/file/${user}/${repo}/${branch}/${path}`
+ }
+ return `${randomInstance}${url.pathname}${url.search}`
+ }
}
}
@@ -618,7 +628,8 @@ const defaultInstances = {
'biblioReads': ['https://biblioreads.ml'],
'wikiless': ['https://wikiless.org'],
'suds': ['https://sd.vern.cc'],
- 'waybackClassic': ['https://wayback-classic.net']
+ 'waybackClassic': ['https://wayback-classic.net'],
+ 'gothub': ['https://gh.odyssey346.dev']
}
function initDefaults() {
diff --git a/src/config.json b/src/config.json
index 5eea75b..29934e3 100644
--- a/src/config.json
+++ b/src/config.json
@@ -652,6 +652,26 @@
"imageType": "svgMono",
"embeddable": false,
"url": "https://web.archive.org"
+ },
+ "github": {
+ "frontends": {
+ "gothub": {
+ "name": "Gothub",
+ "instanceList": true,
+ "url": "https://codeberg.org/gothub/gothub"
+ }
+ },
+ "targets": [
+ "^https?:\\/{2}github\\.com\\/"
+ ],
+ "name": "GitHub",
+ "options": {
+ "enabled": false,
+ "unsupportedUrls": "bypass"
+ },
+ "imageType": "svgMono",
+ "embeddable": false,
+ "url": "https://web.archive.org"
}
}
}
\ No newline at end of file
diff --git a/src/manifest.json b/src/manifest.json
index f72e5b6..5d45ce0 100644
--- a/src/manifest.json
+++ b/src/manifest.json
@@ -26,6 +26,7 @@
"clipboardWrite",
"contextMenus",
"bookmarks",
+ "browserSettings",
""
],
"browser_action": {
diff --git a/src/pages/options/widgets/services.pug b/src/pages/options/widgets/services.pug
index 5b44b39..e375c05 100644
--- a/src/pages/options/widgets/services.pug
+++ b/src/pages/options/widgets/services.pug
@@ -39,7 +39,12 @@ each val, service in services
select(id=service+"-unsupportedUrls")
option(value="bypass") bypass
option(value="block") block
- hr
+
+ if (service == 'search')
+ div(class="some-block option-block")
+ h4 Set LibRedirect as Default Search Engine
+
+ hr
each val, frontend in services[service].frontends
if services[service].frontends[frontend].instanceList