diff --git a/mastodon/src/main/AndroidManifest.xml b/mastodon/src/main/AndroidManifest.xml
index ecfee8e21..54255565b 100644
--- a/mastodon/src/main/AndroidManifest.xml
+++ b/mastodon/src/main/AndroidManifest.xml
@@ -40,6 +40,22 @@
+
+
+
+
+
+
+
+
diff --git a/mastodon/src/main/assets/blocks.tsv b/mastodon/src/main/assets/blocks.tsv
deleted file mode 100644
index 8b93b9dcf..000000000
--- a/mastodon/src/main/assets/blocks.tsv
+++ /dev/null
@@ -1,89 +0,0 @@
-# lists.d Mastodon Blocklist (c) 2022 Greyhat Academy LICENSED UNDER: CC-BY-NC-SA 4.0
-# https://raw.githubusercontent.com/greyhat-academy/lists.d/main/mastodon.domains.block.list.tsv
-# This list contains domains of toxic mastodon instances
-# Last-Modified: 1672044500
-
-# gab - a neonazi social network
-gab.ai
-gab.com
-gab.protohype.net
-
-# consequence-free speech
-social.unzensiert.to
-freeatlantis.com
-
-# reactionary bigotry and hatespeech against marginalized groups
-poa.st
-freespeechextremist.com
-rdrama.cc
-outpoa.st
-anime.website
-gameliberty.club
-social.byoblu.com
-yggdrasil.social
-smuglo.li
-dogeposting.social
-unsafe.space
-freezepeach.xyz
-
-# + CSAM
-rojogato.com
-
-# antivaxxer shitposting & fearmongering
-shadowsocial.org
-
-# Kiwifarms
-kiwifarms.net
-kiwifarms.cc
-kiwifarms.is
-kiwifarms.pleroma.net
-
-
-# https://mastodon.art/@Curator/109649354849593592
-
-poa.st antisemitic racist homophobic
-nicecrew.digital antisemitic
-beefyboys.win antisemitic racist homophobic harassment
-cawfee.club antisemitic racist homophobic
-comfyboy.club antisemitic racist homophobic
-freespeechextremist.com racist homophobic
-cum.salon racist misogynist
-bae.st racist
-natehiggers.online racist
-rapemeat.solutions misogynist
-rapist.town misogynist
-rapefeminists.network misogynist
-kiwifarms.cc harassment
-noagendasocial.com noagenda
-posting.lolicon.rocks underage
-urchan.org harassment homophobic racist
-ryona.agency harassment
-yggdrasil.social antisemitic homophobic racist
-genderheretics.xyz transphobic
-baraag.net underage
-lolison.top underage
-shota.house underage
-shota.social underage
-aethy.com underage
-taullo.social underage
-childpawn.shop underage
-posting.lolicon.rocks underage
-loli.best underage
-gothloli.club underage
-smuglo.li underage
-youjo.love underage
-pedo.school underage
-lolison.network underage
-freak.university underage
-mirr0r.city underage
-xhais.love underage
-refusal.biz underage
-refusal.llc underage
-mirr0r.city underage
-nnia.space underage
-ignorelist.com malicious
-repl.co malicious
-
-# custom
-
-pawoo.net csam
diff --git a/mastodon/src/main/assets/blocks.txt b/mastodon/src/main/assets/blocks.txt
new file mode 100644
index 000000000..e6af4a505
--- /dev/null
+++ b/mastodon/src/main/assets/blocks.txt
@@ -0,0 +1,171 @@
+13bells.com
+4aem.com
+aethy.com
+anime.website
+annihilation.social
+anon-kenkai.com
+asbestos.cafe
+bae.st
+bajax.us
+banepo.st
+baraag.net
+beefyboys.win
+beepboop.ga
+berserker.town
+bikeshed.party
+boks.moe
+brainsoap.net
+breastmilk.club
+brighteon.social
+cawfee.club
+clew.lol
+clubcyberia.co
+collapsitarian.io
+comfyboy.club
+contrapointsfan.club
+cum.camp
+cum.salon
+cybercriminal.eu
+darknight-coffee.org
+dembased.xyz
+desupost.soy
+detroitriotcity.com
+eatthebugs.social
+eientei.org
+elementality.org
+eveningzoo.club
+firedragonstudios.com
+firefaithfellowship.com
+fluf.club
+foxfam.club
+freak.university
+freeatlantis.com
+freecumextremist.com
+freedomstrike.org
+freesoftwareextremist.com
+freespeech.group
+freespeechextremist.com
+freetalklive.com
+froth.zone
+fulltermprivacy.com
+gameliberty.club
+gearlandia.haus
+genderheretics.xyz
+geofront.rocks
+gleasonator.com
+glee.li
+glindr.org
+goyim.app
+goyslop.cafe
+haeder.net
+handholding.io
+hidamari.apartments
+hitchhiker.social
+hunk.city
+iddqd.social
+intkos.link
+justicewarrior.social
+kawa-kun.com
+kitsunemimi.club
+kiwifarms.cc
+kompost.cz
+kurosawa.moe
+leafposter.club
+leftychan.net
+lewdieheaven.com
+liberdon.com
+ligma.pro
+lizards.live
+lolicon.rocks
+lolison.top
+lovingexpressions.net
+lucasvl.nl
+mahodou.moe
+makemysarcophagus.com
+maladaptive.art
+masochi.st
+mastinator.com
+merovingian.club
+midwaytrades.com
+mirr0r.city
+moa.st
+mouse.services
+mugicha.club
+narrativerry.xyz
+natehiggers.online
+neckbeard.xyz
+needs.vodka
+neenster.org
+nicecrew.digital
+nnia.space
+noagendasocial.com
+noagendasocial.nl
+noagendatube.com
+nobodyhasthe.biz
+nukem.biz
+obo.sh
+onionfarms.org
+outpoa.st
+pawlicker.com
+pawoo.net
+pedo.school
+piazza.today
+pibvt.net
+pieville.net
+pisskey.io
+plagu.ee
+pmth.us
+poa.st
+poast.org
+poast.tv
+poster.place
+prospeech.space
+quodverum.com
+rakket.app
+rapemeat.solutions
+rdrama.cc
+rebelbase.site
+retardedniggers.forsale
+rojogato.com
+ryona.agency
+schwartzwelt.xyz
+seal.cafe
+shigusegubu.club
+shitpost.cloud
+shitposter.club
+shota.house
+silliness.observer
+skinheads.eu
+skinheads.io
+skinheads.social
+skinheads.uk
+skippers-bin.com
+skyshanty.xyz
+slash.cl
+sleepy.cafe
+smuglo.li
+sneed.social
+sonichu.com
+spinster.xyz
+springbo.cc
+starnix.network
+stereophonic.space
+strelizia.net
+syspxl.xyz
+tastingtraffic.net
+teci.world
+theapex.social
+thepostearthdestination.com
+tkammer.de
+trumpislovetrumpis.life
+truthsocial.co.in
+urchan.org
+varishangout.net
+whinge.house
+whinge.town
+wideboys.org
+wolfgirl.bar
+xn--p1abe3d.xn--80asehdb
+yggdrasil.social
+youjo.love
+zztails.gay
diff --git a/mastodon/src/main/java/org/joinmastodon/android/ExitActivity.java b/mastodon/src/main/java/org/joinmastodon/android/ExitActivity.java
new file mode 100644
index 000000000..54a5ccbc4
--- /dev/null
+++ b/mastodon/src/main/java/org/joinmastodon/android/ExitActivity.java
@@ -0,0 +1,24 @@
+package org.joinmastodon.android;
+
+import android.app.Activity;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+
+public class ExitActivity extends Activity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ finishAndRemoveTask();
+ }
+
+ public static void exit(Context context) {
+ Intent intent = new Intent(context, ExitActivity.class);
+ intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
+ context.startActivity(intent);
+ }
+
+}
diff --git a/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java b/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java
index 9819f1654..045c35699 100644
--- a/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java
+++ b/mastodon/src/main/java/org/joinmastodon/android/GlobalUserPreferences.java
@@ -9,6 +9,7 @@ import android.os.Build;
import com.google.gson.JsonSyntaxException;
import com.google.gson.reflect.TypeToken;
+import org.joinmastodon.android.model.ContentType;
import org.joinmastodon.android.model.TimelineDefinition;
import java.lang.reflect.Type;
@@ -61,10 +62,13 @@ public class GlobalUserPreferences{
private final static Type recentLanguagesType = new TypeToken