Vibeleaderboard
Index / tool
Visit github.com
Category
Cybersecurity
Rank
No. 1557Tools index

Previous survey · No. 1536 ·

Pricing
Open Source
Type
TOOL
Builder
iv-org
GitHub
159 stars
Date

About

Rotate IPv6 addresses for specific subnets to unblock IPv6-enabled sites (Google by default, customizable for others).

What it does

This one-shot networking utility creates a random address inside your assigned IPv6 range, adds it to a server interface, then installs destination-specific routes that select the new source address. It can discover the interface and gateway automatically or accept both explicitly.

Why it's ranked here

The design is narrow but technically useful. It changes source addressing only for chosen destination ranges, records enough state for cleanup, and rolls back several setup failures. Its value depends heavily on having fully routed IPv6 space and permission to alter Linux networking.

What's good

Automatic gateway and interface discovery reduce routine setup, while explicit overrides handle unusual networks. The tool verifies a fresh address before installing service routes unless cron mode disables that check. Separate cleanup commands remove one configuration or every saved configuration.

Tradeoffs

Normal operation needs root privileges, Python 3.9 or newer, IPv6 connectivity, and a provider that permits arbitrary addresses within a fully routed allocation. The documentation names several major cloud providers as unsuitable. Connectivity checks use plain HTTP, cron mode skips address verification, and no dry-run option exists.

How to use it well

It suits Linux server operators, especially Invidious administrators, who control routed IPv6 space and can schedule periodic one-shot changes through cron. Test interactively before enabling cron, then retain cleanup in upgrade procedures. It does not supply IPv6 connectivity, routed address space, or a general-purpose proxy.

Technical notes+

smart-ipv6-rotator.py delegates to main in smart_ipv6_rotator/__init__.py, where argparse defines run, clean-one, and clean. The run path uses IPv6Network plus random host bits, pyroute2 IPDB and IPRoute objects from smart_ipv6_rotator/const.py, and destination ranges from smart_ipv6_rotator/ranges.py. smart_ipv6_rotator/helpers.py persists SavedRanges records as JSON under /tmp, removes prior routes and addresses, and probes ipv6.icanhazip.com over HTTP. pyproject.toml declares Python 3.9 or newer with requests and pyroute2. Dockerfile installs the local project into a Python slim image, while .github/workflows/build-docker.yml builds Linux amd64 and arm64 images.

Observed

License
GNU Affero General Public License, version 3
Primary language
Python
Runtime
Python 3.9 or newer
Dependencies
requests and pyroute2
Interface
Command-line interface with run, clean-one, and clean subcommands
Installation surfaces
Local Python package installation and a published Quay container image
Container platforms
Linux amd64 and Linux arm64/v8

Read from README.md, pyproject.toml, smart-ipv6-rotator.py, smart_ipv6_rotator/const.py, smart_ipv6_rotator/models.py, smart_ipv6_rotator/ranges.py, smart_ipv6_rotator/helpers.py, smart_ipv6_rotator/__init__.py, LICENSE, Dockerfile, .github/workflows/build-docker.yml.

What it can do

  • Rotate IPv6 addresses for specific subnets

    IPv6 subnet configurationNew IPv6 address assignment

  • Unblock access to IPv6-enabled websites

    Blocked website URLRestored website access

  • Configure IPv6 rotation for Google services

    Google service endpointsRotated IPv6 connections to Google

  • Customize IPv6 rotation for specific websites

    Target website configurationCustom IPv6 rotation rules

  • Manage IPv6 subnet assignments

    IPv6 subnet parametersUpdated subnet configuration

Tags

ipv6rotationunblockprivacynetworking

Tech Stack

PythonDocker

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.