Skip to main content

FAQ:

  • Q: Is this the new official Layer 3 solution for the Internet?
  • A: No, the naming is a 10-years-old mockery of the deployment failure of IPv6 (which we sincerely hope will be deployed properly at some point in time).

Unit tests:

Mutation Tests:

Read the Docs:

What is IPv8 ?

IPv8 aims to provide authenticated communication with privacy. The design principle is to enable communication between public key pairs: IP addresses and physical network attachment points are abstracted away. This Python 3 package is an amalgamation of peer-to-peer communication functionality from Dispersy and Tribler, developed over the last 19 years by students and employees of the Delft University of Technology. The IPv8 library allows you to easily create network overlays on which to build your own applications.

IPv8 Objectives

  • Authentication. We offer mutual authentication using strong cryptography. During an IPv8 communication session, both parties can be sure of the other party’s identity. IPv8 users are identified by their public key. The initial key exchange is designed so that secrets are never transmitted across the Internet, not even in encrypted form. We use a standard challenge/response protocol with protection against spoofing, man-in-the-middle, and replay attacks.
  • Privacy. IPv8 is specifically designed for strong privacy protection and end-to-end encryption with perfect forward secrecy. We enhanced the industry standard onion routing protocol, Tor, for usage in a trustless environment (e.g. no trusted central directory servers).
  • No infrastructure dependency. Everybody is equal in the world of IPv8. No central web server, discovery server, or support foundation is needed.
  • Universal connectivity. IPv8 can establish direct communication in difficult network situations. This includes connecting people behind a NAT or firewall. IPv8 includes a single simple and effective NAT traversal technique: UDP hole-punching. This is essential when offering privacy without infrastructure and consumer-grade donated resources.
  • Trust. You can enhance your security if you tell IPv8 which people you know and trust. It tries to build a web-of-trust automatically.

Dependencies

The dependencies for IPv8 are collected in the requirements.txt file and can be installed using pip:

python3 -m pip install --upgrade -r requirements.txt

On Windows or macOS you will need to install Libsodium separately, as explained here.

Tests

Running tests can be done by running:

python3 run_all_tests.py

Running code coverage requires the coverage package (python3 -m pip install coverage). A coverage report can be generated by running:

python3 create_test_coverage_report.py

Getting started

You can start creating your first network overlay by following the overlay creation tutorial.

We provide additional documentation on configuration, key generation and message serialization formats on our ReadTheDocs page.

Metadata

Release files for pyipv8 3.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyipv8 3.2.1
File Size Uploaded Provenance
pyipv8-3.2.1.tar.gz 295.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for pyipv8 3.2.1
File Interpreter ABI Platform
pyipv8-3.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 671.8 kB

Release files / pyipv8-3.2.1.tar.gz

Download URL pyipv8-3.2.1.tar.gz
Size 295.2 kB
Tags Source
SHA-256 checksum
How to use checksums
0615f5ba06b5661b7ac3e766ae1129bc8cb2fadcdb79cd1043519f5b69245c84
BLAKE2b-256 checksum
How to use checksums
fcb89053ca8a0eada6a7a83f54adc66ff5a3bbb5361f7818766f9eaea55c7034
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.5

Release files / pyipv8-3.2.1-py3-none-any.whl

Download URL pyipv8-3.2.1-py3-none-any.whl
Size 376.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4c4e13b39b4d76d7036e079408cbafd0a5b656bfafee06867703fa6f7364ca8b
BLAKE2b-256 checksum
How to use checksums
757e8f55fdf70077dbd5beb9e209a0e895e5871af35e21ecfa5bcf1168df1f59
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.5

Security for pyipv8 3.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page