diff options
-rw-r--r-- | src/assets/images/threads-icon-light.svg | 21 | ||||
-rw-r--r-- | src/assets/images/threads-icon.svg | 18 | ||||
-rw-r--r-- | src/assets/javascripts/services.js | 6 | ||||
-rw-r--r-- | src/config.json | 194 |
4 files changed, 198 insertions, 41 deletions
diff --git a/src/assets/images/threads-icon-light.svg b/src/assets/images/threads-icon-light.svg new file mode 100644 index 00000000..809c12d8 --- /dev/null +++ b/src/assets/images/threads-icon-light.svg @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 878 1000" style="enable-background:new 0 0 878 1000;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#FFFFFF;} +</style> +<g> + <path class="st0" d="M446.7,1000h-0.3c-149.2-1-263.9-50.2-341-146.2C36.9,768.3,1.5,649.4,0.3,500.4v-0.7 + c1.2-149.1,36.6-267.9,105.2-353.4C182.5,50.2,297.3,1,446.4,0h0.3h0.3c114.4,0.8,210.1,30.2,284.4,87.4 + c69.9,53.8,119.1,130.4,146.2,227.8l-85,23.7c-46-165-162.4-249.3-346-250.6c-121.2,0.9-212.9,39-272.5,113.2 + C118.4,271,89.6,371.4,88.5,500c1.1,128.6,29.9,229,85.7,298.5c59.6,74.3,151.3,112.4,272.5,113.2c109.3-0.8,181.6-26.3,241.7-85.2 + c68.6-67.2,67.4-149.7,45.4-199.9c-12.9-29.6-36.4-54.2-68.1-72.9c-8,56.3-25.9,101.9-53.5,136.3c-36.9,45.9-89.2,71-155.4,74.6 + c-50.1,2.7-98.4-9.1-135.8-33.4c-44.3-28.7-70.2-72.5-73-123.5c-2.7-49.6,17-95.2,55.4-128.4c36.7-31.7,88.3-50.3,149.3-53.8 + c44.9-2.5,87-0.5,125.8,5.9c-5.2-30.9-15.6-55.5-31.2-73.2c-21.4-24.4-54.5-36.8-98.3-37.1c-0.4,0-0.8,0-1.2,0 + c-35.2,0-83,9.7-113.4,55L261.2,327c40.8-60.6,107-94,186.6-94c0.6,0,1.2,0,1.8,0c133.1,0.8,212.4,82.3,220.3,224.5 + c4.5,1.9,9,3.9,13.4,5.9c62.1,29.2,107.5,73.4,131.4,127.9c33.2,75.9,36.3,199.6-64.5,298.3C673.1,965,579.6,999.1,447,1000 + L446.7,1000L446.7,1000z M488.5,512.9c-10.1,0-20.3,0.3-30.8,0.9c-76.5,4.3-124.2,39.4-121.5,89.3c2.8,52.3,60.5,76.6,116,73.6 + c51-2.7,117.4-22.6,128.6-154.6C552.6,516,521.7,512.9,488.5,512.9z"/> +</g> +</svg> diff --git a/src/assets/images/threads-icon.svg b/src/assets/images/threads-icon.svg new file mode 100644 index 00000000..e99823bb --- /dev/null +++ b/src/assets/images/threads-icon.svg @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 878 1000" style="enable-background:new 0 0 878 1000;" xml:space="preserve"> +<g> + <path d="M446.7,1000h-0.3c-149.2-1-263.9-50.2-341-146.2C36.9,768.3,1.5,649.4,0.3,500.4v-0.7c1.2-149.1,36.6-267.9,105.2-353.4 + C182.5,50.2,297.3,1,446.4,0h0.3h0.3c114.4,0.8,210.1,30.2,284.4,87.4c69.9,53.8,119.1,130.4,146.2,227.8l-85,23.7 + c-46-165-162.4-249.3-346-250.6c-121.2,0.9-212.9,39-272.5,113.2C118.4,271,89.6,371.4,88.5,500c1.1,128.6,29.9,229,85.7,298.5 + c59.6,74.3,151.3,112.4,272.5,113.2c109.3-0.8,181.6-26.3,241.7-85.2c68.6-67.2,67.4-149.7,45.4-199.9 + c-12.9-29.6-36.4-54.2-68.1-72.9c-8,56.3-25.9,101.9-53.5,136.3c-36.9,45.9-89.2,71-155.4,74.6c-50.1,2.7-98.4-9.1-135.8-33.4 + c-44.3-28.7-70.2-72.5-73-123.5c-2.7-49.6,17-95.2,55.4-128.4c36.7-31.7,88.3-50.3,149.3-53.8c44.9-2.5,87-0.5,125.8,5.9 + c-5.2-30.9-15.6-55.5-31.2-73.2c-21.4-24.4-54.5-36.8-98.3-37.1c-0.4,0-0.8,0-1.2,0c-35.2,0-83,9.7-113.4,55L261.2,327 + c40.8-60.6,107-94,186.6-94c0.6,0,1.2,0,1.8,0c133.1,0.8,212.4,82.3,220.3,224.5c4.5,1.9,9,3.9,13.4,5.9 + c62.1,29.2,107.5,73.4,131.4,127.9c33.2,75.9,36.3,199.6-64.5,298.3C673.1,965,579.6,999.1,447,1000L446.7,1000L446.7,1000z + M488.5,512.9c-10.1,0-20.3,0.3-30.8,0.9c-76.5,4.3-124.2,39.4-121.5,89.3c2.8,52.3,60.5,76.6,116,73.6 + c51-2.7,117.4-22.6,128.6-154.6C552.6,516,521.7,512.9,488.5,512.9z"/> +</g> +</svg> diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js index dbd3ea2c..b319d46b 100644 --- a/src/assets/javascripts/services.js +++ b/src/assets/javascripts/services.js @@ -546,6 +546,11 @@ function rewrite(url, frontend, randomInstance) { case "ratAintTieba": url.searchParams.delete("ie") return `${randomInstance}${url.pathname}${url.search}` + case "shoelace": { + const reg = /\/(?:(?:(?:.*)?\/post)|t)\/(.*)(?:\/)?/.exec(url.pathname) + if (reg) return `${randomInstance}/t/${reg[1]}${url.search}` + return `${randomInstance}${url.pathname}${url.search}` + } case "piped": case "pipedMaterial": case "cloudtube": @@ -798,6 +803,7 @@ const defaultInstances = { pasted: ["https://pasted.drakeerv.com"], freetar: ["https://freetar.de"], ratAintTieba: ["https://rat.fis.land"], + shoelace: ["https://shoelace.mint.lgbt"], } function initDefaults() { diff --git a/src/config.json b/src/config.json index 45220990..a42b7c73 100644 --- a/src/config.json +++ b/src/config.json @@ -33,21 +33,30 @@ "url": "https://materialio.us/" }, "piped": { - "excludeTargets": [2, 3], + "excludeTargets": [ + 2, + 3 + ], "name": "Piped", "embeddable": true, "instanceList": true, "url": "https://github.com/TeamPiped/Piped" }, "pipedMaterial": { - "excludeTargets": [2, 3], + "excludeTargets": [ + 2, + 3 + ], "name": "Piped-Material", "embeddable": false, "instanceList": true, "url": "https://github.com/mmjee/Piped-Material" }, "poketube": { - "excludeTargets": [2, 3], + "excludeTargets": [ + 2, + 3 + ], "name": "PokeTube", "embeddable": true, "instanceList": true, @@ -58,7 +67,10 @@ "embeddable": false, "instanceList": true, "url": "https://sr.ht/~cadence/tube", - "excludeTargets": [2, 3] + "excludeTargets": [ + 2, + 3 + ] }, "lightTube": { "name": "LightTube", @@ -71,10 +83,16 @@ "embeddable": false, "instanceList": true, "url": "https://git.migalmoreno.com/tubo/about/", - "excludeTargets": [2, 3] + "excludeTargets": [ + 2, + 3 + ] }, "freetube": { - "excludeTargets": [2, 3], + "excludeTargets": [ + 2, + 3 + ], "name": "FreeTube", "embeddable": false, "desktopApp": true, @@ -82,7 +100,10 @@ "url": "https://github.com/FreeTubeApp/FreeTube" }, "yattee": { - "excludeTargets": [2, 3], + "excludeTargets": [ + 2, + 3 + ], "name": "Yattee", "embeddable": false, "desktopApp": true, @@ -90,7 +111,10 @@ "url": "https://github.com/yattee/yattee" }, "freetubePwa": { - "excludeTargets": [2, 3], + "excludeTargets": [ + 2, + 3 + ], "name": "FreeTube PWA", "embeddable": false, "instanceList": false, @@ -144,7 +168,9 @@ "url": "https://github.com/FreeTubeApp/FreeTube" } }, - "targets": ["^https?:\\/{2}music\\.youtube\\.com\\/"], + "targets": [ + "^https?:\\/{2}music\\.youtube\\.com\\/" + ], "name": "YT Music", "options": { "enabled": false, @@ -192,7 +218,9 @@ "url": "https://github.com/badlogic/skyview" } }, - "targets": ["^https?:\\/{2}bsky\\.app\\/"], + "targets": [ + "^https?:\\/{2}bsky\\.app\\/" + ], "name": "Bluesky", "options": { "enabled": false, @@ -287,7 +315,9 @@ "localhost": false } }, - "targets": ["^https?:\\/{2}(www\\.|clips\\.)?twitch\\.(tv|com)\\/"], + "targets": [ + "^https?:\\/{2}(www\\.|clips\\.)?twitch\\.(tv|com)\\/" + ], "name": "Twitch", "options": { "enabled": false, @@ -309,7 +339,9 @@ "localhost": true } }, - "targets": ["^https?:\\/{2}(www\\.)?tiktok\\.com\\/"], + "targets": [ + "^https?:\\/{2}(www\\.)?tiktok\\.com\\/" + ], "name": "TikTok", "options": { "enabled": false, @@ -329,7 +361,9 @@ "localhost": false } }, - "targets": ["^https?:\\/{2}(www\\.)?instagram\\.com"], + "targets": [ + "^https?:\\/{2}(www\\.)?instagram\\.com" + ], "name": "Instagram", "options": { "enabled": false, @@ -349,7 +383,9 @@ "localhost": true } }, - "targets": ["^https?:\\/{2}(www\\.|m\\.)?imdb\\.com"], + "targets": [ + "^https?:\\/{2}(www\\.|m\\.)?imdb\\.com" + ], "name": "IMDb", "options": { "enabled": false, @@ -368,7 +404,10 @@ "url": "https://0xacab.org/johnxina/mikuinvidious" } }, - "targets": ["^https?:\\/{2}(www\\.|space\\.)?bilibili\\.com\\/", "^https?:\\/{2}b23\\.tv\\/"], + "targets": [ + "^https?:\\/{2}(www\\.|space\\.)?bilibili\\.com\\/", + "^https?:\\/{2}b23\\.tv\\/" + ], "name": "Bilibili", "options": { "enabled": false, @@ -387,7 +426,9 @@ "url": "https://codeberg.org/VnPower/pixivfe" } }, - "targets": ["^https?:\\/{2}(www\\.)?pixiv\\.net\\/"], + "targets": [ + "^https?:\\/{2}(www\\.)?pixiv\\.net\\/" + ], "options": { "enabled": false, "unsupportedUrls": "bypass", @@ -404,7 +445,9 @@ "url": "https://breezewiki.com" } }, - "targets": ["^https?:\\/{2}([a-zA-Z0-9-]+\\.)?(fandom|wikia)\\.com(?=\\/wiki|\\/?$)"], + "targets": [ + "^https?:\\/{2}([a-zA-Z0-9-]+\\.)?(fandom|wikia)\\.com(?=\\/wiki|\\/?$)" + ], "name": "Fandom", "options": { "enabled": false, @@ -425,7 +468,9 @@ "embeddable": true } }, - "targets": ["^https?:\\/{2}([im]\\.)?(stack\\.)?imgur\\.(com|io)\\/"], + "targets": [ + "^https?:\\/{2}([im]\\.)?(stack\\.)?imgur\\.(com|io)\\/" + ], "name": "Imgur", "options": { "enabled": false, @@ -448,7 +493,10 @@ "embeddable": true } }, - "targets": ["^https?:\\/{2}i\\.pinimg\\.com", "^https?:\\/{2}(www\\.)?pinterest\\.com"], + "targets": [ + "^https?:\\/{2}i\\.pinimg\\.com", + "^https?:\\/{2}(www\\.)?pinterest\\.com" + ], "options": { "enabled": false, "unsupportedUrls": "bypass", @@ -468,7 +516,9 @@ "url": "https://git.migalmoreno.com/tubo/about/" } }, - "targets": ["^https?:\\/{2}soundcloud\\.com"], + "targets": [ + "^https?:\\/{2}soundcloud\\.com" + ], "name": "SoundCloud", "options": { "enabled": false, @@ -488,7 +538,10 @@ "url": "https://forgejo.sny.sh/sun/Tent" } }, - "targets": ["^https?:\\/{2}(.*\\.)?bandcamp\\.com\\/", "^https?:\\/{2}(f4|t4)\\.bcbits\\.com\\/"], + "targets": [ + "^https?:\\/{2}(.*\\.)?bandcamp\\.com\\/", + "^https?:\\/{2}(f4|t4)\\.bcbits\\.com\\/" + ], "name": "Bandcamp", "options": { "enabled": false, @@ -506,7 +559,9 @@ "url": "https://github.com/Davilarek/TekstoLibre" } }, - "targets": ["^https?:\\/{2}(www\\.)?tekstowo\\.pl\\/"], + "targets": [ + "^https?:\\/{2}(www\\.)?tekstowo\\.pl\\/" + ], "name": "Tekstowo.pl", "options": { "enabled": false, @@ -531,7 +586,9 @@ "localhost": false } }, - "targets": ["^https?:\\/{2}(www\\.)?genius\\.com\\/"], + "targets": [ + "^https?:\\/{2}(www\\.)?genius\\.com\\/" + ], "name": "Genius", "options": { "enabled": false, @@ -594,7 +651,9 @@ "localhost": true } }, - "targets": ["^https?:\\/{2}([a-zA-Z0-9-]+\\.)*quora\\.com\\/"], + "targets": [ + "^https?:\\/{2}([a-zA-Z0-9-]+\\.)*quora\\.com\\/" + ], "name": "Quora", "options": { "enabled": false, @@ -681,7 +740,9 @@ "url": "https://github.com/HookedBehemoth/neuters" } }, - "targets": ["^https?:\\/{2}(www\\.)?reuters\\.com\\/"], + "targets": [ + "^https?:\\/{2}(www\\.)?reuters\\.com\\/" + ], "name": "Reuters", "options": { "enabled": false, @@ -699,7 +760,9 @@ "url": "https://git.vern.cc/cobra/Suds" } }, - "targets": ["^https?:\\/{2}(www\\.)?snopes\\.com\\/"], + "targets": [ + "^https?:\\/{2}(www\\.)?snopes\\.com\\/" + ], "name": "Snopes", "options": { "enabled": false, @@ -717,7 +780,9 @@ "url": "https://git.vern.cc/cobra/UNfunny" } }, - "targets": ["^https?:\\/{2}(www\\.)?ifunny\\.co\\/"], + "targets": [ + "^https?:\\/{2}(www\\.)?ifunny\\.co\\/" + ], "name": "iFunny", "options": { "enabled": false, @@ -735,7 +800,9 @@ "url": "https://git.vern.cc/cobra/Soprano" } }, - "targets": ["^https?:\\/{2}(www\\.)?tenor\\.com\\/"], + "targets": [ + "^https?:\\/{2}(www\\.)?tenor\\.com\\/" + ], "name": "Tenor", "options": { "enabled": false, @@ -753,7 +820,9 @@ "url": "https://git.vern.cc/cobra/MeMe" } }, - "targets": ["^https?:\\/{2}(www\\.)?knowyourmeme\\.com\\/"], + "targets": [ + "^https?:\\/{2}(www\\.)?knowyourmeme\\.com\\/" + ], "name": "KnowYourMeme", "options": { "enabled": false, @@ -771,7 +840,9 @@ "url": "https://codeberg.org/zortazert/rural-dictionary" } }, - "targets": ["^https?:\\/{2}(www\\.)?urbandictionary\\.com\\/"], + "targets": [ + "^https?:\\/{2}(www\\.)?urbandictionary\\.com\\/" + ], "name": "Urban Dictionary", "options": { "enabled": false, @@ -790,7 +861,9 @@ "localhost": true } }, - "targets": ["^https?:\\/{2}(www\\.)?goodreads\\.com\\/"], + "targets": [ + "^https?:\\/{2}(www\\.)?goodreads\\.com\\/" + ], "name": "Goodreads", "options": { "enabled": false, @@ -809,7 +882,9 @@ "url": "https://git.disroot.org/wolfree" } }, - "targets": ["^https?:\\/{2}(www\\.)?wolframalpha\\.com\\/"], + "targets": [ + "^https?:\\/{2}(www\\.)?wolframalpha\\.com\\/" + ], "name": "Wolfram Alpha", "options": { "enabled": false, @@ -833,7 +908,9 @@ "url": "https://git.vern.cc/cobra/Destructables" } }, - "targets": ["^https?:\\/{2}(www\\.)?instructables\\.com\\/"], + "targets": [ + "^https?:\\/{2}(www\\.)?instructables\\.com\\/" + ], "options": { "enabled": false, "unsupportedUrls": "bypass", @@ -850,7 +927,9 @@ "url": "https://wikiless.org" } }, - "targets": ["^https?:\\/{2}([a-z]+\\.)*wikipedia\\.org\\/?"], + "targets": [ + "^https?:\\/{2}([a-z]+\\.)*wikipedia\\.org\\/?" + ], "name": "Wikipedia", "options": { "enabled": false, @@ -868,7 +947,9 @@ "url": "https://github.com/ticky/wayback-classic" } }, - "targets": ["^https?:\\/{2}web\\.archive\\.org\\/"], + "targets": [ + "^https?:\\/{2}web\\.archive\\.org\\/" + ], "name": "Wayback Machine", "options": { "enabled": false, @@ -929,7 +1010,10 @@ "url": "https://git.lolcat.ca/lolcat/4get" } }, - "targets": ["^https?:\\/{2}search\\.libredirect\\.invalid", "^https?:\\/{2}libredirect\\.github\\.io\\/\\?q"], + "targets": [ + "^https?:\\/{2}search\\.libredirect\\.invalid", + "^https?:\\/{2}libredirect\\.github\\.io\\/\\?q" + ], "name": "Search", "options": { "enabled": false, @@ -1007,7 +1091,9 @@ "url": "https://jitsi.org" } }, - "targets": ["^https?:\\/{2}meet\\.libredirect\\.invalid\\/"], + "targets": [ + "^https?:\\/{2}meet\\.libredirect\\.invalid\\/" + ], "options": { "enabled": false, "unsupportedUrls": "bypass", @@ -1051,7 +1137,9 @@ "url": "https://github.com/Dragynfruit/pasted" } }, - "targets": ["^https?:\\/{2}paste\\.libredirect\\.invalid"], + "targets": [ + "^https?:\\/{2}paste\\.libredirect\\.invalid" + ], "name": "Paste Text", "options": { "enabled": false, @@ -1069,7 +1157,9 @@ "url": "https://github.com/kmille/freetar" } }, - "targets": ["^https?:\\/{2}(tabs\\.|www\\.)?ultimate-guitar\\.com"], + "targets": [ + "^https?:\\/{2}(tabs\\.|www\\.)?ultimate-guitar\\.com" + ], "name": "Ultimate Guitar", "options": { "enabled": false, @@ -1087,7 +1177,9 @@ "url": "https://0xacab.org/johnxina/rat" } }, - "targets": ["^https?:\\/{2}tieba\\.baidu\\.com"], + "targets": [ + "^https?:\\/{2}tieba\\.baidu\\.com" + ], "name": "Baidu Tieba", "options": { "enabled": false, @@ -1096,6 +1188,26 @@ }, "imageType": "svg", "url": "https://tieba.baidu.com" + }, + "threads": { + "frontends": { + "shoelace": { + "name": "Shoelace", + "instanceList": true, + "url": "https://git.sr.ht/~nixgoat/shoelace" + } + }, + "targets": [ + "^https?:\\/{2}(www\\.)?threads\\.net" + ], + "name": "Threads", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "shoelace" + }, + "imageType": "svgMono", + "url": "https://threads.net" } } -} +} \ No newline at end of file |