Added LibMedium, Dumb, AnonymousOverflow

このコミットが含まれているのは:
ManeraKai 2023-02-05 11:44:53 +03:00
コミット a4bb1b4a78
この署名に対応する既知のキーがデータベースに存在しません
GPGキーID: 5ABC31FFD562E337
5個のファイルの変更205行の追加77行の削除

ファイルの表示

@ -11,6 +11,7 @@
- Teddit: [https://codeberg.org/teddit/teddit/src/branch/main/instances.json](https://codeberg.org/teddit/teddit/src/branch/main/instances.json) - Teddit: [https://codeberg.org/teddit/teddit/src/branch/main/instances.json](https://codeberg.org/teddit/teddit/src/branch/main/instances.json)
- Rimgo: [https://codeberg.org/video-prize-ranch/rimgo/src/branch/main/instances.json](https://codeberg.org/video-prize-ranch/rimgo/src/branch/main/instances.json) - Rimgo: [https://codeberg.org/video-prize-ranch/rimgo/src/branch/main/instances.json](https://codeberg.org/video-prize-ranch/rimgo/src/branch/main/instances.json)
- Scribe: [https://git.sr.ht/~edwardloveall/scribe/tree/main/item/docs/instances.json](https://git.sr.ht/~edwardloveall/scribe/tree/main/item/docs/instances.json) - Scribe: [https://git.sr.ht/~edwardloveall/scribe/tree/main/item/docs/instances.json](https://git.sr.ht/~edwardloveall/scribe/tree/main/item/docs/instances.json)
- LibMedium: [https://github.com/realaravinth/libmedium#instances](https://github.com/realaravinth/libmedium#instances)
- Quetre: [https://github.com/zyachel/quetre#instances](https://github.com/zyachel/quetre#instances) - Quetre: [https://github.com/zyachel/quetre#instances](https://github.com/zyachel/quetre#instances)
- libremdb: [https://github.com/zyachel/libremdb#instances](https://github.com/zyachel/libremdb#instances) - libremdb: [https://github.com/zyachel/libremdb#instances](https://github.com/zyachel/libremdb#instances)
- Librarian: [https://codeberg.org/librarian/librarian/src/branch/main/instances.json](https://codeberg.org/librarian/librarian/src/branch/main/instances.json) - Librarian: [https://codeberg.org/librarian/librarian/src/branch/main/instances.json](https://codeberg.org/librarian/librarian/src/branch/main/instances.json)
@ -21,6 +22,8 @@
- LingvaTranslate: [https://github.com/thedaviddelta/lingva-translate/blob/main/instances.json](https://github.com/thedaviddelta/lingva-translate/blob/main/instances.json) - LingvaTranslate: [https://github.com/thedaviddelta/lingva-translate/blob/main/instances.json](https://github.com/thedaviddelta/lingva-translate/blob/main/instances.json)
- LibreTranslate: [https://github.com/LibreTranslate/LibreTranslate#mirrors](https://github.com/LibreTranslate/LibreTranslate#mirrors) - LibreTranslate: [https://github.com/LibreTranslate/LibreTranslate#mirrors](https://github.com/LibreTranslate/LibreTranslate#mirrors)
- Send: [https://github.com/timvisee/send-instances](https://github.com/timvisee/send-instances) - Send: [https://github.com/timvisee/send-instances](https://github.com/timvisee/send-instances)
- Dumb: [https://github.com/rramiachraf/dumb#public-instances](https://github.com/rramiachraf/dumb#public-instances)
- AnonymousOverflow: [https://github.com/httpjamesm/AnonymousOverflow#clearnet-instances](https://github.com/httpjamesm/AnonymousOverflow#clearnet-instances)
## How to run: ## How to run:

ファイルの表示

@ -5,10 +5,9 @@
"https://yt.oelrichsgarcia.de", "https://yt.oelrichsgarcia.de",
"https://piped.video", "https://piped.video",
"https://piped.tokhmi.xyz", "https://piped.tokhmi.xyz",
"https://piped.moomoo.me",
"https://piped.mha.fi", "https://piped.mha.fi",
"https://piped.garudalinux.org", "https://piped.garudalinux.org",
"https://watch.leptons.xyz", "https://efy.piped.pages.dev",
"https://piped.lunar.icu", "https://piped.lunar.icu",
"https://piped.video", "https://piped.video",
"https://proxitok.marcopisco.com", "https://proxitok.marcopisco.com",
@ -62,11 +61,15 @@
"https://search.albony.xyz", "https://search.albony.xyz",
"https://search.garudalinux.org", "https://search.garudalinux.org",
"https://search.dr460nf1r3.org", "https://search.dr460nf1r3.org",
"https://whoogle.hxvy0.gq",
"https://whoogle.lunar.icu", "https://whoogle.lunar.icu",
"https://whoogle.rhyshl.live", "https://whoogle.rhyshl.live",
"https://rimgo.privacytools.io", "https://rimgo.privacytools.io",
"https://rimgo.marcopisco.com", "https://rimgo.marcopisco.com",
"https://rimgo.lunar.icu", "https://rimgo.lunar.icu",
"https://beatbump.ml" "https://imgur.010032.xyz",
"https://beatbump.ml",
"https://dumb.lunar.icu",
"https://overflow.lunar.icu"
] ]
} }

53
cloudflare.py ノーマルファイル
ファイルの表示

@ -0,0 +1,53 @@
import traceback
import logging
import requests
import json
from urllib.parse import urlparse
import re
from colorama import Fore, Style
import socket
def get_cloudflare_ips():
r = requests.get('https://www.cloudflare.com/ips-v4')
return r.text.split('\n')
cloudflare_ips = get_cloudflare_ips()
def ip2bin(ip): return "".join(
map(
str,
[
"{0:08b}".format(int(x)) for x in ip.split(".")
]
)
)
def is_cloudflare(url):
instance_ip = None
try:
instance_ip = socket.gethostbyname(urlparse(url).hostname)
if instance_ip is None:
return False
except Exception:
return False
instance_bin = ip2bin(instance_ip)
for cloudflare_ip_mask in cloudflare_ips:
cloudflare_ip = cloudflare_ip_mask.split('/')[0]
cloudflare_bin = ip2bin(cloudflare_ip)
mask = int(cloudflare_ip_mask.split('/')[1])
cloudflare_bin_masked = cloudflare_bin[:mask]
instance_bin_masked = instance_bin[:mask]
if cloudflare_bin_masked == instance_bin_masked:
print(url + ' is behind ' + Fore.RED +
'cloudflare' + Style.RESET_ALL)
return True
return False
is_cloudflare('https://pipedapi-libre.kavin.rocks')

108
data.json
ファイルの表示

@ -10,34 +10,34 @@
"https://invidious.nerdvpn.de", "https://invidious.nerdvpn.de",
"https://invidious.tiekoetter.com", "https://invidious.tiekoetter.com",
"https://yt.artemislena.eu", "https://yt.artemislena.eu",
"https://invidious.flokinet.to",
"https://inv.bp.projectsegfau.lt", "https://inv.bp.projectsegfau.lt",
"https://inv.odyssey346.dev", "https://inv.odyssey346.dev",
"https://invidious.baczek.me", "https://invidious.baczek.me",
"https://invidious.snopyta.org", "https://invidious.snopyta.org",
"https://invidious.sethforprivacy.com", "https://invidious.sethforprivacy.com",
"https://yt.funami.tech", "https://yt.funami.tech",
"https://invidious.drivet.xyz",
"https://iv.ggtyler.dev",
"https://invidious.epicsite.xyz", "https://invidious.epicsite.xyz",
"https://invidious.silur.me", "https://iv.ggtyler.dev",
"https://yt.oelrichsgarcia.de",
"https://vid.priv.au", "https://vid.priv.au",
"https://invidious.slipfox.xyz",
"https://inv.vern.cc", "https://inv.vern.cc",
"https://invidious.weblibre.org",
"https://invidious.esmailelbob.xyz",
"https://iv.melmac.space",
"https://invidious.dhusch.de",
"https://invidious.privacydev.net",
"https://invidious.slipfox.xyz", "https://invidious.slipfox.xyz",
"https://invidious.esmailelbob.xyz",
"https://invidious.dhusch.de",
"https://invidious.weblibre.org",
"https://iv.melmac.space",
"https://invidious.silur.me",
"https://invidious.lidarshield.cloud", "https://invidious.lidarshield.cloud",
"https://invidious.drivet.xyz",
"https://invidious.privacydev.net",
"https://invidious.flokinet.to",
"https://invidious.namazso.eu" "https://invidious.namazso.eu"
], ],
"tor": [ "tor": [
"http://w6ijuptxiku4xpnnaetxvnkc5vqcdu7mgns2u77qefoixi63vbvnpnqd.onion", "http://w6ijuptxiku4xpnnaetxvnkc5vqcdu7mgns2u77qefoixi63vbvnpnqd.onion",
"http://kbjggqkzv65ivcqj6bumvp337z6264huv5kpkwuv6gu5yjiskvan7fad.onion", "http://kbjggqkzv65ivcqj6bumvp337z6264huv5kpkwuv6gu5yjiskvan7fad.onion",
"http://grwp24hodrefzvjjuccrkw3mjq4tzhaaq32amf33dzpmuxe7ilepcmad.onion", "http://grwp24hodrefzvjjuccrkw3mjq4tzhaaq32amf33dzpmuxe7ilepcmad.onion",
"http://osbivz6guyeahrwp2lnwyjk2xos342h4ocsxyqrlaopqjuhwn2djiiyd.onion", "http://c7hqkpkpemu6e7emz5b4vyz7idjgdvgaaa3dyimmeojqbgpea3xqjoid.onion",
"http://u2cvlit75owumwpy4dj2hsmvkq7nvrclkpht7xgyye2pyoxhpmclkrad.onion", "http://u2cvlit75owumwpy4dj2hsmvkq7nvrclkpht7xgyye2pyoxhpmclkrad.onion",
"http://euxxcnhsynwmfidvhjf6uzptsmh4dipkmgdmcmxxuo7tunp3ad2jrwyd.onion", "http://euxxcnhsynwmfidvhjf6uzptsmh4dipkmgdmcmxxuo7tunp3ad2jrwyd.onion",
"http://invidious.esmail5pdn24shtvieloeedh7ehz3nrwcdivnfhfcedl7gf4kwddhkqd.onion", "http://invidious.esmail5pdn24shtvieloeedh7ehz3nrwcdivnfhfcedl7gf4kwddhkqd.onion",
@ -46,7 +46,7 @@
"http://ng27owmagn5amdm7l5s3rsqxwscl5ynppnis5dqcasogkyxcfqn7psid.onion", "http://ng27owmagn5amdm7l5s3rsqxwscl5ynppnis5dqcasogkyxcfqn7psid.onion",
"http://iv.odysfvr23q5wgt7i456o5t3trw2cw5dgn56vbjfbq2m7xsc5vqbqpcyd.onion", "http://iv.odysfvr23q5wgt7i456o5t3trw2cw5dgn56vbjfbq2m7xsc5vqbqpcyd.onion",
"http://invidious.g4c3eya4clenolymqbpgwz3q3tawoxw56yhzk4vugqrl6dtu3ejvhjid.onion", "http://invidious.g4c3eya4clenolymqbpgwz3q3tawoxw56yhzk4vugqrl6dtu3ejvhjid.onion",
"http://c7hqkpkpemu6e7emz5b4vyz7idjgdvgaaa3dyimmeojqbgpea3xqjoid.onion" "http://osbivz6guyeahrwp2lnwyjk2xos342h4ocsxyqrlaopqjuhwn2djiiyd.onion"
], ],
"i2p": [ "i2p": [
"http://verni6dr4qxjgjumnvesxerh5rvhv6oy5ddeibaqy5d7tgbiiyfa.b32.i2p" "http://verni6dr4qxjgjumnvesxerh5rvhv6oy5ddeibaqy5d7tgbiiyfa.b32.i2p"
@ -57,22 +57,18 @@
"clearnet": [ "clearnet": [
"https://piped.video", "https://piped.video",
"https://piped.tokhmi.xyz", "https://piped.tokhmi.xyz",
"https://piped.moomoo.me",
"https://piped.mha.fi", "https://piped.mha.fi",
"https://watch.whatever.social", "https://watch.whatever.social",
"https://piped.garudalinux.org", "https://piped.garudalinux.org",
"https://watch.leptons.xyz", "https://efy.piped.pages.dev",
"https://piped.lunar.icu", "https://piped.lunar.icu",
"https://piped.video", "https://piped.video",
"https://yt.jae.fi", "https://yt.jae.fi",
"https://il.ax", "https://il.ax",
"https://piped.esmailelbob.xyz",
"https://piped.projectsegfau.lt", "https://piped.projectsegfau.lt",
"https://piped.privacydev.net", "https://piped.privacydev.net",
"https://piped.palveluntarjoaja.eu",
"https://piped.smnz.de", "https://piped.smnz.de",
"https://piped.adminforge.de", "https://piped.adminforge.de",
"https://piped.qdi.fi",
"https://piped.hostux.net", "https://piped.hostux.net",
"https://pd.vern.cc", "https://pd.vern.cc",
"https://piped.chauvet.pro" "https://piped.chauvet.pro"
@ -562,7 +558,6 @@
"searx": { "searx": {
"clearnet": [ "clearnet": [
"https://jsearch.pw", "https://jsearch.pw",
"https://search.kvj.ovh",
"https://search.stinpriza.org", "https://search.stinpriza.org",
"https://search.trom.tf", "https://search.trom.tf",
"https://searx.bissisoft.com", "https://searx.bissisoft.com",
@ -587,11 +582,9 @@
], ],
"tor": [ "tor": [
"http://3afisqjw2rxm6z7mmstyt5rx75qfqrgxnkzftknbp2vhipr2nrmrjdyd.onion", "http://3afisqjw2rxm6z7mmstyt5rx75qfqrgxnkzftknbp2vhipr2nrmrjdyd.onion",
"http://searchvrzxoqa4k76duqh4wtzpr553hfl53qpytclxf7zci53lwklfyd.onion",
"http://z5vawdol25vrmorm4yydmohsd4u6rdoj2sylvoi3e3nqvxkvpqul7bqd.onion", "http://z5vawdol25vrmorm4yydmohsd4u6rdoj2sylvoi3e3nqvxkvpqul7bqd.onion",
"http://zbuc3bbzbfdqqo2x46repx2ddajbha6fpsjeeptjhhhhzji3zopxdqyd.onion", "http://zbuc3bbzbfdqqo2x46repx2ddajbha6fpsjeeptjhhhhzji3zopxdqyd.onion",
"http://f4qfqajszpx5b7itzxt6mb7kj4ktpgbdq7lq6xaiqyqx6a7de3epptad.onion", "http://f4qfqajszpx5b7itzxt6mb7kj4ktpgbdq7lq6xaiqyqx6a7de3epptad.onion",
"http://searx.esmail5pdn24shtvieloeedh7ehz3nrwcdivnfhfcedl7gf4kwddhkqd.onion",
"http://searxfilowxokbogygrigir4wqxfxqzuxofxgdon7dg6rsii4yxzytyd.onion", "http://searxfilowxokbogygrigir4wqxfxqzuxofxgdon7dg6rsii4yxzytyd.onion",
"http://searx.micohauwkjbyw5meacrb4ipicwvwg4xtzl7y7viv53kig2mdcsvwkyyd.onion" "http://searx.micohauwkjbyw5meacrb4ipicwvwg4xtzl7y7viv53kig2mdcsvwkyyd.onion"
], ],
@ -608,8 +601,8 @@
"https://darmarit.org/searx", "https://darmarit.org/searx",
"https://dynabyte.ca", "https://dynabyte.ca",
"https://etsi.me", "https://etsi.me",
"https://gsch.eu",
"https://intelwinds.com", "https://intelwinds.com",
"https://myprivatesrx.us",
"https://northboot.xyz", "https://northboot.xyz",
"https://notsearch.uk", "https://notsearch.uk",
"https://ooglester.com", "https://ooglester.com",
@ -632,6 +625,7 @@
"https://search.disroot.org", "https://search.disroot.org",
"https://search.gcomm.ch", "https://search.gcomm.ch",
"https://search.kiwitalk.de", "https://search.kiwitalk.de",
"https://search.kvj.ovh",
"https://search.leptons.xyz", "https://search.leptons.xyz",
"https://search.mdosch.de", "https://search.mdosch.de",
"https://search.mpx.wtf", "https://search.mpx.wtf",
@ -692,13 +686,16 @@
"http://4n53nafyi77iplnbrpmxnp3x4exbswwxigujaxy3b37fvr7bvlopxeyd.onion", "http://4n53nafyi77iplnbrpmxnp3x4exbswwxigujaxy3b37fvr7bvlopxeyd.onion",
"http://privateoz3u5utrimal2edr56j3r5caakektxxgixigdkycuxigvquid.onion", "http://privateoz3u5utrimal2edr56j3r5caakektxxgixigdkycuxigvquid.onion",
"http://searxyqdegtqksicnwpxa24ipnb2ylmp6iutnnwtazbhup4dit4eeyqd.onion", "http://searxyqdegtqksicnwpxa24ipnb2ylmp6iutnnwtazbhup4dit4eeyqd.onion",
"http://searchvrzxoqa4k76duqh4wtzpr553hfl53qpytclxf7zci53lwklfyd.onion",
"http://gbat2pbpg7ys3fi3pbp64667tt5x66mg45xok35bxdw7v55brm7a27yd.onion", "http://gbat2pbpg7ys3fi3pbp64667tt5x66mg45xok35bxdw7v55brm7a27yd.onion",
"http://qyyb5xsar7gp4q3agxnrxgajx4nnnihptqhmyee5nolidtkhxjks6ayd.onion", "http://qyyb5xsar7gp4q3agxnrxgajx4nnnihptqhmyee5nolidtkhxjks6ayd.onion",
"http://searxdr3pqz4nydgnqocsia2xbywptxbkympa2emn7zlgggrir4bkfad.onion", "http://searxdr3pqz4nydgnqocsia2xbywptxbkympa2emn7zlgggrir4bkfad.onion",
"http://searx.esmail5pdn24shtvieloeedh7ehz3nrwcdivnfhfcedl7gf4kwddhkqd.onion",
"http://searx.privpw3tndpkw6pnp3g727zfgfdzbu3k6a7chv226s3xymv2p4eiuqyd.onion", "http://searx.privpw3tndpkw6pnp3g727zfgfdzbu3k6a7chv226s3xymv2p4eiuqyd.onion",
"http://rq2w52kyrif3xpfihkgjnhqm3a5aqhoikpv72z3drpjglfzc2wr5z4yd.onion", "http://rq2w52kyrif3xpfihkgjnhqm3a5aqhoikpv72z3drpjglfzc2wr5z4yd.onion",
"http://fub6vgedgeadlu3ctskrpkcqjruh76tckwtj5swfhyblgml2tzgzckqd.onion/searx", "http://fub6vgedgeadlu3ctskrpkcqjruh76tckwtj5swfhyblgml2tzgzckqd.onion/searx",
"http://searx3aolosaf3urwnhpynlhuokqsgz47si4pzz5hvb7uuzyjncl2tid.onion" "http://searx3aolosaf3urwnhpynlhuokqsgz47si4pzz5hvb7uuzyjncl2tid.onion",
"https://lgmekfnpealdqhnctyg3p5fuelpdwnbqbwnl2ickpdoodzatzgz27ryd.onion"
], ],
"i2p": [], "i2p": [],
"loki": [] "loki": []
@ -715,7 +712,7 @@
"https://gowogle.voring.me", "https://gowogle.voring.me",
"https://whoogle.privacydev.net", "https://whoogle.privacydev.net",
"https://wg.vern.cc", "https://wg.vern.cc",
"https://www.indexia.gq", "https://whoogle.hxvy0.gq",
"https://whoogle.lunar.icu", "https://whoogle.lunar.icu",
"https://whoogle.rhyshl.live", "https://whoogle.rhyshl.live",
"https://wgl.frail.duckdns.org" "https://wgl.frail.duckdns.org"
@ -736,6 +733,7 @@
"https://search.femboy.hu", "https://search.femboy.hu",
"https://lx.vern.cc", "https://lx.vern.cc",
"https://librex.sesu.cc", "https://librex.sesu.cc",
"https://librex.zzls.xyz",
"https://librex.mikata.ru", "https://librex.mikata.ru",
"https://librex.terryiscool160.xyz", "https://librex.terryiscool160.xyz",
"https://librex.nekus.gay", "https://librex.nekus.gay",
@ -757,13 +755,15 @@
"http://search.cepyxplublbyw2f4axy4pyztfbxmf63lrt2c7uwv6wl4iixz53czload.onion", "http://search.cepyxplublbyw2f4axy4pyztfbxmf63lrt2c7uwv6wl4iixz53czload.onion",
"http://lx.vernccvbvyi5qhfzyqengccj7lkove6bjot2xhh5kajhwvidqafczrad.onion", "http://lx.vernccvbvyi5qhfzyqengccj7lkove6bjot2xhh5kajhwvidqafczrad.onion",
"http://librex.swxoebbpeqiiixyhbuh3vbw53pdrmtbiaj2sqveol6kkn5rpapfi4aad.onion", "http://librex.swxoebbpeqiiixyhbuh3vbw53pdrmtbiaj2sqveol6kkn5rpapfi4aad.onion",
"http://librex.zzlsghu6mvvwyy75mvga6gaf4znbp3erk5xwfzedb4gg6qqh2j6rlvid.onion",
"http://f7ssz7l3biu4fugwctfpcx4txg5yq4gqhrt473ledsuc3ivtd3omniid.onion", "http://f7ssz7l3biu4fugwctfpcx4txg5yq4gqhrt473ledsuc3ivtd3omniid.onion",
"http://librex.n53wt4ivvfdfaqkwldgdzfsubszukie2an6auja6x2wp3e3oa7v2gqyd.onion", "http://librex.n53wt4ivvfdfaqkwldgdzfsubszukie2an6auja6x2wp3e3oa7v2gqyd.onion",
"http://5yblccekvswxl4n43bn5eg4pr7c4xygvu5lhhdb6ulzmislvahmhitad.onion" "http://5yblccekvswxl4n43bn5eg4pr7c4xygvu5lhhdb6ulzmislvahmhitad.onion"
], ],
"i2p": [ "i2p": [
"http://vernziqfqvweijfaacmwazohgpdo2bt2ib2jlupt2pwwu27bhgxq.b32.i2p", "http://vernziqfqvweijfaacmwazohgpdo2bt2ib2jlupt2pwwu27bhgxq.b32.i2p",
"http://lqbchqljxiwl3bbjt4vqe76luovk5ly6khqhg7mt5qcqfn6e4sbq.b32.i2p" "http://lqbchqljxiwl3bbjt4vqe76luovk5ly6khqhg7mt5qcqfn6e4sbq.b32.i2p",
"http://7huurwog32tny663wkglrhozfoyqyqmsuxjbd7dtudccx44awjda.b32.i2p"
], ],
"loki": [] "loki": []
}, },
@ -781,17 +781,20 @@
"https://rimgo.hostux.net", "https://rimgo.hostux.net",
"https://ri.zzls.xyz", "https://ri.zzls.xyz",
"https://rimgo.marcopisco.com", "https://rimgo.marcopisco.com",
"https://rimgo.lunar.icu" "https://rimgo.lunar.icu",
"https://imgur.010032.xyz"
], ],
"tor": [ "tor": [
"http://rimgo.esmail5pdn24shtvieloeedh7ehz3nrwcdivnfhfcedl7gf4kwddhkqd.onion", "http://rimgo.esmail5pdn24shtvieloeedh7ehz3nrwcdivnfhfcedl7gf4kwddhkqd.onion",
"http://imgur.lpoaj7z2zkajuhgnlltpeqh3zyq7wk2iyeggqaduhgxhyajtdt2j7wad.onion", "http://imgur.lpoaj7z2zkajuhgnlltpeqh3zyq7wk2iyeggqaduhgxhyajtdt2j7wad.onion",
"http://rimgo.vernccvbvyi5qhfzyqengccj7lkove6bjot2xhh5kajhwvidqafczrad.onion", "http://rimgo.vernccvbvyi5qhfzyqengccj7lkove6bjot2xhh5kajhwvidqafczrad.onion",
"http://tdp6uqjtmok723suum5ms3jbquht6d7dssug4cgcxhfniatb25gcipad.onion", "http://tdp6uqjtmok723suum5ms3jbquht6d7dssug4cgcxhfniatb25gcipad.onion",
"http://i.habeehrhadazsw3izbrbilqajalfyqqln54mrja3iwpqxgcuxnus7eid.onion" "http://i.habeehrhadazsw3izbrbilqajalfyqqln54mrja3iwpqxgcuxnus7eid.onion",
"http://rimgo.zzlsghu6mvvwyy75mvga6gaf4znbp3erk5xwfzedb4gg6qqh2j6rlvid.onion"
], ],
"i2p": [ "i2p": [
"rimgov7l2tqyrm5txrtvhtnfyrzkc5d7ipafofavchbnnyog4r3q.b32.i2p" "rimgov7l2tqyrm5txrtvhtnfyrzkc5d7ipafofavchbnnyog4r3q.b32.i2p",
"p57356k2xwhxrg2lxrjajcftkrptv4zejeeblzfgkcvpzuetkz2a.b32.i2p"
], ],
"loki": [] "loki": []
}, },
@ -862,10 +865,10 @@
"https://breezewiki.com", "https://breezewiki.com",
"https://antifandom.com", "https://antifandom.com",
"https://breezewiki.pussthecat.org", "https://breezewiki.pussthecat.org",
"https://bw.projectsegfau.lt",
"https://breeze.hostux.net", "https://breeze.hostux.net",
"https://bw.us.projectsegfau.lt",
"https://bw.eu.projectsegfau.lt",
"https://bw.artemislena.eu", "https://bw.artemislena.eu",
"https://breeze.777.tf",
"https://breezewiki.esmailelbob.xyz" "https://breezewiki.esmailelbob.xyz"
], ],
"tor": [], "tor": [],
@ -888,5 +891,52 @@
"tor": [], "tor": [],
"i2p": [], "i2p": [],
"loki": [] "loki": []
},
"libMedium": {
"clearnet": [
"https://libmedium.batsense.net",
"https://md.vern.cc"
],
"tor": [
"http://md.vernccvbvyi5qhfzyqengccj7lkove6bjot2xhh5kajhwvidqafczrad.onion"
],
"i2p": [
"http://vernaqj2qr2pijpgvf3od6ssc3ulz3nv52gwr3hba5l6humuzmgq.b32.i2p"
],
"loki": []
},
"dumb": {
"clearnet": [
"https://dm.vern.cc",
"https://sing.whatever.social",
"https://dumb.lunar.icu",
"https://dumb.esmailelbob.xyz"
],
"tor": [
"http://dm.vernccvbvyi5qhfzyqengccj7lkove6bjot2xhh5kajhwvidqafczrad.onion",
"http://dumb.esmail5pdn24shtvieloeedh7ehz3nrwcdivnfhfcedl7gf4kwddhkqd.onion"
],
"i2p": [
"http://vernxpcpqi2y4uhu7to4rnjmyjjgzh3x3qxyzpmkhykefchkmleq.b32.i2p"
],
"loki": []
},
"anonymousOverflow": {
"clearnet": [
"https://code.whatever.social",
"https://overflow.777.tf",
"https://ao.vern.cc",
"https://overflow.smnz.de",
"https://anonymousoverflow.esmailelbob.xyz",
"https://overflow.lunar.icu"
],
"tor": [
"http://ao.vernccvbvyi5qhfzyqengccj7lkove6bjot2xhh5kajhwvidqafczrad.onion",
"http://anonymousoverflow.esmail5pdn24shtvieloeedh7ehz3nrwcdivnfhfcedl7gf4kwddhkqd.onion"
],
"i2p": [
"http://vernmzgraj6aaoafmehupvtkkynpaa67rxcdj2kinwiy6konn6rq.b32.i2p"
],
"loki": []
} }
} }

