splitiとvixipの追加

このコミットが含まれているのは:
守矢諏訪子 2023-05-30 20:33:22 +09:00
コミット f711ed843e
50個のファイルの変更199行の追加189行の削除

ファイルの表示

@ -1,32 +0,0 @@
---
name: "Report a bug"
about: "Is libredirect not behaving as expected? Report a bug so that it can be fixed as soon as possible."
labels:
- "Kind: Bug"
---
## What happened?
## What did you expect to happen?
## Steps to reproduce:
1.
2.
3.
<!-- and so on -->
## Debug information:
Browser and version number:
Libredirect version:
## Screenshots/Videos
<!--Just drag and drop any screenshots or videos you have of the issue below-->
<br>
<!--Put an "x" between the brackets to confirm-->
- [ ] I have checked on codeberg and github and can confirm this issue is not a duplicate.

ファイルの表示

@ -1,15 +0,0 @@
---
name: "Suggest a new feature"
about: "Is there something missing that you want to see in libredirect? Suggest a feature so it will exist in a future release."
labels:
- "Kind: Feature"
---
## Describe your current issue/inconvenience
## Explain how this new feature will solve this
<br>
<!--Put an "x" between the brackets to confirm-->
- [ ] I have checked on codeberg and github and can confirm this issue is not a duplicate.

ファイルの表示

