diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/core/tor/AndroidTorPlugin.java b/mailbox-android/src/main/java/org/briarproject/mailbox/core/tor/AndroidTorPlugin.java
index 3cf3083529cc9456794e434a18a9cc1fc90e869a..92992fb3edf8dc2622296c583d6e92b93d124629 100644
--- a/mailbox-android/src/main/java/org/briarproject/mailbox/core/tor/AndroidTorPlugin.java
+++ b/mailbox-android/src/main/java/org/briarproject/mailbox/core/tor/AndroidTorPlugin.java
@@ -42,13 +42,12 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Locale;
 import java.util.concurrent.Executor;
+import java.util.function.IntSupplier;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipInputStream;
 
 import javax.annotation.Nullable;
 
-import io.netty.util.IntSupplier;
-
 import static android.os.Build.VERSION.SDK_INT;
 import static java.util.Arrays.asList;
 import static org.briarproject.mailbox.core.util.LogUtils.info;
diff --git a/mailbox-core/src/main/java/org/briarproject/mailbox/core/tor/AbstractTorPlugin.java b/mailbox-core/src/main/java/org/briarproject/mailbox/core/tor/AbstractTorPlugin.java
index f8f682ee0188aef8f1cbe7bb3ce018ce5f2e8806..379b19f9bf3d99d38c2ee561351a2dcbaad38ea4 100644
--- a/mailbox-core/src/main/java/org/briarproject/mailbox/core/tor/AbstractTorPlugin.java
+++ b/mailbox-core/src/main/java/org/briarproject/mailbox/core/tor/AbstractTorPlugin.java
@@ -54,6 +54,7 @@ import java.util.Map;
 import java.util.Scanner;
 import java.util.concurrent.Executor;
 import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.function.IntSupplier;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.util.zip.ZipInputStream;
@@ -62,7 +63,6 @@ import javax.annotation.Nullable;
 import javax.annotation.concurrent.GuardedBy;
 import javax.annotation.concurrent.ThreadSafe;
 
-import io.netty.util.IntSupplier;
 import kotlinx.coroutines.flow.MutableStateFlow;
 import kotlinx.coroutines.flow.StateFlow;
 
@@ -113,7 +113,7 @@ public abstract class AbstractTorPlugin
 	 */
 	private static final int HS_DESC_UPLOADS = 1;
 	private final Pattern bootstrapPattern =
-			Pattern.compile("^Bootstrapped ([0-9]{1,3})%.*$");
+			Pattern.compile("^Bootstrapped (\\d{1,3})%.*$");
 	private final Pattern clockSkewPattern = Pattern.compile("CLOCK_SKEW");
 
 	private final Executor ioExecutor;
@@ -270,7 +270,7 @@ public abstract class AbstractTorPlugin
 		ioExecutor.execute(() -> {
 			int port;
 			try {
-				port = portSupplier.get();
+				port = portSupplier.getAsInt();
 			} catch (Exception e) {
 				throw new AssertionError(e);
 			}
@@ -301,6 +301,7 @@ public abstract class AbstractTorPlugin
 	}
 
 	protected void extract(InputStream in, File dest) throws IOException {
+		@SuppressWarnings("IOStreamConstructor") // not in Java 6 minSdk 16
 		OutputStream out = new FileOutputStream(dest);
 		copyAndClose(in, out);
 	}
diff --git a/mailbox-lib/src/main/java/org/briarproject/mailbox/core/tor/JavaTorPlugin.java b/mailbox-lib/src/main/java/org/briarproject/mailbox/core/tor/JavaTorPlugin.java
index a92c91d5dad3e77a56d0d09e068a3c6097d0ee45..6681285fecf551ed5ad66518d900a53951ec9ef1 100644
--- a/mailbox-lib/src/main/java/org/briarproject/mailbox/core/tor/JavaTorPlugin.java
+++ b/mailbox-lib/src/main/java/org/briarproject/mailbox/core/tor/JavaTorPlugin.java
@@ -32,11 +32,10 @@ import java.net.URI;
 import java.net.URISyntaxException;
 import java.security.CodeSource;
 import java.util.concurrent.Executor;
+import java.util.function.IntSupplier;
 
 import javax.annotation.Nullable;
 
-import io.netty.util.IntSupplier;
-
 public class JavaTorPlugin extends AbstractTorPlugin {
 
 	JavaTorPlugin(Executor ioExecutor,