diff --git a/servers.json b/servers.json new file mode 100644 index 0000000..336dd77 --- /dev/null +++ b/servers.json @@ -0,0 +1,1515 @@ +[ + { + "name": "0wnz.at", + "domain": "0wnz.at", + "info": "https://0wnz.at", + "jurisdiction": "Austria", + "tos": null, + "privacy": null, + "open": true, + "remarks": "Personal", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://im.0wnz.at/element-web/", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": false, + "email": true + }, + { + "name": "4d2.org", + "domain": "matrix.4d2.org", + "info": "https://4d2.org", + "jurisdiction": "US", + "tos": null, + "privacy": null, + "open": true, + "remarks": "Left-wing", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://element.4d2.org", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": true, + "email": true + }, + { + "name": "archaeo.social", + "domain": "matrix.archaeo.social", + "info": "https://archaeo.social", + "jurisdiction": "Switzerland (Germany)", + "tos": "https://archaeo.social/about", + "privacy": null, + "open": true, + "remarks": "Archaeology-oriented", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://chat.archaeo.social/", + "software": "Synapse", + "version": "1.86.0", + "recaptcha": true, + "email": true + }, + { + "name": "archoslinux.cz", + "domain": "matrix.archoslinux.cz:443", + "info": "https://mastodon.arch-linux.cz/@archoslinuxcz/108264768051310006", + "jurisdiction": "Czech Republic (Germany)", + "tos": null, + "privacy": null, + "open": true, + "remarks": "In Czech; accessory", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://element.archoslinux.cz/", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": true, + "email": true + }, + { + "name": "aria-net.org", + "domain": "aria.im", + "info": "https://aria-net.org/SitePages/Portal/HomeServer.aspx", + "jurisdiction": "Italy?", + "tos": "https://aria-net.org/SitePages/Portal/ToS.aspx", + "privacy": "https://aria-net.org/SitePages/Portal/ToS.aspx", + "open": true, + "remarks": "", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://aria.im/", + "software": "Archon", + "version": "1.90.0", + "recaptcha": true, + "email": true + }, + { + "name": "bachgau.social", + "domain": "matrix.bachgau.social", + "info": "https://www.bachgau.social/unsere-dienste/matrix/", + "jurisdiction": "Germany", + "tos": "https://mastodon.bachgau.social/about", + "privacy": "https://www.bachgau.social/datenschutzerklaerung-fuer-den-matrix-server/", + "open": true, + "remarks": "In German; regional", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://element.bachgau.social/", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": false, + "email": true + }, + { + "name": "badstuebner.biz", + "domain": "matrix.badstuebner.biz", + "info": "https://badstuebner.biz", + "jurisdiction": "Germany", + "tos": null, + "privacy": "https://badstuebner.biz/impressum.php", + "open": true, + "remarks": "In German; personal", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://element.badstuebner.biz/", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": true, + "email": true + }, + { + "name": "bark.lgbt", + "domain": "synapse.bark.lgbt", + "info": "https://bark.lgbt", + "jurisdiction": "Netherlands", + "tos": "https://bark.lgbt/about", + "privacy": null, + "open": true, + "remarks": "Furry-oriented", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://chat.bark.lgbt", + "software": "Synapse", + "version": "1.89.0", + "recaptcha": false, + "email": true + }, + { + "name": "buyvm.net", + "domain": "buyvm.chat", + "info": "https://buyvm.net/beware-the-moshbear/", + "jurisdiction": "US", + "tos": null, + "privacy": null, + "open": true, + "remarks": "Hosting provider; accessory", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://chat.buyvm.net/element/", + "software": "Synapse", + "version": "1.88.0", + "recaptcha": true, + "email": true + }, + { + "name": "cat.casa", + "domain": "matrix.cat.casa", + "info": "https://cat.casa/", + "jurisdiction": "Germany", + "tos": "https://cat.casa/rules", + "privacy": "https://cat.casa/privacy", + "open": true, + "remarks": "General host", + "antifeature": "Residential", + "reg_method": "In-house Element", + "reg_link": "https://chat.cat.casa/", + "software": "Synapse", + "version": "1.89.0", + "recaptcha": false, + "email": false + }, + { + "name": "catgirl.cloud", + "domain": "matrix.catgirl.cloud", + "info": "https://catgirl.cloud", + "jurisdiction": "Germany", + "tos": "https://catgirl.cloud/#rules", + "privacy": "https://catgirl.cloud/#privacy", + "open": true, + "remarks": "General host", + "antifeature": null, + "reg_method": "Form", + "reg_link": "https://registration.matrix.catgirl.cloud/", + "software": "Synapse", + "version": "1.89.0", + "recaptcha": false, + "email": false + }, + { + "name": "chagai.website", + "domain": "mx.chagai.website", + "info": "https://chagai.website", + "jurisdiction": "Switzerland", + "tos": null, + "privacy": null, + "open": true, + "remarks": "Personal", + "antifeature": "Residential", + "reg_method": "In-house Element", + "reg_link": "https://element.chagai.website/", + "software": "Synapse", + "version": "1.78.0", + "recaptcha": false, + "email": true + }, + { + "name": "chatcloud.net", + "domain": "matrix.chatcloud.net", + "info": "https://chatcloud.net", + "jurisdiction": "Austria (Germany)", + "tos": "https://www.chatcloud.net/terms-of-use/", + "privacy": "https://www.chatcloud.net/privacy/", + "open": true, + "remarks": "Relationship-oriented?", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://talk.chatcloud.net/", + "software": "Synapse", + "version": "1.79.0", + "recaptcha": true, + "email": true + }, + { + "name": "chatwave.org", + "domain": "matrix.chatwave.org", + "info": "https://yatrix.org", + "jurisdiction": "Germany", + "tos": "https://yatrix.org/nutzungsbedingungen/", + "privacy": "https://yatrix.org/impressum/", + "open": true, + "remarks": "In German; operated by yatrix.org", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://element.chatwave.org/", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": false, + "email": true + }, + { + "name": "chrrreeeeesss.com", + "domain": "chrrreeeeesss.com", + "info": "https://chrrreeeeesss.com", + "jurisdiction": "US", + "tos": null, + "privacy": null, + "open": true, + "remarks": "Personal", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://chrrreeeeesss.com/element", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": true, + "email": true + }, + { + "name": "comm.cx", + "domain": "matrix-client.comm.cx", + "info": "https://comm.cx", + "jurisdiction": "Japan", + "tos": null, + "privacy": null, + "open": true, + "remarks": "", + "antifeature": "Uses Cloudflare", + "reg_method": null, + "reg_link": null, + "software": "Synapse", + "version": "1.90.0", + "recaptcha": true, + "email": true + }, + { + "name": "community.rs", + "domain": "matrix.community.rs", + "info": "https://community.rs", + "jurisdiction": "US", + "tos": null, + "privacy": null, + "open": true, + "remarks": "Rust-oriented", + "antifeature": "Uses Cloudflare", + "reg_method": "In-house Element", + "reg_link": "https://element.community.rs/", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": false, + "email": false + }, + { + "name": "converser.eu", + "domain": "converser.eu", + "info": "https://converser.eu", + "jurisdiction": "France", + "tos": null, + "privacy": null, + "open": true, + "remarks": "In French", + "antifeature": null, + "reg_method": null, + "reg_link": null, + "software": "Synapse", + "version": "1.78.0", + "recaptcha": false, + "email": true + }, + { + "name": "cyberfurz.chat", + "domain": "matrix.cyberfurz.chat", + "info": "https://cyberfurz.org/services/matrix", + "jurisdiction": "US", + "tos": "https://wiki.cyberfurz.org/chat:start", + "privacy": null, + "open": true, + "remarks": "Furry-oriented", + "antifeature": null, + "reg_method": null, + "reg_link": null, + "software": "Synapse", + "version": "1.90.0", + "recaptcha": false, + "email": true + }, + { + "name": "data.haus", + "domain": "matrix.data.haus", + "info": "https://data.haus", + "jurisdiction": "Germany", + "tos": null, + "privacy": "https://data.haus/tos.html", + "open": true, + "remarks": "General host", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://chat.data.haus/", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": false, + "email": true + }, + { + "name": "dieandalusier.net", + "domain": "matrix.dieandalusier.net", + "info": "https://www.twitch.tv/dieandalusier/about", + "jurisdiction": "Germany/Spain", + "tos": null, + "privacy": null, + "open": true, + "remarks": "In German; accessory", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://element.dieandalusier.net", + "software": "Synapse", + "version": "1.70.1", + "recaptcha": true, + "email": true + }, + { + "name": "duesen.chat", + "domain": "matrix.duesen.chat", + "info": "https://yatrix.org", + "jurisdiction": "Germany", + "tos": "https://yatrix.org/nutzungsbedingungen/", + "privacy": "https://yatrix.org/impressum/", + "open": true, + "remarks": "In German; operated by yatrix.org", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://element.duesen.chat/", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": false, + "email": true + }, + { + "name": "envs.net", + "domain": "matrix.envs.net", + "info": "https://matrix-help.envs.net/", + "jurisdiction": "Germany", + "tos": "https://envs.net/terms-of-service", + "privacy": "https://envs.net/privacy-policy/", + "open": true, + "remarks": "General host", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://element.envs.net/", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": true, + "email": true + }, + { + "name": "exarius.org", + "domain": "exarius.org", + "info": "https://exarius.org/docs/services/exatrix/", + "jurisdiction": "France", + "tos": null, + "privacy": null, + "open": true, + "remarks": "In French; tech collective", + "antifeature": null, + "reg_method": null, + "reg_link": null, + "software": "Synapse", + "version": "1.88.0", + "recaptcha": false, + "email": true + }, + { + "name": "filik.eu", + "domain": "chat.filik.eu:443", + "info": "https://filik.eu", + "jurisdiction": "Czech Republic", + "tos": null, + "privacy": "https://filik.eu/policy.html", + "open": true, + "remarks": "", + "antifeature": null, + "reg_method": "SSO", + "reg_link": "https://sso.filik.eu/realms/filikrealm/login-actions/registration?client_id=synapse&tab_id=Z_dopcjgOZk", + "software": "Synapse", + "version": "1.89.0", + "recaptcha": false, + "email": false + }, + { + "name": "flieger.chat", + "domain": "matrix.flieger.chat", + "info": "https://yatrix.org", + "jurisdiction": "Germany", + "tos": "https://yatrix.org/nutzungsbedingungen/", + "privacy": "https://yatrix.org/impressum/", + "open": true, + "remarks": "In German; operated by yatrix.org", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://element.flieger.chat/", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": false, + "email": true + }, + { + "name": "frei.chat", + "domain": "matrix.frei.chat", + "info": "https://frei.chat", + "jurisdiction": "Germany (Finland)", + "tos": "https://frei.chat/termsofuse/", + "privacy": "https://frei.chat/privacypolicy/", + "open": true, + "remarks": "", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://element.frei.chat/", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": true, + "email": true + }, + { + "name": "freiburg.social", + "domain": "matrix.freiburg.social", + "info": "https://wir.freiburg.social/angebote/matrix/", + "jurisdiction": "Germany", + "tos": "https://freiburg.social/terms", + "privacy": "https://wir.freiburg.social/datenschutz-matrix/", + "open": true, + "remarks": "In German; regional tech collective", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://element.freiburg.social/", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": false, + "email": true + }, + { + "name": "g24.at", + "domain": "g24.at", + "info": "https://g24.at", + "jurisdiction": "Austria", + "tos": null, + "privacy": null, + "open": true, + "remarks": "In German; regional (Graz)", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://g24.at", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": false, + "email": false + }, + { + "name": "gemeinsam.jetzt", + "domain": "matrix.gemeinsam.jetzt", + "info": "https://gemeinsam.jetzt/", + "jurisdiction": "Austria", + "tos": null, + "privacy": "https://matrix.gemeinsam.jetzt/_matrix/consent?v=1.0", + "open": true, + "remarks": "In German; left-wing", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://element.gemeinsam.jetzt/", + "software": "Synapse", + "version": "1.89.0", + "recaptcha": false, + "email": true + }, + { + "name": "ggc-project.de", + "domain": "ggc-project.de", + "info": "https://www.ggc-project.de/en/index.html", + "jurisdiction": "Germany", + "tos": "https://www.ggc-project.de/en/terms.html", + "privacy": "https://www.ggc-project.de/datenschutz.html", + "open": true, + "remarks": "General host", + "antifeature": null, + "reg_method": "Form", + "reg_link": "https://www.ggc-project.de/en/matrix/register/form.php", + "software": "Synapse", + "version": "1.85.2", + "recaptcha": false, + "email": false + }, + { + "name": "glasgow.social", + "domain": "matrix.glasgow.social", + "info": "https://opensource.glasgow.social/matrix", + "jurisdiction": "UK", + "tos": null, + "privacy": null, + "open": true, + "remarks": "Regional tech collective", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://matrix.glasgow.social/", + "software": "Synapse", + "version": "1.86.0", + "recaptcha": false, + "email": true + }, + { + "name": "gnulinux.club", + "domain": "matrix.gnulinux.club", + "info": "https://gnulinux.social", + "jurisdiction": "US", + "tos": "https://gnulinux.social/about", + "privacy": null, + "open": true, + "remarks": "FOSS-oriented", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://element.gnulinux.club/", + "software": "Synapse", + "version": "1.89.0", + "recaptcha": true, + "email": true + }, + { + "name": "grin.hu", + "domain": "matrix.grin.hu", + "info": "https://matrix.grin.hu", + "jurisdiction": "Hungary", + "tos": null, + "privacy": null, + "open": true, + "remarks": "Personal", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://riot.grin.hu/", + "software": "Synapse", + "version": "1.78.0", + "recaptcha": true, + "email": true + }, + { + "name": "group.lt", + "domain": "matrix.group.lt", + "info": "https://group.lt", + "jurisdiction": "Lithuania?", + "tos": null, + "privacy": null, + "open": true, + "remarks": "", + "antifeature": "Uses Cloudflare", + "reg_method": "In-house Cinny", + "reg_link": "https://chat.group.lt/", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": true, + "email": true + }, + { + "name": "hackliberty.org", + "domain": "hackliberty.org", + "info": "https://hackliberty.org", + "jurisdiction": "Iceland?", + "tos": "https://git.hackliberty.org/hackliberty.org/hackliberty.org-legal/src/branch/main/code-of-conduct.md", + "privacy": "https://git.hackliberty.org/hackliberty.org/hackliberty.org-legal/src/branch/main/privacy-policy.md", + "open": true, + "remarks": "Libertarian; tech collective", + "antifeature": null, + "reg_method": "Form", + "reg_link": "https://hackliberty.org/register", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": false, + "email": false + }, + { + "name": "hashi.sbs", + "domain": "chatserver.hashi.sbs", + "info": "https://hashi.sbs", + "jurisdiction": "? (Germany)", + "tos": "https://hashi.icu/@MomentQYC/pages/tos", + "privacy": null, + "open": true, + "remarks": "In Chinese", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://hashi.sbs", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": false, + "email": true + }, + { + "name": "hot-chilli.im", + "domain": "hot-chilli.im", + "info": "https://jabber.hot-chilli.net/2022/04/26/hot-chilli-matrix-server/", + "jurisdiction": "Germany", + "tos": null, + "privacy": null, + "open": true, + "remarks": "In German; general host", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://element.hot-chilli.im/", + "software": "Synapse", + "version": "1.89.0", + "recaptcha": true, + "email": true + }, + { + "name": "jonasled.de", + "domain": "matrix.jonasled.de", + "info": "https://jonasled.de", + "jurisdiction": "Germany", + "tos": null, + "privacy": "https://jonasled.de/privacy-policy", + "open": true, + "remarks": "In German; personal", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://chat.jonasled.de/", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": true, + "email": true + }, + { + "name": "kitsunes.club", + "domain": "kitsunes.chat", + "info": "https://kitsunes.club", + "jurisdiction": "Canada", + "tos": "https://kitsunes.club/_matrix/consent", + "privacy": "https://kitsunes.club/_matrix/consent", + "open": true, + "remarks": "", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://kitsunes.chat/", + "software": "Synapse", + "version": "1.90.0rc1", + "recaptcha": true, + "email": true + }, + { + "name": "libcom.de", + "domain": "matrix.libcom.de:443", + "info": "https://libcom.de", + "jurisdiction": "Germany", + "tos": null, + "privacy": null, + "open": true, + "remarks": "In German", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://element.libcom.de", + "software": "Synapse", + "version": "1.89.0", + "recaptcha": false, + "email": true + }, + { + "name": "llamarific.social", + "domain": "matrix.llamarific.social", + "info": "https://llamarific.social/matrix.html", + "jurisdiction": "US", + "tos": null, + "privacy": null, + "open": true, + "remarks": "", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://element.llamarific.social/", + "software": "Synapse", + "version": "1.77.0", + "recaptcha": false, + "email": true + }, + { + "name": "magdeburg.jetzt", + "domain": "chat.magdeburg.jetzt:443", + "info": "https://magdeburg.jetzt/", + "jurisdiction": "Germany", + "tos": "https://softwerke.md/nutzungsbestimmungen/", + "privacy": "https://softwerke.md/datenschutz/", + "open": true, + "remarks": "In German; regional tech collective", + "antifeature": null, + "reg_method": "SSO", + "reg_link": "https://account.magdeburg.jetzt/", + "software": "Synapse", + "version": "1.89.0", + "recaptcha": false, + "email": false + }, + { + "name": "mailstation.de", + "domain": "mailstation.de", + "info": "https://turing.mailstation.de/?page_id=1375", + "jurisdiction": "Germany", + "tos": "https://turing.mailstation.de/terms-and-conditions/", + "privacy": null, + "open": true, + "remarks": "Personal", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://element.mailstation.de/", + "software": "Synapse", + "version": "1.89.0", + "recaptcha": true, + "email": true + }, + { + "name": "matrix.im", + "domain": "matrix.im", + "info": "https://matrix.im", + "jurisdiction": "Germany", + "tos": null, + "privacy": "https://www.matrix.im/datenschutz.html", + "open": true, + "remarks": "In German", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://element.matrix.im/", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": true, + "email": true + }, + { + "name": "monero.social", + "domain": "matrix.monero.social", + "info": "https://forum.monero.space/d/83-join-the-monero-core-team-matrix-server", + "jurisdiction": "US", + "tos": "https://www.getmonero.org/legal/", + "privacy": null, + "open": true, + "remarks": "18+; accessory; crypto", + "antifeature": null, + "reg_method": null, + "reg_link": null, + "software": "Synapse", + "version": "1.84.1", + "recaptcha": false, + "email": true + }, + { + "name": "nitro.chat", + "domain": "nitro.chat", + "info": "https://nitro.chat", + "jurisdiction": "Germany", + "tos": null, + "privacy": "https://www.nitrokey.com/data-privacy-policy", + "open": true, + "remarks": "", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://app.nitro.chat/", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": true, + "email": true + }, + { + "name": "noevil.pl", + "domain": "matrix.noevil.pl", + "info": "https://noevil.pl/matrix", + "jurisdiction": "Poland", + "tos": "https://noevil.pl/terms-of-service/", + "privacy": "https://noevil.pl/matrix/privacy/", + "open": true, + "remarks": "In Polish", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://chat.noevil.pl/", + "software": "Synapse", + "version": "1.89.0", + "recaptcha": false, + "email": true + }, + { + "name": "nope.chat", + "domain": "nope.chat", + "info": "https://nope.chat", + "jurisdiction": "Germany", + "tos": null, + "privacy": null, + "open": true, + "remarks": "In German", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://element.nope.chat", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": true, + "email": true + }, + { + "name": "norge.chat", + "domain": "matrix.norge.chat", + "info": "https://norge.chat", + "jurisdiction": "Norway (Finland)", + "tos": "https://norge.chat/regler.html", + "privacy": "https://norge.chat/personvern.html", + "open": true, + "remarks": "In Norwegian; general host", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://element.norge.chat", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": true, + "email": true + }, + { + "name": "obco.pro", + "domain": "hs.obco.pro", + "info": "https://obco.pro", + "jurisdiction": "Germany", + "tos": null, + "privacy": null, + "open": true, + "remarks": "In German", + "antifeature": "Residential", + "reg_method": "In-house Element", + "reg_link": "https://chat.obco.pro/", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": true, + "email": true + }, + { + "name": "oblak.be", + "domain": "matrix.oblak.be:443", + "info": "https://oblak.be/apps/chat/", + "jurisdiction": "Germany?", + "tos": null, + "privacy": null, + "open": true, + "remarks": "", + "antifeature": null, + "reg_method": "SSO", + "reg_link": "https://oblak.be/accounts/login/?next=/profile/", + "software": "Synapse", + "version": "1.70.0", + "recaptcha": false, + "email": false + }, + { + "name": "oikei.net", + "domain": "oikei.net", + "info": "https://oikei.net", + "jurisdiction": "Slovenia (Germany)", + "tos": "https://oikei.net/pages/tos.html", + "privacy": "https://oikei.net/pages/privacy.html", + "open": true, + "remarks": "", + "antifeature": null, + "reg_method": null, + "reg_link": null, + "software": "Synapse", + "version": "1.76.0", + "recaptcha": true, + "email": false + }, + { + "name": "ombreport.info", + "domain": "matrix.ombreport.info", + "info": "http://ombreport.info", + "jurisdiction": "France?", + "tos": null, + "privacy": null, + "open": true, + "remarks": "In French", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://riot.ombreport.info/", + "software": "Synapse", + "version": "1.89.0", + "recaptcha": true, + "email": false + }, + { + "name": "pcriot.org", + "domain": "pcriot.org", + "info": "https://pcriot.org", + "jurisdiction": "Germany", + "tos": null, + "privacy": null, + "open": true, + "remarks": "Personal", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://chat.pcriot.org/", + "software": "Synapse", + "version": "1.87.0", + "recaptcha": true, + "email": true + }, + { + "name": "perthchat.org", + "domain": "matrix.perthchat.org", + "info": "https://perthchat.org", + "jurisdiction": "Australia", + "tos": "https://gitlab.com/perthchat.org/legal/-/blob/main/terms-of-service.md", + "privacy": "https://gitlab.com/perthchat.org/legal/-/blob/main/privacy-policy.md", + "open": true, + "remarks": "Regional", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://client.perthchat.org/", + "software": "Synapse", + "version": "1.89.0", + "recaptcha": false, + "email": true + }, + { + "name": "plus.st", + "domain": "matrix.plus.st", + "info": "https://plus.st/", + "jurisdiction": "US", + "tos": "https://plus.st/terms.html", + "privacy": null, + "open": true, + "remarks": "General host", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://element.plus.st/", + "software": "Synapse", + "version": "1.90.0rc1", + "recaptcha": true, + "email": true + }, + { + "name": "possum.city", + "domain": "possum.city", + "info": "https://possum.city", + "jurisdiction": "Sweden", + "tos": "https://about.possum.city/rules", + "privacy": null, + "open": true, + "remarks": "Left-wing", + "antifeature": null, + "reg_method": "In-house SchildiChat", + "reg_link": "https://matrix.possum.city/", + "software": "Conduit", + "version": "0.5.0", + "recaptcha": false, + "email": false + }, + { + "name": "pragma-messenger.ch", + "domain": "pragma-messenger.ch", + "info": "https://pragma-solution.com/de/Produkte/messenger/", + "jurisdiction": "Switzerland", + "tos": "https://pragma-solution.com/de/Produkte/messenger/Matrix-Nutzungsbedingungen", + "privacy": "https://pragma-solution.com/de/Produkte/messenger/Matrix-Datenschutz", + "open": true, + "remarks": "In German; hosting provider", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://chat.pragma-messenger.ch/", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": true, + "email": true + }, + { + "name": "projectsegfau.lt", + "domain": "matrix.projectsegfau.lt:443", + "info": "https://projectsegfau.lt/instances", + "jurisdiction": "France", + "tos": "https://projectsegfau.lt/legal/tos", + "privacy": "https://projectsegfau.lt/legal/privacy-policy", + "open": true, + "remarks": "General host", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://chat.projectsegfau.lt/", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": false, + "email": false + }, + { + "name": "pub.solar", + "domain": "matrix.pub.solar", + "info": "https://pub.solar", + "jurisdiction": "Germany", + "tos": null, + "privacy": "https://pub.solar/privacy", + "open": true, + "remarks": "Tech collective", + "antifeature": null, + "reg_method": "SSO", + "reg_link": "https://auth.pub.solar/realms/pub.solar/account", + "software": "Synapse", + "version": "1.88.0", + "recaptcha": false, + "email": false + }, + { + "name": "radiowarnerd.org", + "domain": "radiowarnerd.org", + "info": "https://dokuwiki.radiowarnerd.org/matrixaccountcreation", + "jurisdiction": "US", + "tos": null, + "privacy": null, + "open": true, + "remarks": "Accessory", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://element.radiowarnerd.org/", + "software": "Synapse", + "version": "1.88.0", + "recaptcha": true, + "email": true + }, + { + "name": "riotchat.de", + "domain": "riotchat.de", + "info": "https://riotchat.de/legal/help.html", + "jurisdiction": "Germany", + "tos": "https://riotchat.de/legal/terms.html", + "privacy": "https://riotchat.de/legal/privacy.html", + "open": true, + "remarks": "In German; operated by ggc-project.de", + "antifeature": null, + "reg_method": "Form", + "reg_link": "https://riotchat.de/register/form.php", + "software": "Synapse", + "version": "1.85.2", + "recaptcha": false, + "email": false + }, + { + "name": "socialnetwork24.com", + "domain": "socialnetwork24.com", + "info": "https://blog.unixweb.de/telegram-abgeschaltet-alternative-matrix/", + "jurisdiction": "Germany", + "tos": null, + "privacy": null, + "open": true, + "remarks": "In German", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://chat.socialnetwork24.com", + "software": "Synapse", + "version": "1.88.0", + "recaptcha": false, + "email": true + }, + { + "name": "studichat.de", + "domain": "matrix.studichat.de", + "info": "https://wiki.stuvus.uni-stuttgart.de/display/ITKB/Matrix+Messenger", + "jurisdiction": "Germany", + "tos": null, + "privacy": null, + "open": true, + "remarks": "In German; student-oriented", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://chat.studichat.de/", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": false, + "email": true + }, + { + "name": "synod.im", + "domain": "synod.im", + "info": "https://doc.librechurch.org/Wiki.jsp?page=Matrix#section-Matrix-DieMatrixInstanzSynod.im", + "jurisdiction": "Germany", + "tos": "https://synod.im/_matrix/consent?v=1.0", + "privacy": "https://synod.im/privacy-1.2.html", + "open": true, + "remarks": "In German; Christian", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://web.synod.im/", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": false, + "email": true + }, + { + "name": "tchncs.de", + "domain": "matrix.tchncs.de", + "info": "https://tchncs.de/matrix", + "jurisdiction": "Germany", + "tos": "https://tchncs.de/matrix/tos", + "privacy": "https://tchncs.de/matrix/privacy", + "open": true, + "remarks": "General host", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://chat.tchncs.de/#/register", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": true, + "email": true + }, + { + "name": "techsaviours.org", + "domain": "matrix.techsaviours.org", + "info": "https://techsaviours.org", + "jurisdiction": "Germany", + "tos": "https://techsaviours.org/terms-and-conditions.html", + "privacy": "https://techsaviours.org/privacy-policy.html", + "open": true, + "remarks": "General host", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://chat.techsaviours.org/", + "software": "Synapse", + "version": "1.88.0", + "recaptcha": false, + "email": true + }, + { + "name": "tedomum.net", + "domain": "matrix.tedomum.net", + "info": "https://tedomum.net/service/matrix/", + "jurisdiction": "France", + "tos": "https://tedomum.net/page/cgu/", + "privacy": "https://tedomum.net/page/cgu/", + "open": true, + "remarks": "In French; tech collective", + "antifeature": null, + "reg_method": "SSO", + "reg_link": "https://tedomum.net/documentation/general/account/", + "software": "Synapse", + "version": "1.88.0", + "recaptcha": false, + "email": false + }, + { + "name": "tomesh.net", + "domain": "tomesh.net", + "info": "https://tomesh.net/mesh-services/", + "jurisdiction": "Canada (US)", + "tos": "https://tomesh.net/code-of-conduct/", + "privacy": null, + "open": true, + "remarks": "Accessory", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://chat.tomesh.net/", + "software": "Synapse", + "version": "1.89.0", + "recaptcha": false, + "email": false + }, + { + "name": "ungleich.ch", + "domain": "ungleich.matrix.ungleich.cloud", + "info": "https://ungleich.ch/u/projects/open-chat/", + "jurisdiction": "Switzerland", + "tos": null, + "privacy": "https://ungleich.ch/u/projects/privacy-policy/", + "open": true, + "remarks": "Hosting provider", + "antifeature": null, + "reg_method": "SSO", + "reg_link": "https://account.ungleich.ch/", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": false, + "email": false + }, + { + "name": "unita.online", + "domain": "unita.online", + "info": "https://blog.unita.online/", + "jurisdiction": "Poland (France)", + "tos": null, + "privacy": null, + "open": true, + "remarks": "In Polish", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://matrix.unita.online", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": true, + "email": true + }, + { + "name": "usesarchbtw.lol", + "domain": "usesarchbtw.lol", + "info": "https://usesarchbtw.lol", + "jurisdiction": "Germany", + "tos": "https://usesarchbtw.lol/terms", + "privacy": "https://usesarchbtw.lol/privacy", + "open": true, + "remarks": "General host", + "antifeature": null, + "reg_method": "SSO", + "reg_link": "https://auth.usesarchbtw.lol/", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": false, + "email": false + }, + { + "name": "utwente.io", + "domain": "matrix.snt.utwente.nl", + "info": "https://syscom.utwente.io/info/matrix/homeserver/", + "jurisdiction": "Netherlands", + "tos": "https://syscom.utwente.io/info/matrix/homeserver/#rules", + "privacy": "https://syscom.utwente.io/info/privacy/matrix/", + "open": true, + "remarks": "Regional; student-oriented", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://chat.utwente.io/", + "software": "Synapse", + "version": "1.87.0", + "recaptcha": true, + "email": true + }, + { + "name": "virto.community", + "domain": "matrix.virto.community", + "info": "https://virto.network/", + "jurisdiction": "? (Germany)", + "tos": null, + "privacy": null, + "open": true, + "remarks": "Accessory; crypto", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://element.virto.community/", + "software": "Synapse", + "version": "1.79.0", + "recaptcha": true, + "email": true + }, + { + "name": "waffle.tech", + "domain": "waffle.tech", + "info": "https://waffle.tech/start", + "jurisdiction": "US", + "tos": null, + "privacy": null, + "open": true, + "remarks": "Tech collective", + "antifeature": null, + "reg_method": null, + "reg_link": null, + "software": "Synapse", + "version": "1.85.2", + "recaptcha": true, + "email": true + }, + { + "name": "xmr.se", + "domain": "xmr.se", + "info": "https://xmr.se", + "jurisdiction": "Germany?", + "tos": null, + "privacy": null, + "open": true, + "remarks": "", + "antifeature": null, + "reg_method": null, + "reg_link": null, + "software": "Synapse", + "version": "1.90.0", + "recaptcha": true, + "email": false + }, + { + "name": "yatrix.org", + "domain": "matrix.yatrix.org", + "info": "https://yatrix.org", + "jurisdiction": "Germany", + "tos": "https://yatrix.org/nutzungsbedingungen/", + "privacy": "https://yatrix.org/impressum/", + "open": true, + "remarks": "In German", + "antifeature": null, + "reg_method": "In-house Element", + "reg_link": "https://element.yatrix.org/", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": false, + "email": true + }, + { + "name": "fachschaften.org", + "domain": "matrix.fachschaften.org", + "info": "https://fachschaften.org", + "jurisdiction": "Germany", + "tos": "https://fsinfo.cs.tu-dortmund.de/studis/coc", + "privacy": "https://md.fachschaften.org/_hmxfyc-SZi-fLjyyT2kvw", + "open": false, + "remarks": "In German; student-oriented; requires a German university email address", + "antifeature": null, + "reg_method": "SSO", + "reg_link": "https://account.fachschaften.org/", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": false, + "email": false + }, + { + "name": "pikaviestin.fi", + "domain": "matrix.pikaviestin.fi", + "info": "https://pikaviestin.fi", + "jurisdiction": "Finland", + "tos": null, + "privacy": "https://www.pikaviestin.fi/tietosuojaseloste.pdf", + "open": false, + "remarks": "In Finnish; requires a Finnish email address", + "antifeature": null, + "reg_method": "SSO", + "reg_link": "https://login.pikaviestin.fi/if/flow/matrix-enrollment/", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": false, + "email": false + }, + { + "name": "hyteck.de", + "domain": "synapse.hyteck.de", + "info": "https://hyteck.de/services/", + "jurisdiction": "Germany", + "tos": "https://hyteck.de/services/", + "privacy": null, + "open": false, + "remarks": "In German; personal", + "antifeature": null, + "reg_method": "Contact", + "reg_link": "https://hyteck.de/about/", + "software": "Synapse", + "version": "1.89.0", + "recaptcha": false, + "email": true + }, + { + "name": "libreon.fr", + "domain": "matrix.libreon.fr", + "info": "https://libreon.fr", + "jurisdiction": "France", + "tos": "https://libreon.fr/cgu", + "privacy": "https://libreon.fr/cgu", + "open": false, + "remarks": "In French; tech collective", + "antifeature": null, + "reg_method": "Contact", + "reg_link": "https://libreon.fr/account", + "software": "Synapse", + "version": "1.83.0", + "recaptcha": false, + "email": false + }, + { + "name": "data.coop", + "domain": "matrix.data.coop", + "info": "https://data.coop", + "jurisdiction": "Denmark", + "tos": "https://git.data.coop/data.coop/dokumenter/src/branch/master/Acceptable%20Usage%20Policy.md", + "privacy": null, + "open": false, + "remarks": "In Danish; tech collective", + "antifeature": null, + "reg_method": "Membership", + "reg_link": "https://data.coop/medlem/", + "software": "Synapse", + "version": "1.87.0", + "recaptcha": false, + "email": false + }, + { + "name": "deuxfleurs.fr", + "domain": "im.deuxfleurs.fr", + "info": "https://deuxfleurs.fr", + "jurisdiction": "France", + "tos": null, + "privacy": null, + "open": false, + "remarks": "In French; tech collective", + "antifeature": null, + "reg_method": "Membership", + "reg_link": "https://guide.deuxfleurs.fr/vie_associative/nous-rejoindre/", + "software": "Synapse", + "version": "1.89.0", + "recaptcha": false, + "email": false + }, + { + "name": "fsfe.org", + "domain": "matrix.fsfe.org", + "info": "https://fsfe.org/news/2022/news-20220202-01.html", + "jurisdiction": "Germany", + "tos": "https://fsfe.org/about/codeofconduct", + "privacy": "https://fsfe.org/about/legal/imprint.en.html#id-privacy-policy", + "open": false, + "remarks": "Accessory; advocacy", + "antifeature": null, + "reg_method": "Membership", + "reg_link": "https://my.fsfe.org/donate", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": false, + "email": false + }, + { + "name": "hadoly.fr", + "domain": "matrix.hadoly.fr", + "info": "https://hadoly.fr", + "jurisdiction": "France", + "tos": "https://hadoly.fr/cgu.html", + "privacy": null, + "open": false, + "remarks": "In French; tech collective", + "antifeature": null, + "reg_method": "Membership", + "reg_link": "https://hadoly.fr/#adh%C3%A9rer", + "software": "Synapse", + "version": "1.77.0", + "recaptcha": false, + "email": false + }, + { + "name": "rimfaxe.net", + "domain": "matrix.hingst.net", + "info": "https://rimfaxe.net", + "jurisdiction": "Sweden", + "tos": "https://rimfaxe.net/terms/", + "privacy": "https://rimfaxe.net/privacy/", + "open": false, + "remarks": "In Swedish; freemium", + "antifeature": null, + "reg_method": "Membership", + "reg_link": "https://rimfaxe.net/bli-medlem/", + "software": "Synapse", + "version": "1.90.0", + "recaptcha": false, + "email": false + }, + { + "name": "sans-nuage.fr", + "domain": "sans-nuage.fr", + "info": "https://sans-nuage.fr", + "jurisdiction": "France", + "tos": null, + "privacy": null, + "open": false, + "remarks": "In French; tech collective", + "antifeature": null, + "reg_method": "Membership", + "reg_link": "https://adherents.arn-fai.net/members/register/", + "software": "Synapse", + "version": "1.81.0", + "recaptcha": false, + "email": false + }, + { + "name": "unredacted.org", + "domain": "matrix.unredacted.org", + "info": "https://unredacted.org/services/matrix/", + "jurisdiction": "US (Romania)", + "tos": null, + "privacy": null, + "open": false, + "remarks": "General host", + "antifeature": null, + "reg_method": "Donation", + "reg_link": "https://unredacted.org/services/matrix/", + "software": "Synapse", + "version": "1.89.0", + "recaptcha": false, + "email": false + } +] diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index f926c31..b24fd27 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -601,7 +601,7 @@ dependencies = [ "rustc_version", "toml 0.7.6", "vswhom", - "winreg", + "winreg 0.11.0", ] [[package]] @@ -776,6 +776,12 @@ dependencies = [ "syn 2.0.28", ] +[[package]] +name = "futures-sink" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" + [[package]] name = "futures-task" version = "0.3.28" @@ -1102,6 +1108,25 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "h2" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap 1.9.3", + "slab", + "tokio", + "tokio-util", + "tracing", +] + [[package]] name = "hashbrown" version = "0.12.3" @@ -1166,12 +1191,72 @@ dependencies = [ "itoa 1.0.9", ] +[[package]] +name = "http-body" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +dependencies = [ + "bytes", + "http", + "pin-project-lite", +] + [[package]] name = "http-range" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573" +[[package]] +name = "httparse" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "hyper" +version = "0.14.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa 1.0.9", + "pin-project-lite", + "socket2 0.4.9", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes", + "hyper", + "native-tls", + "tokio", + "tokio-native-tls", +] + [[package]] name = "iana-time-zone" version = "0.1.57" @@ -1291,6 +1376,12 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "ipnet" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" + [[package]] name = "itoa" version = "0.4.8" @@ -1496,6 +1587,12 @@ dependencies = [ "autocfg", ] +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + [[package]] name = "miniz_oxide" version = "0.7.1" @@ -1506,6 +1603,35 @@ dependencies = [ "simd-adler32", ] +[[package]] +name = "mio" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" +dependencies = [ + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.48.0", +] + +[[package]] +name = "native-tls" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +dependencies = [ + "lazy_static", + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + [[package]] name = "ndk" version = "0.6.0" @@ -1550,6 +1676,7 @@ checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" name = "nox" version = "0.0.1" dependencies = [ + "reqwest", "serde", "serde_json", "tauri", @@ -1680,6 +1807,50 @@ dependencies = [ "windows-sys 0.42.0", ] +[[package]] +name = "openssl" +version = "0.10.56" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "729b745ad4a5575dd06a3e1af1414bd330ee561c01b3899eb584baeaa8def17e" +dependencies = [ + "bitflags 1.3.2", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.28", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "866b5f16f90776b9bb8dc1e1802ac6f0513de3a7a7465867bfbc563dc737faac" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + [[package]] name = "overload" version = "0.1.1" @@ -2128,6 +2299,43 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" +[[package]] +name = "reqwest" +version = "0.11.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20b9b67e2ca7dd9e9f9285b759de30ff538aab981abaaf7bc9bd90b84a0126c3" +dependencies = [ + "base64 0.21.2", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "hyper", + "hyper-tls", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "serde", + "serde_json", + "serde_urlencoded", + "tokio", + "tokio-native-tls", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "winreg 0.50.0", +] + [[package]] name = "rustc-demangle" version = "0.1.23" @@ -2183,6 +2391,15 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "schannel" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" +dependencies = [ + "windows-sys 0.48.0", +] + [[package]] name = "scoped-tls" version = "1.0.1" @@ -2195,6 +2412,29 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +[[package]] +name = "security-framework" +version = "2.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "selectors" version = "0.22.0" @@ -2275,6 +2515,18 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa 1.0.9", + "ryu", + "serde", +] + [[package]] name = "serde_with" version = "3.2.0" @@ -2383,6 +2635,26 @@ version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +[[package]] +name = "socket2" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "socket2" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877" +dependencies = [ + "libc", + "windows-sys 0.48.0", +] + [[package]] name = "soup2" version = "0.2.1" @@ -2876,8 +3148,36 @@ checksum = "2d3ce25f50619af8b0aec2eb23deebe84249e19e2ddd393a6e16e3300a6dadfd" dependencies = [ "backtrace", "bytes", + "libc", + "mio", "num_cpus", "pin-project-lite", + "socket2 0.5.3", + "windows-sys 0.48.0", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", + "tracing", ] [[package]] @@ -2923,6 +3223,12 @@ dependencies = [ "winnow", ] +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + [[package]] name = "tracing" version = "0.1.37" @@ -2994,6 +3300,12 @@ dependencies = [ "serde_json", ] +[[package]] +name = "try-lock" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" + [[package]] name = "typenum" version = "1.16.0" @@ -3060,6 +3372,12 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + [[package]] name = "version-compare" version = "0.0.11" @@ -3108,6 +3426,15 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + [[package]] name = "wasi" version = "0.9.0+wasi-snapshot-preview1" @@ -3145,6 +3472,18 @@ dependencies = [ "wasm-bindgen-shared", ] +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + [[package]] name = "wasm-bindgen-macro" version = "0.2.87" @@ -3174,6 +3513,16 @@ version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" +[[package]] +name = "web-sys" +version = "0.3.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + [[package]] name = "webkit2gtk" version = "0.18.2" @@ -3517,6 +3866,16 @@ dependencies = [ "winapi", ] +[[package]] +name = "winreg" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + [[package]] name = "wry" version = "0.24.3" diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 110ca43..679e60a 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -12,8 +12,9 @@ tauri-build = { version = "1.4", features = [] } [dependencies] tauri = { version = "1.4", features = [ "window-maximize", "window-show", "window-unmaximize", "window-close", "window-minimize", "window-hide", "window-start-dragging", "window-unminimize", "shell-open"] } -serde = { version = "1.0", features = [ "derive" ] } +serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" +reqwest = "0.11.19" [features] # this feature is used for production builds or when `devPath` points to the filesystem diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index 523550d..169e04d 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -1,15 +1,12 @@ // Prevents additional console window on Windows in release, DO NOT REMOVE!! #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] -// Learn more about Tauri commands at https://tauri.app/v1/guides/features/command -#[tauri::command] -fn greet(name: &str) -> String { - format!("Hello, {}! You've been greeted from Rust!", name) -} +mod servers; +use servers::*; fn main() { tauri::Builder::default() - .invoke_handler(tauri::generate_handler![greet]) + .invoke_handler(tauri::generate_handler![list_servers]) .run(tauri::generate_context!()) .expect("error while running tauri application"); } diff --git a/src-tauri/src/servers.rs b/src-tauri/src/servers.rs new file mode 100644 index 0000000..f799c1b --- /dev/null +++ b/src-tauri/src/servers.rs @@ -0,0 +1,41 @@ + +use serde::*; + +#[derive(Debug, Serialize, Deserialize, Clone)] +pub struct Server { + name: Option, + domain: Option, + info: Option, + jurisdiction: Option, + tos: Option, + privacy: Option, + open: bool, + remarks: Option, + antifeature: Option, + reg_method: Option, + reg_link: Option, + software: Option, + version: Option, + recaptcha: bool, + email: bool +} + +#[tauri::command] +pub async fn list_servers() -> Result, String> { + let req = reqwest::get("https://joinmatrix.org/servers.json").await; + if req.is_err() { + return Err(req.unwrap_err().to_string()); + } + let req = req.unwrap().text().await; + if req.is_err() { + return Err(req.unwrap_err().to_string()); + } + let req = req.unwrap(); + + let data = serde_json::from_str::>(req.as_str()); + if data.is_err() { + return Err(data.unwrap_err().to_string()); + } + + Ok(data.unwrap()) +} \ No newline at end of file