Malicious IP Navigation Guard

Stops top-level navigation when the destination resolves to an IP in a configured blocklist.

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

Аўтар
MistressOfDNS
Усталяванняў за дзень
0
Усяго ўсталяванняў
2
Рэйтынг
0 0 0
Версія
1.0.0
Створаны
21.07.2026
Абноўлены
21.07.2026
Памер
20.7 КБ
Ліцэнзія
GPL-3.0 license
Ужываецца на
Усе сайты

# 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.