Create nightly update workflow for instances

A nightly GitHub Actions CI workflow has been added to fetch new
instances of supported services within Farside.

Currently only Searx is supported, but obviously others could be added
if there are similarly easy ways to fetch and filter instances
programmatically.

services.json has also been updated with the initial results of the
workflow script.
This commit is contained in:
Ben Busby 2021-11-24 15:53:14 -07:00
parent ff97d258f0
commit 1216854196
No known key found for this signature in database
GPG Key ID: 339B7B7EB5333D14
2 changed files with 284 additions and 167 deletions

59
.github/workflows/update-instances.yml vendored Normal file
View File

@ -0,0 +1,59 @@
on:
schedule:
- cron: '0 0 * * *'
jobs:
update-instances:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: sudo apt-get install -y jq
- name: Fetch instances
run: |
function apply_update() {
mv services-tmp.json services.json
rm -f *-tmp.json
}
# ==============================================================
# Git config
# ==============================================================
git config --global user.name github-actions
git config --global user.email 41898282+github-actions[bot]@users.noreply.github.com
git remote set-url origin git@github.com:benbusby/farside.git
git checkout main
# ==============================================================
# Searx update
# ==============================================================
curl -s https://searx.space/data/instances.json | \
jq '[
.instances |
to_entries[] |
select(.value.network_type == "normal") |
select(.value.tls != null) |
.key
] | sort' > searx-tmp.json
jq --slurpfile searx searx-tmp.json \
'( .[] | select(.type == "searx") )
.instances |= $searx[0]' services.json > services-tmp.json
apply_update
# ==============================================================
# TODO: Update instances for other services
# ==============================================================
# ==============================================================
# Push changes
# ==============================================================
if [[ $(git diff-index --quiet HEAD) ]]; then
echo "No updates"
else
git add services.json
git commit -m '[CI] Auto update instances'
git push
fi

View File

