All Projects → Tribler → Py Ipv8

Tribler / Py Ipv8

Licence: lgpl-3.0
Python implementation of the IPv8 layer

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Py Ipv8

I2p.i2p
I2P is an anonymizing network, offering a simple layer that identity-sensitive applications can use to securely communicate. All data is wrapped with several layers of encryption, and the network is both distributed and dynamic, with no trusted parties.
Stars: ✭ 1,186 (+655.41%)
Mutual labels:  p2p, anonymity
P2p
P2P Cloud project allows users to build their private networks.
Stars: ✭ 116 (-26.11%)
Mutual labels:  networking, p2p
Onionr
Private Decentralized Communication Network 🎭 🧅
Stars: ✭ 84 (-46.5%)
Mutual labels:  p2p, anonymity
Carrot
🥕 Build multi-device AR applications
Stars: ✭ 32 (-79.62%)
Mutual labels:  framework, networking
I2pd
🛡 I2P: End-to-End encrypted and anonymous Internet
Stars: ✭ 1,796 (+1043.95%)
Mutual labels:  p2p, anonymity
Pnet
High level Java network library
Stars: ✭ 49 (-68.79%)
Mutual labels:  framework, networking
Facil.io
Your high performance web application C framework
Stars: ✭ 1,393 (+787.26%)
Mutual labels:  framework, networking
Zeronet
ZeroNet - Decentralized websites using Bitcoin crypto and BitTorrent network
Stars: ✭ 17,227 (+10872.61%)
Mutual labels:  p2p, anonymity
Ipv6tools
IPv6Tools is a robust modular framework that enables the ability to visually audit an IPv6 enabled network.
Stars: ✭ 120 (-23.57%)
Mutual labels:  framework, networking
Popol
Minimal non-blocking I/O for Rust
Stars: ✭ 118 (-24.84%)
Mutual labels:  networking, p2p
Flatend
Quickly build microservices using p2p networking in NodeJS/Go.
Stars: ✭ 600 (+282.17%)
Mutual labels:  networking, p2p
Tentacle
A multiplexed p2p network framework that supports custom protocols
Stars: ✭ 150 (-4.46%)
Mutual labels:  framework, p2p
Pesdk Android Demo
A fully customizable photo editor for your app.
Stars: ✭ 464 (+195.54%)
Mutual labels:  framework, overlay
Ipfsfb
InterPlanetary File System for Business (IPFSfB) is an enterprise blockchain storage network based on InterPlanetary File System.
Stars: ✭ 57 (-63.69%)
Mutual labels:  networking, p2p
P
Peer-to-peer networking with browsers
Stars: ✭ 400 (+154.78%)
Mutual labels:  networking, p2p
Awesome Privacy On Blockchains
A curated list of privacy on blockchains resources
Stars: ✭ 86 (-45.22%)
Mutual labels:  p2p, anonymity
privacy-preserving-primitives
primitives and protocols for implementing privacy preserving networks
Stars: ✭ 14 (-91.08%)
Mutual labels:  p2p, anonymity
Fpnd
Python package for freepn network daemon
Stars: ✭ 271 (+72.61%)
Mutual labels:  p2p, anonymity
Netclient Ios
Versatile HTTP Networking in Swift
Stars: ✭ 117 (-25.48%)
Mutual labels:  framework, networking
Surge
Surge is a p2p filesharing app designed to utilize blockchain technologies to enable 100% anonymous file transfers. Surge is end-to-end encrypted, decentralized and open source.
Stars: ✭ 132 (-15.92%)
Mutual labels:  p2p, anonymity

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

Linux: Windows: Mac:

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 13 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 the test suite requires the installation of asynctest (python3 -m pip install asynctest). 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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].