diff --git a/build.xml b/build.xml
index bb94e1070..242ffe7e5 100644
--- a/build.xml
+++ b/build.xml
@@ -1435,6 +1435,7 @@
+
@@ -1762,6 +1763,7 @@
+
diff --git a/installer/resources/blocklist-tor.txt b/installer/resources/blocklist-tor.txt
new file mode 100644
index 000000000..3701c97b3
--- /dev/null
+++ b/installer/resources/blocklist-tor.txt
@@ -0,0 +1,781 @@
+# https://check.torproject.org/torbulkexitlist
+# 02 May 2024
+2.57.122.58
+2.57.122.179
+2.57.122.215
+2.57.122.246
+2.58.56.43
+2.58.56.90
+2.58.56.220
+2.58.56.248
+2.58.95.31
+2.58.95.35
+2.58.95.38
+5.2.67.226
+5.2.79.190
+5.42.66.6
+5.42.80.232-5.42.80.235
+5.45.98.162
+5.45.102.93
+5.45.104.176
+5.61.51.143
+5.79.66.19
+5.182.86.212
+5.196.8.113
+5.196.95.34
+5.255.97.221
+5.255.98.23
+5.255.98.151
+5.255.98.198
+5.255.99.5
+5.255.99.108
+5.255.99.124
+5.255.99.147
+5.255.100.26
+5.255.100.126
+5.255.100.219
+5.255.100.224
+5.255.101.10
+5.255.103.190
+5.255.103.235
+5.255.104.202
+5.255.111.64
+5.255.114.171
+5.255.115.42
+5.255.115.58
+5.255.117.56
+5.255.118.244
+5.255.123.164
+5.255.124.150
+5.255.125.41
+5.255.125.196
+5.255.127.222
+23.26.133.239
+23.94.36.142
+23.94.133.162
+23.94.211.25
+23.137.248.69
+23.137.248.100
+23.137.248.139
+23.137.250.34
+23.137.250.83
+23.137.253.9
+23.137.253.108-23.137.253.110
+23.152.24.77
+23.154.177.2-23.154.177.25
+23.155.8.104
+23.155.24.4
+23.155.24.6
+23.236.122.62
+27.255.75.198
+31.42.185.134
+31.129.22.65
+31.220.98.139
+35.0.127.52
+35.240.241.135
+37.1.201.144
+37.48.70.156
+37.120.166.23
+37.120.188.156
+37.120.239.59
+37.187.5.192
+37.228.129.5
+37.228.129.63
+37.228.129.128
+37.252.255.135
+38.97.116.244
+45.8.22.207
+45.9.148.219
+45.9.150.103
+45.9.150.130
+45.12.3.80
+45.15.157.177
+45.56.104.167
+45.61.137.210
+45.61.137.220
+45.61.184.47
+45.61.185.172
+45.66.35.10
+45.66.35.20-45.66.35.21
+45.66.35.35
+45.79.50.161
+45.79.144.222
+45.79.177.21
+45.80.158.27
+45.80.158.205
+45.80.208.225
+45.81.242.8
+45.83.104.137
+45.92.1.74
+45.94.31.180
+45.95.169.184
+45.95.169.223
+45.95.169.255
+45.95.202.48
+45.128.232.151
+45.132.246.245
+45.134.173.197
+45.134.225.36
+45.135.132.20
+45.138.16.42
+45.138.16.76
+45.138.16.107
+45.138.16.113
+45.138.16.142
+45.138.16.203
+45.138.16.222
+45.138.16.230
+45.138.16.240
+45.138.16.249
+45.139.122.176
+45.141.215.21
+45.141.215.56
+45.141.215.61-45.141.215.63
+45.141.215.80-45.141.215.81
+45.141.215.88
+45.141.215.90
+45.141.215.95
+45.141.215.97
+45.141.215.110-45.141.215.111
+45.141.215.114
+45.141.215.167
+45.141.215.169-45.141.215.170
+45.151.122.34
+45.151.167.10-45.151.167.13
+46.38.255.27
+46.165.243.36
+46.182.21.248
+46.183.219.159-46.183.219.160
+46.226.164.14
+46.232.251.191
+46.234.47.105
+50.3.182.133
+50.3.182.156
+51.15.59.15
+51.15.249.160
+51.38.81.135
+51.38.113.118
+51.75.64.23
+51.81.222.62
+51.81.254.14
+51.89.153.112
+51.91.18.151
+51.158.115.62
+51.178.45.216
+51.195.166.174
+51.222.84.46
+51.222.142.67
+54.36.101.21
+54.36.108.162
+57.129.20.162
+62.63.244.28
+62.133.45.2
+62.171.137.169
+62.182.83.179
+64.7.198.199
+64.7.199.234
+64.227.115.78
+65.38.121.165
+66.146.193.33
+66.220.242.222
+67.219.109.141
+71.19.144.106
+72.5.43.211
+72.14.179.10
+72.167.47.69
+72.211.49.235
+74.82.47.194
+77.48.28.193
+77.48.28.204
+77.48.28.236-77.48.28.237
+77.48.28.239
+77.81.247.72
+77.91.85.147
+77.91.86.95
+77.91.87.79
+77.105.146.42
+77.220.196.253
+77.221.159.75
+77.221.159.184
+77.221.159.189
+77.221.159.192-77.221.159.193
+77.232.143.248
+77.237.237.196
+78.142.18.219
+79.50.224.220
+79.102.176.71
+79.124.8.241
+79.137.198.213
+80.67.167.81
+80.67.172.162
+80.82.78.14
+80.210.78.252
+80.241.60.207
+81.16.33.42
+81.17.28.95
+82.118.242.36
+82.118.242.158
+82.153.138.48
+82.153.138.119
+82.153.138.182
+82.197.182.161
+82.221.131.5
+82.221.131.71
+82.221.139.190
+83.4.110.6
+83.96.213.63
+83.97.20.77
+83.217.9.73
+84.16.224.227
+84.19.182.20
+84.38.134.230-84.38.134.241
+84.38.187.151
+84.54.51.61
+84.54.51.68-84.54.51.69
+84.211.225.54
+84.239.46.144
+84.247.165.51
+84.252.122.130
+85.17.9.83
+85.93.218.204
+85.204.116.88
+85.204.116.211
+85.215.76.62
+85.239.60.173
+86.104.194.13
+87.118.110.27
+87.118.114.44
+87.118.116.90
+87.118.116.103
+87.118.122.30
+87.118.122.51
+87.120.254.132
+88.80.20.86
+88.209.197.8
+89.58.18.210
+89.58.26.216
+89.58.41.156
+89.58.41.251
+89.58.63.200
+89.147.108.62
+89.147.108.209
+89.147.109.226
+89.147.110.82
+89.147.110.118
+89.147.110.154
+89.147.110.202
+89.147.110.214
+89.147.111.87
+89.147.111.124
+89.149.37.83
+89.185.85.140
+89.187.143.31
+89.234.157.254
+89.236.112.100
+91.92.109.43
+91.103.253.141
+91.132.144.59
+91.139.160.150
+91.203.144.194
+91.203.145.116
+91.206.26.26
+91.208.75.3-91.208.75.4
+91.208.75.153
+91.208.75.156
+91.208.75.178
+91.208.75.239
+91.208.197.144
+91.210.59.57
+91.219.236.101
+91.219.237.56
+91.219.239.166
+92.119.126.163
+92.205.129.119
+92.243.24.163
+92.246.84.133
+92.246.138.145
+93.90.74.31
+93.95.225.141
+93.95.228.125
+93.95.228.205
+93.95.230.54
+93.95.230.165
+93.95.231.14
+93.95.231.88
+93.99.104.18
+93.99.104.128
+93.123.12.112
+94.16.112.22
+94.16.116.81
+94.16.116.86
+94.16.121.91
+94.16.121.226
+94.32.66.15
+94.102.51.15
+94.103.124.46
+94.103.124.90-94.103.124.91
+94.103.124.98
+94.103.124.101
+94.103.124.104
+94.103.124.107
+94.103.124.121
+94.140.115.63
+94.142.241.194
+94.142.244.16
+94.177.106.37
+94.177.106.46
+94.177.106.54-94.177.106.55
+94.177.106.59
+94.228.163.25
+94.228.169.70
+94.230.208.147-94.230.208.148
+95.128.43.164
+95.142.161.63
+95.143.193.125
+95.164.4.104
+95.164.46.204
+95.168.173.143
+95.211.210.103
+95.211.244.28
+96.42.26.63
+98.128.173.33
+102.130.113.9
+102.130.117.167
+102.130.127.117
+102.219.85.85
+103.28.52.93
+103.106.228.81
+103.109.101.105
+103.126.161.54
+103.129.222.46
+103.163.218.11
+103.172.134.26
+103.174.253.222
+103.193.179.233
+103.208.86.5
+103.251.167.10
+103.251.167.20
+103.253.24.18
+104.167.242.116-104.167.242.117
+104.192.1.138
+104.192.3.74
+104.192.171.138
+104.219.232.126
+104.219.236.100
+104.244.72.115
+104.244.72.132
+104.244.73.43
+104.244.73.136
+104.244.73.190
+104.244.73.193
+104.244.74.97
+104.244.75.74
+104.244.77.192
+104.244.77.208
+104.244.78.162
+104.244.78.233
+104.244.79.44
+104.244.79.50
+104.244.79.61
+104.254.90.195
+107.172.13.143
+107.172.31.146
+107.172.31.165
+107.173.179.59
+107.174.138.172
+107.174.231.197
+107.189.1.9
+107.189.1.80
+107.189.1.96
+107.189.1.160
+107.189.1.175
+107.189.1.198
+107.189.2.108
+107.189.3.11
+107.189.3.94
+107.189.3.148
+107.189.3.249
+107.189.4.12
+107.189.4.158
+107.189.4.209
+107.189.5.7
+107.189.5.18-107.189.5.19
+107.189.5.121
+107.189.6.57
+107.189.6.124
+107.189.7.47
+107.189.7.114
+107.189.7.141
+107.189.7.144
+107.189.7.161
+107.189.7.168
+107.189.8.5
+107.189.8.16
+107.189.8.56
+107.189.8.65
+107.189.8.133
+107.189.8.181
+107.189.8.226
+107.189.8.238
+107.189.10.175
+107.189.11.80
+107.189.11.111
+107.189.12.3
+107.189.12.7
+107.189.13.180
+107.189.13.253-107.189.13.254
+107.189.14.4
+107.189.14.43
+107.189.14.106
+107.189.28.199
+107.189.30.69
+107.189.30.86
+107.189.30.236
+107.189.31.33
+107.189.31.134
+107.189.31.187
+107.189.31.225
+107.189.31.232
+108.61.189.136
+108.181.27.205
+108.181.69.243
+109.69.67.17
+109.70.100.1-109.70.100.6
+109.70.100.65-109.70.100.71
+109.104.153.22
+109.169.33.163
+118.163.74.160
+121.78.28.175
+123.253.35.32
+125.212.241.131
+128.31.0.13
+128.127.180.156
+130.193.10.21
+130.193.15.186
+134.122.66.38
+135.125.205.25
+135.181.124.211
+136.244.111.163
+138.59.18.110
+139.99.8.57
+139.99.172.11
+141.98.10.14
+141.98.11.62
+141.239.149.94
+142.44.234.69
+142.171.211.123
+143.47.42.165
+143.110.156.176
+144.172.73.6
+144.172.73.11
+144.172.118.4
+144.172.118.55
+144.217.80.80
+146.59.35.38
+146.59.35.246
+146.70.81.186
+146.70.146.26
+146.70.164.210
+147.45.116.145
+149.56.22.133
+149.56.44.47
+149.202.79.101
+149.202.79.129
+151.80.148.159
+152.89.233.169
+154.16.116.61
+158.179.215.241
+160.119.249.240
+161.35.129.51
+162.247.72.192
+162.247.72.199
+162.247.74.7
+162.247.74.27
+162.247.74.74
+162.247.74.200-162.247.74.202
+162.247.74.204
+162.247.74.206
+162.247.74.213
+162.247.74.216-162.247.74.217
+162.251.5.152
+163.172.45.102
+164.132.172.209
+165.73.242.163
+166.70.207.2
+167.99.208.41
+171.25.193.20
+171.25.193.25
+171.25.193.77-171.25.193.80
+171.25.193.234-171.25.193.235
+172.81.131.139
+172.81.131.156
+172.81.132.94
+172.81.132.242
+172.86.75.90
+172.86.75.167
+172.104.182.84
+172.104.214.41
+172.104.243.155
+172.235.36.50
+173.232.195.137
+173.232.195.144
+173.232.195.146
+173.249.57.253
+175.214.127.6
+176.58.100.98
+176.58.121.177
+176.118.193.33
+176.121.81.51
+176.126.253.190
+178.17.170.23
+178.17.170.184
+178.17.171.102
+178.17.174.14
+178.17.174.164
+178.20.55.16
+178.20.55.182
+178.30.76.229
+178.31.151.36
+178.162.209.56
+178.175.131.141
+178.175.142.26
+178.175.148.209
+178.218.144.18
+178.218.144.51
+178.218.144.64
+178.218.144.96
+178.218.144.99
+178.236.247.122
+179.43.128.16
+179.43.159.78
+179.43.159.194-179.43.159.201
+179.43.167.205
+179.43.182.58
+179.43.182.232
+179.48.251.188
+180.150.226.99
+184.105.48.40
+185.7.33.146
+185.34.33.2
+185.35.202.222
+185.38.175.133
+185.39.207.83
+185.56.83.83
+185.56.171.94
+185.67.82.114
+185.81.115.120
+185.82.219.109
+185.86.148.90
+185.100.85.22-185.100.85.25
+185.100.85.132
+185.100.87.41
+185.100.87.136
+185.100.87.139
+185.100.87.174
+185.100.87.192
+185.100.87.250
+185.100.87.253
+185.106.94.195
+185.106.102.102
+185.107.70.56
+185.112.146.168
+185.113.128.30
+185.129.61.1-185.129.61.10
+185.129.61.129
+185.129.62.62-185.129.62.63
+185.130.44.59
+185.130.44.108
+185.130.47.58
+185.141.147.129
+185.142.239.49
+185.146.232.234
+185.146.232.243
+185.153.197.227
+185.154.110.17
+185.154.110.142
+185.165.169.42
+185.165.169.239
+185.165.171.84
+185.165.190.111
+185.170.114.25
+185.181.60.135
+185.181.61.18
+185.181.61.115
+185.181.61.142
+185.183.157.214
+185.183.159.40
+185.189.167.171
+185.191.204.254
+185.193.52.180
+185.193.66.127
+185.193.158.134
+185.195.71.12
+185.195.71.244
+185.207.107.130
+185.207.107.216
+185.216.68.128
+185.220.100.240-185.220.100.255
+185.220.101.0-185.220.101.90
+185.220.101.96-185.220.101.110
+185.220.101.128-185.220.101.183
+185.220.101.185-185.220.101.191
+185.220.103.4-185.220.103.9
+185.225.69.203
+185.225.69.232
+185.227.68.78
+185.227.134.106
+185.230.162.246
+185.230.163.244
+185.233.100.23
+185.235.146.29
+185.241.208.54
+185.241.208.71
+185.241.208.115
+185.241.208.196
+185.241.208.202
+185.241.208.204
+185.241.208.206
+185.241.208.212
+185.241.208.232
+185.241.208.236
+185.241.208.243
+185.243.23.81
+185.243.218.35
+185.243.218.41
+185.243.218.46
+185.243.218.61
+185.243.218.89
+185.243.218.95
+185.243.218.110
+185.243.218.202
+185.243.218.204
+185.244.192.175
+185.244.192.184
+185.246.86.197
+185.246.128.161
+185.246.188.73-185.246.188.74
+185.246.188.149
+185.246.189.99
+185.247.184.33
+185.247.184.105
+185.252.232.218
+185.254.196.141
+188.68.41.191
+188.68.49.235
+188.68.52.231
+188.165.200.97
+188.172.229.15
+188.214.104.21
+188.244.106.81
+190.103.179.98
+190.120.229.98
+190.211.254.97
+191.96.165.34
+191.252.220.31
+192.42.116.14-192.42.116.15
+192.42.116.17-192.42.116.20
+192.42.116.22-192.42.116.28
+192.42.116.173-192.42.116.189
+192.42.116.191-192.42.116.204
+192.42.116.208-192.42.116.221
+192.46.210.223
+192.99.168.180
+192.210.255.181
+193.26.115.43
+193.26.115.61
+193.35.18.49
+193.35.18.77
+193.35.18.105
+193.41.226.117
+193.105.134.150
+193.105.134.155
+193.148.18.122
+193.149.129.33
+193.168.141.245
+193.189.100.194-193.189.100.206
+193.218.118.89
+193.218.118.91
+193.218.118.133
+193.218.118.181-193.218.118.182
+193.218.118.188
+193.233.133.42
+193.233.133.109
+193.239.232.230
+194.15.112.133
+194.15.113.118
+194.15.115.212
+194.26.192.64
+194.26.192.77
+194.26.196.71
+194.163.157.49
+194.164.122.21
+194.233.174.56
+195.80.151.242
+195.88.74.206
+195.160.220.104
+195.176.3.19-195.176.3.20
+195.176.3.23-195.176.3.24
+198.12.111.102
+198.23.133.132
+198.46.166.157
+198.50.128.237
+198.58.107.53
+198.96.155.3
+198.98.48.20
+198.98.48.33
+198.98.50.199
+198.98.51.189
+198.98.51.249
+198.98.53.136
+198.98.54.49
+198.98.60.90
+198.144.178.163
+199.195.250.165
+199.195.251.78
+199.195.251.119
+199.195.253.124
+199.195.253.156
+199.195.253.180
+199.195.253.247
+200.122.181.2
+202.61.226.98
+202.61.252.121
+202.94.246.210
+202.182.99.129
+204.8.96.64-204.8.96.89
+204.8.96.100-204.8.96.123
+204.8.96.140-204.8.96.189
+204.8.156.142
+204.85.191.7-204.85.191.9
+204.137.14.92
+204.137.14.104-204.137.14.106
+204.194.29.4
+205.185.113.180
+205.185.116.34
+205.185.117.149
+205.185.121.170
+205.185.123.93
+205.185.124.176
+205.185.124.193
+206.237.98.52
+209.141.32.198
+209.141.38.110
+209.141.39.104
+209.141.46.203
+209.141.50.178
+209.141.51.30
+209.141.51.180
+209.141.55.26
+209.141.59.116
+209.141.62.71
+210.223.41.36
+212.73.134.204
+212.95.50.77
+212.95.52.76
+213.95.149.22
+213.252.140.118
+216.73.159.75
+216.73.159.101
+217.12.215.167
+217.12.221.131
+217.146.2.41
diff --git a/router/java/src/net/i2p/router/Blocklist.java b/router/java/src/net/i2p/router/Blocklist.java
index ba3f76350..749990eaa 100644
--- a/router/java/src/net/i2p/router/Blocklist.java
+++ b/router/java/src/net/i2p/router/Blocklist.java
@@ -99,6 +99,8 @@ public class Blocklist {
private static final String BLOCKLIST_FEED_FILE = "docs/feed/blocklist/blocklist.txt";
/** @since 0.9.48 */
public static final String BLOCKLIST_COUNTRY_FILE = "blocklist-country.txt";
+ /** @since 0.9.63 */
+ public static final String BLOCKLIST_TOR_FILE = "blocklist-tor.txt";
/**
* Limits of transient (in-memory) blocklists.
@@ -123,6 +125,7 @@ public class Blocklist {
private static final String ID_COUNTRY = "country";
private static final String ID_USER = "user";
public static final String ID_SYBIL = "sybil";
+ public static final String ID_TOR = "tor";
/**
@@ -172,6 +175,8 @@ public class Blocklist {
files.add(new BLFile(blFile, ID_LOCAL));
}
files.add(new BLFile(_blocklistFeedFile, ID_FEED));
+ blFile = new File(_context.getBaseDir(), BLOCKLIST_TOR_FILE);
+ files.add(new BLFile(blFile, ID_TOR));
if (_context.router().isHidden() ||
_context.getBooleanProperty(GeoIP.PROP_BLOCK_MY_COUNTRY)) {
blFile = new File(_context.getConfigDir(), BLOCKLIST_COUNTRY_FILE);