Skip to content
This repository has been archived by the owner on Oct 16, 2022. It is now read-only.

udoprog/metap2p

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Testing should work as bootstrap, just run:

#  bin/metap2p

In your browser, surf to:

   http://localhost:8080

To try the metafile utility, run it as boostrap by typing:

#  bin/metafile

(To generate a digest)

#  bin/metafile add <dir> [alt-name]

(To validate a digest)

#  bin/metafile test <dir> <digest-file>

To see an extremely simple, and not so ready peer listing.

If you get a message telling you about dependancy problems, follow the instructions on the screen.

Edit your conf/peers.list with the peers you wish to test against.

Dependencies:
  twisted, routes

  twisted - implements the entire network stack.
  yaml - format is used in configuration files.
  routes - is used for the webinterface.

Project Structure (in ascii):
  
                      [TWISTED]
                          |
                      [buffer.py]       - handles safe and not-so-effective buffering.
                      [binaryframe.py]  - encapsulates binary data into specific formats.
                      [session.py]      - encapsulates frames into sessions, handles send/receive cycles for full frame communication.
                          |

  [server.py] <-- Peer 1 (incoming connection)
                          [factory.py (ServerFactory/ServerProtocol)] [PeerSession]
                          
              --> Peer 2 (outgoing connection)
                          [factory.py (PeerFactory/PeerProtocol)]     [PeerSession]
                                                                  
                                        - The Server does not differentiate between incoming and outgoing connections.
                                        - Each Frame sent from/to a server must contain complete information to distinguish between speficic conversation.
                                           * For example: A part in a file transfer must always contain the transfer id.

For protocol specification, see protocol.txt

Thanks to:
  Twisted, for having such an awesome framework.
  Nevow project, for inspiring me about minitemplating (based on STAN, but not complete).

About

A P2P Framework for sharing information.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages