Greasy Fork is available in English.
Stops top-level navigation when the destination resolves to an IP in a configured blocklist.
# Malicious IP Navigation Guard
A Violentmonkey userscript that checks the IP address of websites you visit against one or more malicious IP blocklists.
If a website resolves to a blocked IP address, the script replaces the page with a warning screen.
The warning screen provides two options:
* Ignore and continue
* Go back
## Installation
1. Install Violentmonkey in your browser.
2. Open Violentmonkey.
3. Create a new userscript.
4. Replace the default content with the contents of `malicious-ip-navigation-guard.user.js`.
5. Save the script.
## Default blocklist
The script uses this blocklist by default:
https://raw.githubusercontent.com/romainmarcoux/malicious-outgoing-ip/refs/heads/main/full-outgoing-ip-aa.txt
## Adding more blocklists
Open the userscript and find the `blocklists` section.
Add another entry:
```javascript
{
id: 'my-list',
name: 'My malicious IP list',
url: 'https://example.com/malicious-ips.txt',
enabled: true,
},
```
Each list must use one IP address per line:
```text
1.2.3.4
5.6.7.8
2001:db8::1234
```
Blank lines are ignored.
Lines beginning with the following characters are treated as comments:
```text
#
;
!
```
## Caching
Blocklists are cached locally so they are not downloaded every time a page is opened.
The script also temporarily caches DNS results.
Cache durations can be changed in the configuration section of the userscript.
## Failure behavior
If the blocklists or DNS lookup cannot be loaded, the script blocks the page and displays an error.
Cached blocklists may still be used if the remote list is temporarily unavailable.
## Limitations
This script only checks top-level website navigation.
It is not a replacement for a firewall or DNS filtering system.
It may not block:
* Background requests
* WebSocket connections
* Browser extension traffic
* Downloads
* Connections made by other applications
* Requests that occur before the userscript starts
The script performs DNS lookups using DNS-over-HTTPS.
The returned IP address may differ from the address used by your browser, VPN, local DNS server, or hosts file.
## Files
```text
malicious-ip-navigation-guard.user.js
README.md
```
## License
Use and modify the script at your own risk.