mirror of
https://github.com/benbusby/farside.git
synced 2025-04-20 10:58:42 +00:00
Add support for BreezeWiki
Includes nightly build support for automatically pulling the most up to date instance list. Closes #104
This commit is contained in:
parent
dd51523faf
commit
0ce0832a28
4 changed files with 56 additions and 4 deletions
11
.github/workflows/update-instances.yml
vendored
11
.github/workflows/update-instances.yml
vendored
|
@ -205,6 +205,17 @@ jobs:
|
||||||
|
|
||||||
apply_update
|
apply_update
|
||||||
|
|
||||||
|
# ==============================================================
|
||||||
|
# BreezeWiki update
|
||||||
|
# ==============================================================
|
||||||
|
curl -s https://docs.breezewiki.com/files/instances.json | \
|
||||||
|
jq '[.[] | .instance]' > bw-tmp.json
|
||||||
|
jq --slurpfile breezewiki breezewiki-tmp.json \
|
||||||
|
'(.[] | select(.type == "breezewiki") )
|
||||||
|
.instances |= $breezewiki[0]' services-full.json > services-tmp.json
|
||||||
|
|
||||||
|
apply_update
|
||||||
|
|
||||||
# ==============================================================
|
# ==============================================================
|
||||||
# TODO: Update instances for other services
|
# TODO: Update instances for other services
|
||||||
# ==============================================================
|
# ==============================================================
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
defmodule Farside do
|
defmodule Farside do
|
||||||
@service_prefix Application.fetch_env!(:farside, :service_prefix)
|
@service_prefix Application.compile_env!(:farside, :service_prefix)
|
||||||
@fallback_suffix Application.fetch_env!(:farside, :fallback_suffix)
|
@fallback_suffix Application.compile_env!(:farside, :fallback_suffix)
|
||||||
@previous_suffix Application.fetch_env!(:farside, :previous_suffix)
|
@previous_suffix Application.compile_env!(:farside, :previous_suffix)
|
||||||
|
|
||||||
# Define relation between available services and their parent service.
|
# Define relation between available services and their parent service.
|
||||||
# This enables Farside to redirect with links such as:
|
# This enables Farside to redirect with links such as:
|
||||||
|
@ -19,6 +19,7 @@ defmodule Farside do
|
||||||
@imdb_regex ~r/imdb.com|libremdb/
|
@imdb_regex ~r/imdb.com|libremdb/
|
||||||
@quora_regex ~r/quora.com|quetre/
|
@quora_regex ~r/quora.com|quetre/
|
||||||
@gsearch_regex ~r/google.com\/search|whoogle/
|
@gsearch_regex ~r/google.com\/search|whoogle/
|
||||||
|
@fandom_regex ~r/fandom.com|breezewiki/
|
||||||
|
|
||||||
@parent_services %{
|
@parent_services %{
|
||||||
@youtube_regex => ["invidious", "piped"],
|
@youtube_regex => ["invidious", "piped"],
|
||||||
|
@ -33,7 +34,8 @@ defmodule Farside do
|
||||||
@tiktok_regex => ["proxitok"],
|
@tiktok_regex => ["proxitok"],
|
||||||
@imdb_regex => ["libremdb"],
|
@imdb_regex => ["libremdb"],
|
||||||
@quora_regex => ["quetre"],
|
@quora_regex => ["quetre"],
|
||||||
@gsearch_regex => ["whoogle"]
|
@gsearch_regex => ["whoogle"],
|
||||||
|
@fandom_regex => ["breezewiki"]
|
||||||
}
|
}
|
||||||
|
|
||||||
def get_services_map do
|
def get_services_map do
|
||||||
|
@ -127,6 +129,15 @@ defmodule Farside do
|
||||||
else
|
else
|
||||||
instance
|
instance
|
||||||
end
|
end
|
||||||
|
String.match?(service, @fandom_regex) ->
|
||||||
|
# Fandom links require the subdomain to be preserved, otherwise the
|
||||||
|
# requested path won't work.
|
||||||
|
if String.contains?(service, ".fandom.com") do
|
||||||
|
wiki = String.replace(service, ".fandom.com", "")
|
||||||
|
"#{instance}/#{wiki}"
|
||||||
|
else
|
||||||
|
instance
|
||||||
|
end
|
||||||
true ->
|
true ->
|
||||||
instance
|
instance
|
||||||
end
|
end
|
||||||
|
|
|
@ -544,5 +544,20 @@
|
||||||
"https://dumb.lunar.icu",
|
"https://dumb.lunar.icu",
|
||||||
"https://dumb.esmailelbob.xyz"
|
"https://dumb.esmailelbob.xyz"
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "breezewiki",
|
||||||
|
"test_url": "/undertale/wiki/Hot_Dog...%3F",
|
||||||
|
"fallback": "https://breezewiki.com",
|
||||||
|
"instances": [
|
||||||
|
"https://breezewiki.com",
|
||||||
|
"https://antifandom.com",
|
||||||
|
"https://breezewiki.pussthecat.org",
|
||||||
|
"https://bw.projectsegfau.lt",
|
||||||
|
"https://breeze.hostux.net",
|
||||||
|
"https://bw.artemislena.eu",
|
||||||
|
"https://breeze.777.tf",
|
||||||
|
"https://breezewiki.esmailelbob.xyz"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
@ -501,5 +501,20 @@
|
||||||
"https://dumb.lunar.icu",
|
"https://dumb.lunar.icu",
|
||||||
"https://dumb.esmailelbob.xyz"
|
"https://dumb.esmailelbob.xyz"
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "breezewiki",
|
||||||
|
"test_url": "/undertale/wiki/Hot_Dog...%3F",
|
||||||
|
"fallback": "https://breezewiki.com",
|
||||||
|
"instances": [
|
||||||
|
"https://breezewiki.com",
|
||||||
|
"https://antifandom.com",
|
||||||
|
"https://breezewiki.pussthecat.org",
|
||||||
|
"https://bw.projectsegfau.lt",
|
||||||
|
"https://breeze.hostux.net",
|
||||||
|
"https://bw.artemislena.eu",
|
||||||
|
"https://breeze.777.tf",
|
||||||
|
"https://breezewiki.esmailelbob.xyz"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
Loading…
Add table
Reference in a new issue