ファイルの表示

@ -98,22 +98,23 @@ def is_cloudflare(url):
return False return False
def fetchCache(frontend, name): def fetchCache(frontend):
try: try:
with open('./data.json') as file: with open('./data.json') as file:
mightyList[frontend] = json.load(file)[frontend] mightyList[frontend] = json.load(file)[frontend]
print(Fore.YELLOW + 'Failed' + Style.RESET_ALL + ' to fetch ' + name) print(Fore.YELLOW + 'Failed' + Style.RESET_ALL + ' to fetch ' + frontend)
except Exception: except Exception:
print(Fore.RED + 'Failed' + Style.RESET_ALL + ' to get cached ' + name) print(Fore.RED + 'Failed' + Style.RESET_ALL +
' to get cached ' + frontend)
def fetchFromFile(frontend, name): def fetchFromFile(frontend):
with open('./fixed/' + frontend + '.json') as file: with open('./fixed/' + frontend + '.json') as file:
mightyList[frontend] = json.load(file) mightyList[frontend] = json.load(file)
print(Fore.GREEN + 'Fetched ' + Style.RESET_ALL + name) print(Fore.GREEN + 'Fetched ' + Style.RESET_ALL + frontend)
def fetchJsonList(frontend, name, url, urlItem, jsonObject): def fetchJsonList(frontend, url, urlItem, jsonObject):
try: try:
r = requests.get(url) r = requests.get(url)
rJson = json.loads(r.text) rJson = json.loads(r.text)
@ -150,13 +151,13 @@ def fetchJsonList(frontend, name, url, urlItem, jsonObject):
_list['clearnet'].append(tmpItem) _list['clearnet'].append(tmpItem)
mightyList[frontend] = _list mightyList[frontend] = _list
print(Fore.GREEN + 'Fetched ' + Style.RESET_ALL + name) print(Fore.GREEN + 'Fetched ' + Style.RESET_ALL + frontend)
except Exception: except Exception:
fetchCache(frontend, name) fetchCache(frontend, frontend)
logging.error(traceback.format_exc()) logging.error(traceback.format_exc())
def fetchRegexList(frontend, name, url, regex): def fetchRegexList(frontend, url, regex):
try: try:
r = requests.get(url) r = requests.get(url)
_list = {} _list = {}
@ -177,13 +178,13 @@ def fetchRegexList(frontend, name, url, regex):
else: else:
_list['clearnet'].append(item) _list['clearnet'].append(item)
mightyList[frontend] = _list mightyList[frontend] = _list
print(Fore.GREEN + 'Fetched ' + Style.RESET_ALL + name) print(Fore.GREEN + 'Fetched ' + Style.RESET_ALL + frontend)
except Exception: except Exception:
fetchCache(frontend, name) fetchCache(frontend, )
logging.error(traceback.format_exc()) logging.error(traceback.format_exc())
def fetchTextList(frontend, name, url, prepend): def fetchTextList(frontend, url, prepend):
try: try:
_list = {} _list = {}
for network in networks: for network in networks:
@ -212,9 +213,9 @@ def fetchTextList(frontend, name, url, prepend):
else: else:
_list['clearnet'].append(item) _list['clearnet'].append(item)
mightyList[frontend] = _list mightyList[frontend] = _list
print(Fore.GREEN + 'Fetched ' + Style.RESET_ALL + name) print(Fore.GREEN + 'Fetched ' + Style.RESET_ALL + frontend)
except Exception: except Exception:
fetchCache(frontend, name) fetchCache(frontend, frontend)
logging.error(traceback.format_exc()) logging.error(traceback.format_exc())
@ -276,62 +277,62 @@ def piped():
def pipedMaterial(): def pipedMaterial():
fetchRegexList('pipedMaterial', 'Piped-Material', 'https://raw.githubusercontent.com/mmjee/Piped-Material/master/README.md', fetchRegexList('pipedMaterial', 'https://raw.githubusercontent.com/mmjee/Piped-Material/master/README.md',
r"\| (https?:\/{2}(?:\S+\.)+[a-zA-Z0-9]*) +\| Production") r"\| (https?:\/{2}(?:\S+\.)+[a-zA-Z0-9]*) +\| Production")
def cloudtube(): def cloudtube():
fetchFromFile('cloudtube', 'Cloudtube') fetchFromFile('cloudtube')
def proxitok(): def proxitok():
fetchRegexList('proxiTok', 'ProxiTok', 'https://raw.githubusercontent.com/wiki/pablouser1/ProxiTok/Public-instances.md', fetchRegexList('proxiTok', 'https://raw.githubusercontent.com/wiki/pablouser1/ProxiTok/Public-instances.md',
r"\| \[.*\]\(([-a-zA-Z0-9@:%_\+.~#?&//=]{2,}\.[a-z]{2,}\b(?:\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?)\)(?: \(Official\))? +\|(?:(?: [A-Z]*.*\|.*\|)|(?:$))") r"\| \[.*\]\(([-a-zA-Z0-9@:%_\+.~#?&//=]{2,}\.[a-z]{2,}\b(?:\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?)\)(?: \(Official\))? +\|(?:(?: [A-Z]*.*\|.*\|)|(?:$))")
def send(): def send():
fetchRegexList('send', 'Send', 'https://gitlab.com/timvisee/send-instances/-/raw/master/README.md', fetchRegexList('send', 'https://gitlab.com/timvisee/send-instances/-/raw/master/README.md',
r"- ([-a-zA-Z0-9@:%_\+.~#?&//=]{2,}\.[a-z0-9]{2,}\b(?:\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?)\)*\|*[A-Z]{0,}") r"- ([-a-zA-Z0-9@:%_\+.~#?&//=]{2,}\.[a-z0-9]{2,}\b(?:\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?)\)*\|*[A-Z]{0,}")
def nitter(): def nitter():
fetchRegexList('nitter', 'Nitter', 'https://raw.githubusercontent.com/wiki/zedeus/nitter/Instances.md', fetchRegexList('nitter', 'https://raw.githubusercontent.com/wiki/zedeus/nitter/Instances.md',
r"(?:(?:\| )|(?:- ))\[(?:(?:\S+\.)+[a-zA-Z0-9]+)\/?\]\((https?:\/{2}(?:\S+\.)+[a-zA-Z0-9]+)\/?\)(?:(?: (?:\((?:\S+ ?\S*)\) )? *\| [^❌]{1,4} +\|(?:(?:\n)|(?: ❌)|(?: ✅)|(?: ❓)|(?: \[)))|(?:\n))") r"(?:(?:\| )|(?:- ))\[(?:(?:\S+\.)+[a-zA-Z0-9]+)\/?\]\((https?:\/{2}(?:\S+\.)+[a-zA-Z0-9]+)\/?\)(?:(?: (?:\((?:\S+ ?\S*)\) )? *\| [^❌]{1,4} +\|(?:(?:\n)|(?: ❌)|(?: ✅)|(?: ❓)|(?: \[)))|(?:\n))")
def libreddit(): def libreddit():
fetchJsonList('libreddit', 'Libreddit', 'https://github.com/libreddit/libreddit-instances/raw/master/instances.json', fetchJsonList('libreddit', 'https://github.com/libreddit/libreddit-instances/raw/master/instances.json',
{'clearnet': 'url', 'tor': 'onion', 'i2p': 'i2p', 'loki': None}, True) {'clearnet': 'url', 'tor': 'onion', 'i2p': 'i2p', 'loki': None}, True)
def teddit(): def teddit():
fetchJsonList('teddit', 'Teddit', 'https://codeberg.org/teddit/teddit/raw/branch/main/instances.json', fetchJsonList('teddit', 'https://codeberg.org/teddit/teddit/raw/branch/main/instances.json',
{'clearnet': 'url', 'tor': 'onion', 'i2p': 'i2p', 'loki': None}, False) {'clearnet': 'url', 'tor': 'onion', 'i2p': 'i2p', 'loki': None}, False)
def scribe(): def scribe():
fetchJsonList('scribe', 'Scribe', fetchJsonList(
'https://git.sr.ht/~edwardloveall/scribe/blob/main/docs/instances.json', None, False) 'scribe', 'https://git.sr.ht/~edwardloveall/scribe/blob/main/docs/instances.json', None, False)
def quetre(): def quetre():
fetchRegexList('quetre', 'Quetre', 'https://raw.githubusercontent.com/zyachel/quetre/main/README.md', fetchRegexList('quetre', 'https://raw.githubusercontent.com/zyachel/quetre/main/README.md',
r"\| \[.*\]\(([-a-zA-Z0-9@:%_\+.~#?&//=]{2,}\.[a-z0-9]{2,}\b(?:\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?)\)*\|*[A-Z]{0,}.*\|.*\|") r"\| \[.*\]\(([-a-zA-Z0-9@:%_\+.~#?&//=]{2,}\.[a-z0-9]{2,}\b(?:\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?)\)*\|*[A-Z]{0,}.*\|.*\|")
def libremdb(): def libremdb():
fetchRegexList('libremdb', 'libremdb', 'https://raw.githubusercontent.com/zyachel/libremdb/main/README.md', fetchRegexList('libremdb', 'https://raw.githubusercontent.com/zyachel/libremdb/main/README.md',
r"\| \[.*\]\(([-a-zA-Z0-9@:%_\+.~#?&//=]{2,}\.[a-z0-9]{2,}\b(?:\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?)\)*\|*[A-Z]{0,}.*\|.*\|") r"\| \[.*\]\(([-a-zA-Z0-9@:%_\+.~#?&//=]{2,}\.[a-z0-9]{2,}\b(?:\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?)\)*\|*[A-Z]{0,}.*\|.*\|")
def simplytranslate(): def simplytranslate():
fetchTextList('simplyTranslate', 'SimplyTranslate', {'clearnet': 'https://simple-web.org/instances/simplytranslate', 'tor': 'https://simple-web.org/instances/simplytranslate_onion', fetchTextList('simplyTranslate', {'clearnet': 'https://simple-web.org/instances/simplytranslate', 'tor': 'https://simple-web.org/instances/simplytranslate_onion',
'i2p': 'https://simple-web.org/instances/simplytranslate_i2p', 'loki': 'https://simple-web.org/instances/simplytranslate_loki'}, {'clearnet': 'https://', 'tor': 'http://', 'i2p': 'http://', 'loki': 'http://'}) 'i2p': 'https://simple-web.org/instances/simplytranslate_i2p', 'loki': 'https://simple-web.org/instances/simplytranslate_loki'}, {'clearnet': 'https://', 'tor': 'http://', 'i2p': 'http://', 'loki': 'http://'})
def linvgatranslate(): def linvgatranslate():
fetchJsonList('lingva', 'LingvaTranslate', fetchJsonList(
'https://raw.githubusercontent.com/TheDavidDelta/lingva-translate/main/instances.json', None, False) 'lingva', 'https://raw.githubusercontent.com/TheDavidDelta/lingva-translate/main/instances.json', None, False)
def searx_searxng(): def searx_searxng():
@ -371,63 +372,78 @@ def searx_searxng():
def whoogle(): def whoogle():
fetchRegexList('whoogle', 'Whoogle', 'https://raw.githubusercontent.com/benbusby/whoogle-search/main/README.md', fetchRegexList('whoogle', 'https://raw.githubusercontent.com/benbusby/whoogle-search/main/README.md',
r"\| \[https?:\/{2}(?:[^\s\/]+\.)*(?:[^\s\/]+\.)+[a-zA-Z0-9]+\]\((https?:\/{2}(?:[^\s\/]+\.)*(?:[^\s\/]+\.)+[a-zA-Z0-9]+)\/?\) \| ") r"\| \[https?:\/{2}(?:[^\s\/]+\.)*(?:[^\s\/]+\.)+[a-zA-Z0-9]+\]\((https?:\/{2}(?:[^\s\/]+\.)*(?:[^\s\/]+\.)+[a-zA-Z0-9]+)\/?\) \| ")
def librex(): def librex():
fetchJsonList('librex', 'LibreX', 'https://raw.githubusercontent.com/hnhx/librex/main/instances.json', fetchJsonList('librex', 'https://raw.githubusercontent.com/hnhx/librex/main/instances.json',
{'clearnet': 'clearnet', 'tor': 'tor', 'i2p': 'i2p', 'loki': None}, True) {'clearnet': 'clearnet', 'tor': 'tor', 'i2p': 'i2p', 'loki': None}, True)
def rimgo(): def rimgo():
fetchJsonList('rimgo', 'rimgo', 'https://codeberg.org/video-prize-ranch/rimgo/raw/branch/main/instances.json', fetchJsonList('rimgo', 'https://codeberg.org/video-prize-ranch/rimgo/raw/branch/main/instances.json',
{'clearnet': 'url', 'tor': 'onion', 'i2p': 'i2p', 'loki': None}, False) {'clearnet': 'url', 'tor': 'onion', 'i2p': 'i2p', 'loki': None}, False)
def librarian(): def librarian():
fetchJsonList('librarian', 'Librarian', fetchJsonList(
'https://codeberg.org/librarian/librarian/raw/branch/main/instances.json', 'url', True) 'librarian', 'https://codeberg.org/librarian/librarian/raw/branch/main/instances.json', 'url', True)
def beatbump(): def beatbump():
fetchFromFile('beatbump', 'Beatbump') fetchFromFile('beatbump')
def hyperpipe(): def hyperpipe():
fetchJsonList('hyperpipe', 'Hyperpipe', fetchJsonList(
'https://codeberg.org/Hyperpipe/pages/raw/branch/main/api/frontend.json', 'url', False) 'hyperpipe', 'https://codeberg.org/Hyperpipe/pages/raw/branch/main/api/frontend.json', 'url', False)
def facil(): def facil():
fetchFromFile('facil', 'FacilMap') fetchFromFile('facil')
def osm(): def osm():
fetchFromFile('osm', 'OpenStreetMap') fetchFromFile('osm')
def libreTranslate(): def libreTranslate():
fetchRegexList('libreTranslate', 'LibreTranslate', 'https://raw.githubusercontent.com/LibreTranslate/LibreTranslate/main/README.md', fetchRegexList('libreTranslate', 'https://raw.githubusercontent.com/LibreTranslate/LibreTranslate/main/README.md',
r"\[(?:[^\s\/]+\.)+[a-zA-Z0-9]+\]\((https?:\/{2}(?:[^\s\/]+\.)+[a-zA-Z0-9]+)\/?\)\|") r"\[(?:[^\s\/]+\.)+[a-zA-Z0-9]+\]\((https?:\/{2}(?:[^\s\/]+\.)+[a-zA-Z0-9]+)\/?\)\|")
def breezeWiki(): def breezeWiki():
fetchJsonList('breezeWiki', 'BreezeWiki', fetchJsonList(
'https://docs.breezewiki.com/files/instances.json', 'instance', False) 'breezeWiki', 'https://docs.breezewiki.com/files/instances.json', 'instance', False)
def privateBin(): def privateBin():
fetchJsonList('privateBin', 'PrivateBin', fetchJsonList('privateBin', 'https://privatebin.info/directory/api?top=100&https_redirect=true&min_rating=A&csp_header=true&min_uptime=100&attachments=true', 'url', False)
'https://privatebin.info/directory/api?top=100&https_redirect=true&min_rating=A&csp_header=true&min_uptime=100&attachments=true', 'url', False)
def neuters(): def neuters():
fetchFromFile('neuters', 'Neuters') fetchFromFile('neuters')
def libMedium():
fetchRegexList('libMedium', 'https://raw.githubusercontent.com/realaravinth/libmedium/master/README.md',
r"\| (https?:\/{2}(?:[^\s\/]+\.)+[a-zA-Z0-9]+)\/? +\|")
def dumb():
fetchRegexList('dumb', 'https://raw.githubusercontent.com/rramiachraf/dumb/main/README.md',
r"\| <(https?:\/{2}(?:[^\s\/]+\.)+[a-zA-Z0-9]+)\/?> +\|")
def ruralDictionary(): def ruralDictionary():
fetchJsonList('ruralDictionary', 'Rural Dictionary', 'https://codeberg.org/zortazert/rural-dictionary/raw/branch/master/instances.json', 'clearnet', False) fetchJsonList('ruralDictionary',
'https://codeberg.org/zortazert/rural-dictionary/raw/branch/master/instances.json', 'clearnet', False)
def anonymousOverflow():
fetchRegexList('anonymousOverflow', 'https://raw.githubusercontent.com/httpjamesm/AnonymousOverflow/main/README.md',
r"\| \[(?:[^\s\/]+\.)+[a-zA-Z0-9]+\]\((https?:\/{2}(?:[^\s\/]+\.)+[a-zA-Z0-9]+)\/?\) +\|")
def isValid(url): # This code is contributed by avanitrachhadiya2155 def isValid(url): # This code is contributed by avanitrachhadiya2155
@ -466,6 +482,9 @@ breezeWiki()
# privateBin() # privateBin()
neuters() neuters()
ruralDictionary() ruralDictionary()
libMedium()
dumb()
anonymousOverflow()
mightyList = filterLastSlash(mightyList) mightyList = filterLastSlash(mightyList)
mightyList = idnaEncode(mightyList) mightyList = idnaEncode(mightyList)