@ -3,7 +3,7 @@
- LibRedirect does not collect any Personal Information of any kind.
- LibRedirect doesn't embed any kind of analytics in its code.
- All aspects of the url redirections work locally, except OpenStreetMap (OSM) reverse geocoding, done via the [OSM Nomantim API](https://nominatim.org/release-docs/develop/api/Overview/).
- When you visit your settings page and go to ex YouTube, it will connect to this [repository](https://github.com/libredirect/instances) and specifically [this](https://raw.githubusercontent.com/libredirect/instances/main/data.json) and [this](https://raw.githubusercontent.com/libredirect/instances/main/blacklist.json) url to get the latest public instances list for it.
- When you visit your settings page and go to ex YouTube, it will connect to this [repository](https://gitler.moe/suwako/libreredirect-instances) and specifically [this](https://gitler.moe/suwako/libreredirect-instances/raw/branch/main/data.json) and [this](https://gitler.moe/suwako/libreredirect-instances/raw/branch/main/blacklist.json) url to get the latest public instances list for it.
## Future Changes

ファイルの表示

@ -1,51 +1,24 @@
<img src="./img/libredirect_full.svg" height="50"/>
# Libre Redirect
A browser extension that redirects YouTube, Twitter, TikTok... requests to alternative privacy friendly frontends and backends.
[検閲が大嫌い](https://github.com/libredirect/browser_extension/issues/693)。\
だからLibRedirectをフォークしました。
<a href="https://addons.mozilla.org/firefox/addon/libredirect/">
<img src ="./img/badge-amo.png" height=60 >
</a>
&nbsp;
<a href="https://libredirect.github.io/download_chromium.html">
<img src ="./img/badge-chromium.png" height=60 >
</a>
## Translate
<a href="https://hosted.weblate.org/projects/libredirect/extension">
<img src ="./img/weblate.svg">
</a>
## Development
Install [Node.js](https://nodejs.org/)
## 開発
```bash
git clone https://github.com/libredirect/browser_extension
cd browser_extension
npm install
npm run html # Generates html using Pug
npm run start # Runs in firefox in debug mode using Web-ext
git clone https://gitler.moe/suwako/libreredirect
cd libreredirect
npm i
npm run html
npm run start
```
### Build and Run on Chromium manually
1. Open `chrome://extensions`
2. Enable `dev mode`
3. Select `load unpacked extension`
4. Select `src` folder
### Build a zip package for Firefox
### Chromium向けビルドと実行
1. `chrome://extensions`にアクセスして
2. `デベロッパー モード`を有効にして
3. `パッケージ化されていない拡張機能を読み込む`をクリックして
4. `src`フォルダーを開いて
### Firefox向けZIPパッケージを創作
```bash
npm run build
```
### Install the zip package on Firefox (temporarily)
3. Type in the address bar: `about:debugging#/runtime/this-firefox`
4. Press `Load Temporary Add-on...`
5. Select `libredirect-VERSION.zip` from `web-ext-artifacts` folder
### Install the zip package on Firefox ESR, Developer Edition, Nightly
3. Type in the address bar: `about:config`
4. Set `xpinstall.signatures.required` to `false`
5. Type in the address bar: `about:addons`
6. Click on the gear shaped `settings` button and select `Install Add-on From File...`
7. Select `libredirect-VERSION.zip` from `web-ext-artifacts` folder
---
Forked from [Privacy Redirect](https://github.com/SimonBrazell/privacy-redirect)

ファイルの表示

@ -1,27 +1,26 @@
{
"name": "libredirect",
"description": "Redirects YouTube, Twitter, TikTok and more to privacy friendly frontends.",
"name": "libreredirect",
"description": "Redirects YouTube, Twitter, TikTok and more to privacy friendly frontends without censor.",
"engines": {
"node": ">=16.13.1",
"npm": ">=8.1.2"
},
"scripts": {
"start": "web-ext run",
"start_ar": "web-ext run --firefox=/home/esmail/Downloads/ar/firefox/firefox --pref font.language.group=ar",
"build": "web-ext build",
"test": "web-ext lint",
"html": "pug --basedir ./ --obj ./src/config.json src/pages/options/index.pug --out src/pages/options/ && pug --basedir ./ --obj ./src/config.json src/pages/popup/popup.pug --out src/pages/popup/"
},
"repository": {
"type": "git",
"url": "git+https://github.com/libredirect/libredirect.git"
"url": "git+https://gitler.moe/suwako/libreredirect.git"
},
"author": "LibRedirect",
"author": "suwako",
"license": "GPL-3.0-only",
"bugs": {
"url": "https://github.com/libredirect/libredirect/issues"
"url": "https://gitler.moe/suwako/libreredirect/issues"
},
"homepage": "https://libredirect.github.io",
"homepage": "https://076.moe/libreredirect",
"devDependencies": {
"web-ext": "^7.2.0",
"pug-cli": "^1.0.0-alpha6"
@ -35,4 +34,4 @@
"overwriteDest": true
}
}
}
}

ファイルの表示

@ -1,6 +1,6 @@
{
"extensionName": {
"message": "LibRedirect",
"message": "Libre Redirect",
"description": "extension name"
},
"extensionDescription": {

ファイルの表示

@ -1,6 +1,6 @@
{
"extensionName": {
"message": "LibRedirect",
"message": "Libre Redirect",
"description": "name of the extension"
},
"extensionDescription": {

ファイルの表示

@ -1,6 +1,6 @@
{
"extensionName": {
"message": "LibRedirect",
"message": "Libre Redirect",
"description": "name of the extension"
},
"extensionDescription": {

ファイルの表示

@ -1,6 +1,6 @@
{
"extensionName": {
"message": "LibRedirect",
"message": "Libre Redirect",
"description": "name of the extension"
},
"extensionDescription": {

ファイルの表示

@ -1,6 +1,6 @@
{
"extensionName": {
"message": "LibRedirect",
"message": "Libre Redirect",
"description": "name of the extension"
},
"extensionDescription": {

ファイルの表示

@ -1,6 +1,6 @@
{
"extensionName": {
"message": "LibRedirect",
"message": "Libre Redirect",
"description": "name of the extension"
},
"extensionDescription": {

ファイルの表示

@ -1,6 +1,6 @@
{
"extensionName": {
"message": "LibRedirect",
"message": "Libre Redirect",
"description": "name of the extension"
},
"extensionDescription": {

ファイルの表示

@ -1,6 +1,6 @@
{
"extensionName": {
"message": "LibRedirect",
"message": "Libre Redirect",
"description": "name of the extension"
},
"extensionDescription": {

ファイルの表示

@ -1,6 +1,6 @@
{
"extensionName": {
"message": "LibRedirect",
"message": "Libre Redirect",
"description": "name of the extension"
},
"extensionDescription": {

ファイルの表示

@ -1,6 +1,6 @@
{
"extensionName": {
"message": "LibRedirect",
"message": "Libre Redirect",
"description": "name of the extension"
},
"extensionDescription": {

ファイルの表示

@ -1,6 +1,6 @@
{
"extensionName": {
"message": "LibRedirect",
"message": "Libre Redirect",
"description": "name of the extension"
},
"extensionDescription": {

ファイルの表示

@ -1,6 +1,6 @@
{
"extensionName": {
"message": "LibRedirect",
"message": "Libre Redirect",
"description": "name of the extension"
},
"extensionDescription": {

ファイルの表示

@ -1,6 +1,6 @@
{
"extensionName": {
"message": "LibRedirect",
"message": "Libre Redirect",
"description": "name of the extension"
},
"extensionDescription": {

ファイルの表示

@ -1,6 +1,6 @@
{
"extensionName": {
"message": "LibRedirect",
"message": "Libre Redirect",
"description": "name of the extension"
},
"extensionDescription": {

ファイルの表示

@ -1,6 +1,6 @@
{
"extensionName": {
"message": "LibRedirect",
"message": "Libre Redirect",
"description": "name of the extension"
},
"extensionDescription": {

ファイルの表示

@ -1,6 +1,6 @@
{
"extensionName": {
"message": "LibRedirect",
"message": "Libre Redirect",
"description": "name of the extension"
},
"extensionDescription": {

ファイルの表示

@ -1,6 +1,6 @@
{
"extensionName": {
"message": "LibRedirect",
"message": "Libre Redirect",
"description": "name of the extension"
},
"extensionDescription": {

ファイルの表示

@ -1,6 +1,6 @@
{
"extensionName": {
"message": "LibRedirect",
"message": "Libre Redirect",
"description": "Nome da Extensão"
},
"extensionDescription": {

ファイルの表示

@ -1,6 +1,6 @@
{
"extensionName": {
"message": "LibRedirect",
"message": "Libre Redirect",
"description": "name of the extension"
},
"extensionDescription": {

ファイルの表示

@ -1,6 +1,6 @@
{
"extensionName": {
"message": "LibRedirect",
"message": "Libre Redirect",
"description": "name of the extension"
},
"extensionDescription": {

ファイルの表示

@ -1,6 +1,6 @@
{
"extensionName": {
"message": "LibRedirect",
"message": "Libre Redirect",
"description": "name of the extension"
},
"extensionDescription": {

ファイルの表示

@ -1,6 +1,6 @@
{
"extensionName": {
"message": "LibRedirect",
"message": "Libre Redirect",
"description": "name of the extension"
},
"extensionDescription": {

ファイルの表示

@ -1,6 +1,6 @@
{
"extensionName": {
"message": "LibRedirect",
"message": "Libre Redirect",
"description": "name of the extension"
},
"extensionDescription": {

ファイルの表示

@ -1,6 +1,6 @@
{
"extensionName": {
"message": "LibRedirect",
"message": "Libre Redirect",
"description": "name of the extension"
},
"extensionDescription": {

ファイルの表示

@ -1,6 +1,6 @@
{
"extensionName": {
"message": "LibRedirect",
"message": "Libre Redirect",
"description": "name of the extension"
},
"extensionDescription": {

ファイルの表示

変更前

幅:  |  高さ:  |  サイズ: 3.5 KiB

変更後

幅:  |  高さ:  |  サイズ: 3.5 KiB

ファイルの表示

変更前

幅:  |  高さ:  |  サイズ: 530 B

変更後

幅:  |  高さ:  |  サイズ: 530 B

ファイルの表示

変更前

幅:  |  高さ:  |  サイズ: 971 B

変更後

幅:  |  高さ:  |  サイズ: 971 B

ファイルの表示

変更前

幅:  |  高さ:  |  サイズ: 1.4 KiB

変更後

幅:  |  高さ:  |  サイズ: 1.4 KiB

ファイルの表示

変更前

幅:  |  高さ:  |  サイズ: 42 KiB

変更後

幅:  |  高さ:  |  サイズ: 42 KiB

ファイルの表示

@ -10,7 +10,7 @@
inkscape:export-xdpi="78.019997"
inkscape:export-ydpi="78.019997"
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20, custom)"
sodipodi:docname="libredirect.svg"
sodipodi:docname="libreredirect.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"

変更前

幅:  |  高さ:  |  サイズ: 5.0 KiB

変更後

幅:  |  高さ:  |  サイズ: 5.0 KiB

バイナリ
src/assets/images/mixi-icon.png ノーマルファイル

バイナリファイルは表示されません。

変更後

幅:  |  高さ:  |  サイズ: 8.5 KiB

バイナリ
src/assets/images/pixiv-icon.png ノーマルファイル

バイナリファイルは表示されません。

変更後

幅:  |  高さ:  |  サイズ: 6.8 KiB

ファイルの表示

@ -46,6 +46,8 @@ function regexArray(service, url, config, frontend) {
async function redirectAsync(url, type, initiator, forceRedirection) {
await init()
console.log(url.hostname)
console.log(url.pathname)
return redirect(url, type, initiator, forceRedirection)
}
@ -537,6 +539,45 @@ function redirect(url, type, initiator, forceRedirection) {
if (url.hostname == "i.pinimg.com") return `${randomInstance}/image_proxy.php?url=${url.href}`
return randomInstance
}
case "spliti": {
if (url.hostname == "news.mixi.jp") {
if (url.search) {
let nid = url.search.split("?")[1].split("&")
let mid
nid.forEach(x => {
if (x.startsWith("id=")) nid = x.split("=")[1]
if (x.startsWith("media_id=")) mid = x.split("=")[1]
})
if (url.pathname.startsWith('/view_news.pl') && url.pathname != '/') return `${randomInstance}/?url=view_news.pl?id=${nid}&media_id=${mid}`
if (url.pathname.startsWith('/list_news_category.pl') && url.pathname != '/') return `${randomInstance}/?url=list_news_category.pl?id=${nid}`
}
return randomInstance
}
}
case "vixip": {
if (url.hostname == "pixiv.net" || url.hostname == "www.pixiv.net") {
let path = url.pathname
if (url.pathname.startsWith('/en')) path = path.splice(3)
console.log(path)
if (path.startsWith('/users')) {
const illustid = /\/(\d+)\/?$/.exec(url.pathname)[1]
if (path.includes('/illusts')) return `${randomInstance}/users/illusts/?id=${illustid}`
if (path.includes('/manga')) return `${randomInstance}/users/manga/?id=${illustid}`
return `${randomInstance}/users/?id=${illustid}`
}
if (path.startsWith('/artworks')) {
const illustid = /\/(\d+)\/?$/.exec(url.pathname)[1]
return `${randomInstance}/artworks/?id=${illustid}`
}
if (path.startsWith('/tags')) {
const q = path.split("/")[2]
return `${randomInstance}/search/?q=${q}`
}
return randomInstance
}
}
default: {
return `${randomInstance}${url.pathname}${url.search}`
}
@ -638,14 +679,16 @@ function reverse(url) {
}
const defaultInstances = {
'invidious': ['https://inv.vern.cc'],
'invidious': ['https://youtube.owacon.moe'],
'piped': ['https://pipedapi-libre.kavin.rocks'],
'pipedMaterial': ['https://piped-material.xn--17b.net'],
'cloudtube': ['https://tube.cadence.moe'],
'poketube': ['https://poketube.fun'],
'proxiTok': ['https://proxitok.pabloferreiro.es'],
'send': ['https://send.vis.ee'],
'nitter': ['https://nitter.net'],
'nitter': ['https://twitter.owacon.moe'],
'spliti': ['https://mixi.owacon.moe'],
'vixip': ['https://pixiv.owacon.moe'],
'libreddit': ['https://libreddit.spike.codes'],
'teddit': ['https://teddit.net'],
'scribe': ['https://scribe.rip'],

ファイルの表示

@ -35,16 +35,13 @@ function getOptions() {
function getBlacklist(options) {
return new Promise(resolve => {
let url
if (options.fetchInstances == 'github') {
url = 'https://raw.githubusercontent.com/libredirect/instances/main/blacklist.json'
}
else if (options.fetchInstances == 'codeberg') {
url = 'https://codeberg.org/LibRedirect/instances/raw/branch/main/blacklist.json'
}
else {
resolve('disabled')
return
}
if (options.fetchInstances == 'gitler') {
url = 'https://gitler.moe/suwako/libreredirect-instances/raw/branch/main/blacklist.json'
}
else {
resolve('disabled')
return
}
const http = new XMLHttpRequest()
http.open("GET", url, true)
http.onreadystatechange = () => {
@ -68,16 +65,13 @@ function getBlacklist(options) {
function getList(options) {
return new Promise(resolve => {
let url
if (options.fetchInstances == 'github') {
url = 'https://raw.githubusercontent.com/libredirect/instances/main/data.json'
}
else if (options.fetchInstances == 'codeberg') {
url = 'https://codeberg.org/LibRedirect/instances/raw/branch/main/data.json'
}
else {
resolve('disabled')
return
}
if (options.fetchInstances == 'gitler') {
url = 'https://gitler.moe/suwako/libreredirect-instances/raw/branch/main/blacklist.json'
}
else {
resolve('disabled')
return
}
const http = new XMLHttpRequest()
http.open("GET", url, true)
http.onreadystatechange = () => {

ファイルの表示

@ -129,6 +129,57 @@
"embeddable": false,
"url": "https://music.youtube.com"
},
"mixi": {
"frontends": {
"spliti": {
"name": "Spliti",
"embeddable": false,
"instanceList": true,
"url": "https://gitler.moe/suwako/spliti",
"localhost": true
}
},
"targets": [
"^https?:\\/{2}(news\\.|)mixi\\.jp(\\/|$)"
],
"name": "Mixi",
"options": {
"enabled": false,
"redirectType": "main_frame",
"unsupportedUrls": "bypass",
"frontend": "spliti",
"instance": "public"
},
"imageType": "png",
"embeddable": true,
"url": "https://news.mixi.jp"
},
"pixiv": {
"frontends": {
"vixip": {
"name": "Vixip",
"embeddable": false,
"instanceList": true,
"url": "https://gitler.moe/suwako/vixip",
"localhost": true
}
},
"targets": [
"^https?:\\/{2}(www\\.|)pixiv\\.net(\\/|$)",
"^https?:\\/{2}(www\\.|)pixiv\\.net(\\/en\\.|)(\\/|$)"
],
"name": "Pixiv",
"options": {
"enabled": false,
"redirectType": "main_frame",
"unsupportedUrls": "bypass",
"frontend": "vixip",
"instance": "public"
},
"imageType": "png",
"embeddable": true,
"url": "https://pixiv.net"
},
"twitter": {
"frontends": {
"nitter": {
@ -420,7 +471,7 @@
}
},
"targets": [
"^https?:\\/{2}search\\.libredirect\\.invalid"
"^https?:\\/{2}search\\.libreredirect\\.invalid"
],
"name": "Search",
"options": {
@ -431,7 +482,7 @@
},
"imageType": "svgMono",
"embeddable": false,
"url": "https://search.libredirect.invalid"
"url": "https://search.libreredirect.invalid"
},
"translate": {
"frontends": {
@ -455,7 +506,7 @@
},
"targets": [
"^https?:\\/{2}translate\\.google(\\.[a-z]{2,3}){1,2}\\/",
"^https?:\\/{2}translate\\.libredirect\\.invalid"
"^https?:\\/{2}translate\\.libreredirect\\.invalid"
],
"name": "Translate",
"options": {
@ -466,7 +517,7 @@
},
"imageType": "svgMono",
"embeddable": false,
"url": "https://translate.libredirect.invalid"
"url": "https://translate.libreredirect.invalid"
},
"maps": {
"frontends": {
@ -482,7 +533,7 @@
}
},
"targets": [
"^https?:\\/{2}maps\\.libredirect\\.invalid",
"^https?:\\/{2}maps\\.libreredirect\\.invalid",
"^https?:\\/{2}(((www|maps)\\.)?(google\\.).*(\\/maps)|maps\\.(google\\.).*)"
],
"name": "Maps",
@ -493,7 +544,7 @@
},
"imageType": "svgMono",
"embeddable": false,
"url": "https://maps.libredirect.invalid"
"url": "https://maps.libreredirect.invalid"
},
"sendFiles": {
"frontends": {
@ -504,7 +555,7 @@
}
},
"targets": [
"^https?:\\/{2}send\\.libredirect\\.invalid",
"^https?:\\/{2}send\\.libreredirect\\.invalid",
"^https?:\\/{2}send\\.firefox\\.com\\/?$",
"^https?:\\/{2}sendfiles\\.online\\/?$"
],
@ -516,7 +567,7 @@
},
"imageType": "svgMono",
"embeddable": false,
"url": "https://send.libredirect.invalid"
"url": "https://send.libreredirect.invalid"
},
"textStorage": {
"frontends": {
@ -527,7 +578,7 @@
}
},
"targets": [
"^https?:\\/{2}paste\\.libredirect\\.invalid"
"^https?:\\/{2}paste\\.libreredirect\\.invalid"
],
"name": "Paste Text",
"options": {
@ -537,7 +588,7 @@
},
"imageType": "svgMono",
"embeddable": false,
"url": "https://paste.libredirect.invalid"
"url": "https://paste.libreredirect.invalid"
},
"reuters": {
"frontends": {
@ -809,7 +860,7 @@
}
},
"targets": [
"^https?:\\/{2}speedtest\\.libredirect\\.invalid\\/",
"^https?:\\/{2}speedtest\\.libreredirect\\.invalid\\/",
"^https?:\\/{2}(www\\.)?fast\\.com\\/$",
"^https?:\\/{2}(www\\.)?speedtest\\.net\\/$"
],
@ -821,7 +872,7 @@
},
"imageType": "svgMono",
"embeddable": false,
"url": "https://speedtest.libredirect.invalid"
"url": "https://speedtest.libreredirect.invalid"
},
"meet": {
"name": "Meet",
@ -833,7 +884,7 @@
}
},
"targets": [
"^https?:\\/{2}meet\\.libredirect\\.invalid\\/"
"^https?:\\/{2}meet\\.libreredirect\\.invalid\\/"
],
"options": {
"enabled": false,
@ -842,7 +893,7 @@
},
"imageType": "svgMono",
"embeddable": false,
"url": "https://meet.libredirect.invalid"
"url": "https://meet.libreredirect.invalid"
}
}
}
}

ファイルの表示

@ -14,10 +14,10 @@
"persistent": true
},
"icons": {
"16": "assets/images/libredirect-16.png",
"32": "assets/images/libredirect-32.png",
"48": "assets/images/libredirect-48.png",
"128": "assets/images/libredirect-128.png"
"16": "assets/images/libreredirect-16.png",
"32": "assets/images/libreredirect-32.png",
"48": "assets/images/libreredirect-48.png",
"128": "assets/images/libreredirect-128.png"
},
"permissions": [
"webRequest",
@ -35,10 +35,10 @@
"browser_style": false,
"default_popup": "pages/popup/popup.html",
"default_icon": {
"16": "assets/images/libredirect-16.png",
"32": "assets/images/libredirect-32.png",
"48": "assets/images/libredirect-48.png",
"128": "assets/images/libredirect-128.png"
"16": "assets/images/libreredirect-16.png",
"32": "assets/images/libreredirect-32.png",
"48": "assets/images/libreredirect-48.png",
"128": "assets/images/libreredirect-128.png"
}
},
"options_ui": {
@ -49,9 +49,9 @@
"chrome_settings_overrides": {
"search_provider": {
"name": "__MSG_extensionName__",
"keyword": "@libredirect",
"keyword": "@libreredirect",
"favicon_url": "https://raw.githubusercontent.com/libredirect/libredirect/master/src/assets/images/libredirect-16.png",
"search_url": "https://search.libredirect.invalid/?q={searchTerms}",
"search_url": "https://search.libreredirect.invalid/?q={searchTerms}",
"encoding": "UTF-8",
"is_default": false
}
@ -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"
}
}

ファイルの表示

@ -53,7 +53,7 @@ browser.webRequest.onBeforeRequest.addListener(
}
if (!newUrl) {
const match = url.href.match(/^https?:\/{2}.*\.libredirect\.invalid.*/)
const match = url.href.match(/^https?:\/{2}.*\.libreredirect\.invalid.*/)
if (match) {
browser.tabs.update({
url: browser.runtime.getURL(`/pages/messages/no_instance.html`)
@ -302,4 +302,4 @@ browser.runtime.onMessage.addListener((request, sender, sendResponse) => {
}
})
}
});
});

ファイルの表示

@ -238,9 +238,7 @@ function createList(frontend, networks, document, redirects, blacklist) {
const content = sortedInstances
.map(x => {
const cloudflare = blacklist.cloudflare.includes(x) ?
`<a target="_blank" href="https://libredirect.github.io/docs.html#instances">
<span style="color:red;">cloudflare</span>
</a>` : ""
`<span style="color:red;">cloudflare</span>` : ""
const warnings = [cloudflare].join(" ")
return `<div class="frontend">
@ -316,4 +314,4 @@ async function ping(frontend) {
}
span.innerHTML = `<span style="color:${color};">${text}</span>`
}
}
}

ファイルの表示

@ -22,7 +22,7 @@ async function exportSettings() {
options.version = browser.runtime.getManifest().version
let resultString = JSON.stringify(options, null, " ")
exportSettingsElement.href = "data:application/json;base64," + btoa(resultString)
exportSettingsElement.download = `libredirect-settings-v${options.version}.json`
exportSettingsElement.download = `libreredirect-settings-v${options.version}.json`
return
}
exportSettings()

ファイルの表示

@ -13,8 +13,7 @@ section(class="option-block" id="general_page")
div(class="some-block option-block")
h4 Fetch public instances
select(id="fetch-instances")
option(value="github") GitHub
option(value="codeberg") Codeberg
option(value="gitler") Gitler
option(value="disable") Disable
div(class="some-block option-block")
@ -61,4 +60,4 @@ section(class="option-block" id="general_page")
path(d="M6,13c0-1.65,0.67-3.15,1.76-4.24L6.34,7.34C4.9,8.79,4,10.79,4,13c0,4.08,3.05,7.44,7,7.93v-2.02 C8.17,18.43,6,15.97,6,13z")
x(data-localise="__MSG_resetSettings__") Reset Settings
script(type="module" src="./widgets/general.js")
script(type="module" src="./widgets/general.js")

ファイルの表示

@ -42,7 +42,7 @@ each val, service in services
if (service == 'search')
div(class="some-block option-block")
h4 Set LibRedirect as Default Search Engine
h4 Set Libre Redirect as Default Search Engine
each val, frontend in services[service].frontends
@ -72,4 +72,4 @@ each val, service in services
div(class=network)
div(class="checklist")
if (network == 'clearnet')
div(class="some-block option-block loading") Loading...
div(class="some-block option-block loading") Loading...

ファイルの表示

@ -1,7 +1,7 @@
head
meta(charset="utf-8")
meta(name="viewport" content="width=device-width, initial-scale=1")
link(rel="icon" type="image/x-icon" href="../../../assets/images/libredirect.svg")
link(rel="icon" type="image/x-icon" href="../../../assets/images/libreredirect.svg")
link(href="../stylesheets/styles.css" rel="stylesheet")
title Settings
script(type="module" src="./init.js")
script(type="module" src="./init.js")

ファイルの表示

@ -15,7 +15,7 @@ section(class="links" id="links")
span=services[key].name
div(class="title")
a(target="_blank" href="https://libredirect.github.io")
a(target="_blank" href="https://gitler.moe/suwako/libreredirect")
img(class='dark' src="/assets/images/about-icon.svg")
img(class='light' src="/assets/images/about-icon-light.svg")

ファイルの表示

@ -1,6 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?>
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
<app appid='oladmjdebphlnjjcnomfhhbfdldiimaf'>
<updatecheck codebase='https://github.com/libredirect/libredirect/releases/download/v2.6.2/libredirect-2.6.2.crx' version='2.6.2' />
<updatecheck codebase='https://gitler.moe/suwako/libreredirect/releases/download/v2.6.2/libreredirect-2.6.2.crx' version='2.6.2' />
</app>
</gupdate>