@ -1,169 +1,227 @@
[
{
"type": "libreddit",
"test_url": "/r/popular",
"fallback": "https://libredd.it",
"instances": [
"https://libreddit.albony.xyz",
"https://libredd.it",
"https://libreddit.spike.codes",
"https://libreddit.dothq.co",
"https://libreddit.kavin.rocks",
"https://libreddit.40two.app",
"https://reddit.invak.id",
"https://reddit.phii.me",
"https://lr.riverside.rocks",
"https://libreddit.silkky.cloud",
"https://libreddit.database.red",
"https://libreddit.exonip.de",
"https://libreddit.domain.glass",
"https://libreddit.sugoma.tk",
"https://libreddit.trevorthalacker.com",
"https://reddit.artemislena.eu",
"https://r.nf",
"https://libreddit.awesomehub.io",
"https://libreddit.some-things.org",
"https://reddit.stuehieyr.com",
"https://lr.mint.lgbt",
"https://libreddit.alefvanoon.xyz",
"https://libreddit.igna.rocks",
"https://libreddit.autarkic.org",
"https://libreddit.flux.industries",
"https://libreddit.drivet.xyz",
"https://lr.oversold.host",
"https://libreddit.de"
]
},
{
"type": "bibliogram",
"test_url": "/u/officialrickastley",
"fallback": "https://bibliogram.art",
"instances": [
"https://bibliogram.art",
"https://bibliogram.snopyta.org",
"https://bibliogram.pussthecat.org",
"https://bibliogram.1d4.us",
"https://insta.trom.tf",
"https://bibliogram.hamster.dance",
"https://bib.actionsack.com",
"https://biblio.alefvanoon.xyz"
]
},
{
"type": "invidious",
"test_url": "/watch?v=eBGIQ7ZuuiU",
"fallback": "https://invidious.snopyta.org",
"instances": [
"https://yewtu.be",
"https://invidious.snopyta.org",
"https://invidious.kavin.rocks",
"https://vid.puffyan.org",
"https://invidious-us.kavin.rocks",
"https://inv.riverside.rocks",
"https://invidio.xamh.de",
"https://vid.mint.lgbt",
"https://invidious-jp.kavin.rocks",
"https://invidious.hub.ne.kr",
"https://yt.artemislena.eu",
"https://youtube.076.ne.jp",
"https://invidious.namazso.eu"
]
},
{
"type": "nitter",
"test_url": "/twitter",
"fallback": "https://nitter.net",
"instances": [
"https://nitter.net",
"https://nitter.42l.fr",
"https://nitter.pussthecat.org",
"https://nitter.nixnet.services",
"https://nitter.fdn.fr",
"https://nitter.1d4.us",
"https://nitter.kavin.rocks",
"https://nitter.vxempire.xyz",
"https://nitter.unixfox.eu",
"https://nitter.domain.glass",
"https://nitter.eu",
"https://nitter.namazso.eu",
"https://nitter.mailstation.de",
"https://nitter.actionsack.com",
"https://nitter.cattube.org",
"https://birdsite.xanny.family",
"https://nitter.hu",
"https://nitter.exonip.de",
"https://twitr.gq",
"https://nitter.moomoo.me",
"https://bird.trom.tf",
"https://nitter.it",
"https://twitter.censors.us",
"https://nitter.grimneko.de",
"https://nitter.koyu.space",
"https://nitter.alefvanoon.xyz",
"https://nitter.ir",
"https://nitter.autarkic.org",
"https://n.0x0.st",
"https://n.hyperborea.cloud",
"https://nitter.ca",
"https://twitter.076.ne.jp",
"https://lu-nitter.resolv.ee",
"https://is-nitter.resolv.ee",
"https://cy-nitter.resolv.ee",
"https://tweet.lambda.dance"
]
},
{
"type": "whoogle",
"test_url": "/search?q=github",
"fallback": "https://search.garudalinux.org",
"instances": [
"https://search.albony.xyz",
"https://whoogle.sdf.org",
"https://whoogle.kavin.rocks",
"https://search.garudalinux.org",
"https://whooglesearch.net",
"https://search.flawcra.cc",
"https://search.exonip.de",
"https://s.alefvanoon.xyz",
"https://search.flux.industries",
"https://www.whooglesearch.ml"
]
},
{
"type": "searx",
"test_url": "/search?q=github",
"fallback": "https://searx.be",
"instances": [
"https://paulgo.io",
"https://search.asynchronousexchange.com",
"https://anon.sx",
"https://searx.be",
"https://searx.gnous.eu",
"https://xeek.com",
"https://searx.bar",
"https://sx.fedi.tech",
"https://searx.tiekoetter.com",
"https://search.disroot.org",
"https://northboot.xyz",
"https://searx.fmac.xyz",
"https://metasearch.nl",
"https://searx.nevrlands.de",
"https://search.mdosch.de",
"https://searx.rasp.fr",
"https://searx.zackptg5.com",
"https://procurx.pt",
"https://searx2.zackptg5.com",
"https://searx.pwoss.org",
"https://search.076.ne.jp/searx",
"https://darmarit.org/searx",
"https://suche.uferwerk.org",
"https://searx.nakhan.ne",
"https://suche.dasnetzundich.de",
"https://search.antonkling.se",
"https://jsearch.pw",
"https://searx.hummel-web.at",
"https://search.mdosch.de",
"https://searx.ru"
]
}
{
"type": "libreddit",
"test_url": "/r/popular",
"fallback": "https://libredd.it",
"instances": [
"https://libreddit.albony.xyz",
"https://libredd.it",
"https://libreddit.spike.codes",
"https://libreddit.dothq.co",
"https://libreddit.kavin.rocks",
"https://libreddit.40two.app",
"https://reddit.invak.id",
"https://reddit.phii.me",
"https://lr.riverside.rocks",
"https://libreddit.silkky.cloud",
"https://libreddit.database.red",
"https://libreddit.exonip.de",
"https://libreddit.domain.glass",
"https://libreddit.sugoma.tk",
"https://libreddit.trevorthalacker.com",
"https://reddit.artemislena.eu",
"https://r.nf",
"https://libreddit.awesomehub.io",
"https://libreddit.some-things.org",
"https://reddit.stuehieyr.com",
"https://lr.mint.lgbt",
"https://libreddit.alefvanoon.xyz",
"https://libreddit.igna.rocks",
"https://libreddit.autarkic.org",
"https://libreddit.flux.industries",
"https://libreddit.drivet.xyz",
"https://lr.oversold.host",
"https://libreddit.de"
]
},
{
"type": "bibliogram",
"test_url": "/u/officialrickastley",
"fallback": "https://bibliogram.art",
"instances": [
"https://bibliogram.art",
"https://bibliogram.snopyta.org",
"https://bibliogram.pussthecat.org",
"https://bibliogram.1d4.us",
"https://insta.trom.tf",
"https://bibliogram.hamster.dance",
"https://bib.actionsack.com",
"https://biblio.alefvanoon.xyz"
]
},
{
"type": "invidious",
"test_url": "/watch?v=eBGIQ7ZuuiU",
"fallback": "https://invidious.snopyta.org",
"instances": [
"https://yewtu.be",
"https://invidious.snopyta.org",
"https://invidious.kavin.rocks",
"https://vid.puffyan.org",
"https://invidious-us.kavin.rocks",
"https://inv.riverside.rocks",
"https://invidio.xamh.de",
"https://vid.mint.lgbt",
"https://invidious-jp.kavin.rocks",
"https://invidious.hub.ne.kr",
"https://yt.artemislena.eu",
"https://youtube.076.ne.jp",
"https://invidious.namazso.eu"
]
},
{
"type": "nitter",
"test_url": "/twitter",
"fallback": "https://nitter.net",
"instances": [
"https://nitter.net",
"https://nitter.42l.fr",
"https://nitter.pussthecat.org",
"https://nitter.nixnet.services",
"https://nitter.fdn.fr",
"https://nitter.1d4.us",
"https://nitter.kavin.rocks",
"https://nitter.vxempire.xyz",
"https://nitter.unixfox.eu",
"https://nitter.domain.glass",
"https://nitter.eu",
"https://nitter.namazso.eu",
"https://nitter.mailstation.de",
"https://nitter.actionsack.com",
"https://nitter.cattube.org",
"https://birdsite.xanny.family",
"https://nitter.hu",
"https://nitter.exonip.de",
"https://twitr.gq",
"https://nitter.moomoo.me",
"https://bird.trom.tf",
"https://nitter.it",
"https://twitter.censors.us",
"https://nitter.grimneko.de",
"https://nitter.koyu.space",
"https://nitter.alefvanoon.xyz",
"https://nitter.ir",
"https://nitter.autarkic.org",
"https://n.0x0.st",
"https://n.hyperborea.cloud",
"https://nitter.ca",
"https://twitter.076.ne.jp",
"https://lu-nitter.resolv.ee",
"https://is-nitter.resolv.ee",
"https://cy-nitter.resolv.ee",
"https://tweet.lambda.dance"
]
},
{
"type": "whoogle",
"test_url": "/search?q=github",
"fallback": "https://search.garudalinux.org",
"instances": [
"https://search.albony.xyz",
"https://whoogle.sdf.org",
"https://whoogle.kavin.rocks",
"https://search.garudalinux.org",
"https://whooglesearch.net",
"https://search.flawcra.cc",
"https://search.exonip.de",
"https://s.alefvanoon.xyz",
"https://search.flux.industries",
"https://www.whooglesearch.ml"
]
},
{
"type": "searx",
"test_url": "/search?q=github",
"fallback": "https://searx.be",
"instances": [
"https://anon.sx/",
"https://darmarit.org/searx/",
"https://dynabyte.ca/",
"https://engo.mint.lgbt/",
"https://haku.ahmia.fi/",
"https://jsearch.pw/",
"https://metasearch.nl/",
"https://northboot.xyz/",
"https://paulgo.io/",
"https://procurx.pt/",
"https://recherche.catmargue.org/",
"https://s.zhaocloud.net/",
"https://search.antonkling.se/",
"https://search.asynchronousexchange.com/",
"https://search.bluelock.org/",
"https://search.disroot.org/",
"https://search.ethibox.fr/",
"https://search.fedi.life/",
"https://search.jigsaw-security.com/",
"https://search.jpope.org/",
"https://search.mdosch.de/",
"https://search.snopyta.org/",
"https://search.st8.at/",
"https://search.stinpriza.org/",
"https://search.trom.tf/",
"https://search.zdechov.net/",
"https://searx.bar/",
"https://searx.be/",
"https://searx.bissisoft.com/",
"https://searx.devol.it/",
"https://searx.divided-by-zero.eu/",
"https://searx.dresden.network/",
"https://searx.feneas.org/",
"https://searx.fmac.xyz/",
"https://searx.gnous.eu/",
"https://searx.gnu.style/",
"https://searx.hardwired.link/",
"https://searx.hummel-web.at/",
"https://searx.lavatech.top/",
"https://searx.mastodontech.de/",
"https://searx.mha.fi/",
"https://searx.mxchange.org/",
"https://searx.nakhan.net/",
"https://searx.netzspielplatz.de/",
"https://searx.nevrlands.de/",
"https://searx.ninja/",
"https://searx.nixnet.services/",
"https://searx.openhoofd.nl/",
"https://searx.org/",
"https://searx.prvcy.eu/",
"https://searx.pwoss.org/",
"https://searx.rasp.fr/",
"https://searx.roughs.ru/",
"https://searx.ru/",
"https://searx.run/",
"https://searx.silkky.cloud/",
"https://searx.slash-dev.de/",
"https://searx.solusar.de/",
"https://searx.sp-codes.de/",
"https://searx.stuehieyr.com/",
"https://searx.sunless.cloud/",
"https://searx.theanonymouse.xyz/",
"https://searx.thegreenwebfoundation.org/",
"https://searx.tiekoetter.com/",
"https://searx.tk/",
"https://searx.tux.land/",
"https://searx.tuxcloud.net/",
"https://searx.tyil.nl/",
"https://searx.webheberg.info/",
"https://searx.xkek.net/",
"https://searx.xyz/",
"https://searx.zackptg5.com/",
"https://searx.zecircle.xyz/",
"https://searx2.zackptg5.com/",
"https://spot.ecloud.global/",
"https://suche.dasnetzundich.de/",
"https://suche.uferwerk.org/",
"https://swag.pw/",
"https://sx.catgirl.cloud/",
"https://sx.fedi.tech/",
"https://timdor.noip.me/searx/",
"https://trovu.komun.org/",
"https://www.gruble.de/",
"https://www.perfectpixel.de/searx/",
"https://www.webrats.xyz/",
"https://xeek.com/",
"https://search.076.ne.jp/searx/",
"https://searx.roflcopter.fr/"
]
}
]