Coder Social home page Coder Social logo

smashnet / peergroup Goto Github PK

View Code? Open in Web Editor NEW
6.0 6.0 1.0 15.16 MB

A P2P Shared Storage System based on XMPP - P2P Synchronization and Content Distribution

Home Page: http://www.pgrp.de

License: GNU General Public License v3.0

PHP 0.01% Python 0.42% Shell 0.03% Java 99.54%

peergroup's People

Contributors

smashnet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

keithkim

peergroup's Issues

Oversized XMPP message when big new file added

If we add files to the shared directory, the XMPP message signaling this file to the others contains a list of block indexes and their hashes. Apparently files above 1GB cause the new-file message to oversize and abort with

stream:error (text)

Encryption is very slow

I temporarily disabled chunk encryption because it drastically slowed down the data transfer. Some numbers:

Scenario: 3 peers, one has new 100mb file
Distribution with AES128 encryption: ~30secs
Distribution without encryption: ~0.4secs

Investigating this problem.

Idea: Password as only config

On first start auto-create unique JID and save to identity-file, or check for existing. On each start ask for password that is used to encrypt/decrypt identity-file.

Problem with big filesizes

The XMPP Thread does not receive messages anymore if a remote peer downloads a big file (happened with 50MB file) from you.

Idea: Introduce "active only" nodes

An "active only" node is a node that always actively establishes the connections to other nodes. This should be useful in case you cannot open a port in your firewall/router. This is especially the case if some of the peers use DualStack-Lite (IPv6 own address, IPv4 only via gateway) and others have real IPv4 addresses.

Of course this only works if few nodes are "active only".

Error if external IP changes

We still need to implement some handling for broken internet connections or simple IP changes on DSL connections.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.