Showing posts with label F2F. Show all posts
Showing posts with label F2F. Show all posts

Wednesday, August 13, 2008

Facts About Dargens p2p


Facts About Dargens p2p

First of all I'll explain how ANt p2p works (notes taken from notes on MUTE a very similar network). Then I'll explain some of the differences between ANts p2p and Dargens p2p.

How ANts p2p Routes Messages

In a network, we have messages that need to travel from a sender to a recipient. Since ANts p2p users are anonymous, none of the nodes in the network know exactly where to find a particular recipient (or, more precisely, which computer a particular recipient is using). Like ants that are unaware of the overall environment layout, ANts p2p messages must be directed through the network using only local clues.

Each ANts p2p node maintains connections to several "neighbors" in the network, and these neighboring connections are used for message passing. Suppose that ANts p2p node X receives a message from Alice to Bob through node Y, one of its neighbors. X may have no information clues about where Bob is in the network. However, upon receiving this message, node X learns something about Alice: it learns that messages from Alice come through node Y. In the future, if node X ever receives a message to Alice, it can send it back through node Y using this clue.

Regardless of what X learns about Alice, it still has no information about Bob. The best strategy here, using ants as inspiration, is to "send ants in all directions", or to send a copy of the message on to each one of X's neighbors (what we will call "broadcasting" the message). One of the neighbors may have more information about which direction Bob is in. If none of the nodes in the network have clues about Bob's location, they will all broadcast the message to their neighbors. If Bob exists in the network, this technique will eventually find him.

Notice that throughout the search for Bob, the message has been leaving a trail of clues about Alice. If the message reaches Bob, and then Bob sends back a response, the response can follow these clues on a rather direct path back to Alice.

As the response is routed to Alice, it leaves a trail of clues that can be used to route future messages from Alice back to Bob. Other nodes can make use of these clues too. For example, if the owner of node X sends a message to Bob, the message will travel on a rather direct route using the existing clues.

We can see that ANts p2p's routing mechanism is quite similar to the technique of "Painting Arrows in the Forest". Each node can be thought of as a tree, and each neighbor connection can be thought of as a path between neighboring trees. Each node maintains a collection of arrows, and each arrow says something like "To get to Bob, use this path." In these diagrams, we follow the blue arrows backward to find Bob.

We can also think of each message leaving a "scent" as it travels through the network. Messages from Alice leave Alice's scent, and we can follow this scent when sending messages to Alice. The darker arrows in these diagrams represent messages, while the faded arrows can be thought of as the scent left by messages.

Routing Clues and Privacy

In terms of anonymity, the notion of "clues about Alice" sounds scary. Keep in mind that all of these "clues" are just local hints that will not enable anyone to directly pinpoint Alice in the network. A node's routing clue essentially tells it, "my neighbor knows more about Alice than I do." Of course, none of the nodes have a good measure of how much they know about Alice, so the fact that a particular neighbor knows more gives a node little extra information. For example, none of the nodes along a path between Alice and Bob know enough to conclude that "my neighbor is Alice."
Additionally Ants Features
  • Open Source Java implementation (GNU-GPL license)
  • Multiple sources download
  • Swarming from partial files
  • Automatic resume and sources research over the net
  • Search by hash, string and structured query
  • Completely Object-Oriented routing protocol
  • Point to Point secured comunication: DH(512)-AES(128)
  • EndPoint to EndPoint secured comunication: DH(512)-AES(128)
  • Serverless GWebCache-based peer dicovery procedure
  • IRC based peer discovery system
  • IRC embeded chat system
  • Full text search of indexed documents (pdf, html, txt, doc etc) -> QUERY REFERENCE.
  • Distributed/Decentralized Search engine
  • HTTP tunneling
  • ANts allow P2P communications through any kind of HTTP Proxy
  • ANts allow P2P communications through any kind of NAT or traffic filtering system




ANts vs Dargens

Users join ANts by boot-strapping from irc this results in a network with a random topology. Although this has the a short path length between any two nodes it is very difficult to find that path even with DHT so it does not scale well.

Dargens p2p (kerjodando) is based on ANts p2p except users join the network by connecting to either their friends or users that they share an interest with. This is a social network, a type of small world network. This also has a short path between peers but this path is much easier to find either with DHT, greeedy routing or ANt routing.

So Dargens p2p scales far better than ANts and is much faster.

To allow users to connect and form social networks, the Dargens tracker maintains a record of users' friends, that it shares with new users who connect.

Although the network information is kept on the site no information about who is sharing what files is kept on the site of communicated directly with any outside party by ANts.

As the system is web based it is very easy to configure.

There are several different level of security available.


Security Example

A user could be either public (general public can connect to him) or private (only invited friends can connect).

Uses can also publish files to the website in much the same way as done with bit torrent on a tracker.

The biggest drawback of the system is ANts because it uses Java which confuses many inexperienced web users.

Also it can take up to 2 minutes to download the client and connect even on fast dsl/cable networks.



Goals of Dargens


The aim of the system is to spread information to those who find it difficult to access information freely.

It has been designed (STUNT and SSL spoofing) to penetrate national censorship system such as the great fire wall of China.

However, it is not meant to circumvent national laws but to give privacy to responsible adult users which is a right we take for granted in the physical world but which is diminishing in the virtual world.

Sorry for my poor communication in the past but I suffer from a mild form of Aspergers Syndrome which affects every part of my life.

I am a lot more social than I use to be.

BTW it would be good to hear from any other sufferers.

We are all connected, if not directly then via friends of friends of friends etc. It has been prooved both theoretically and experimentally that everyone in Europe and North America are connected by a maximum of six steps.

This is how Dargens p2p works all nodes are connected but not randomly. They are connected like a social network a society. So path lengths are short and everybody can download and upload from everybody else.

And as it is ANts p2p (only change is network topology) it is anonymous.

And as to the single point of failure. I agree there is a single point of failure but it is open source (including the website) so it is like bit torrent. Sure they can kill a few trackers but they will never kill them all.

Lastly by being web based allows the featured files to be quality checked. So now you can download quality files anonymously. Of course you still have the ability to search and download like limwire etc again anonymously.

Nothing is 100% anonymous; this is safe enough to prevent snoopers from knowing what you're downloading without slowing downloads.

Go on download a file.

www.Dargens.com

or join my private network:
http://www.dargens.com/invitefrom/f5...9da0597233f80a



Monday, December 31, 2007

How to Use Dargens Music Downloads

  1. Click a picture on TV to INSTALL JAVA plugin.



  2. Search for MP3, AVI or other types of files.



  3. Click to download and play music, video or other types of files.

Saturday, December 08, 2007

Saturday, October 06, 2007

Test Anonymous Network for New Unsigned bands


New URL www.Dargens.com

Now has STUNT working firewall tunnelling and Upnp.

Sorry still only windows - working on mac and Linux compatibility.

Need folks to help testing.

A long way from finishing but making good steady progress.

Developer will be working full time from 8th October 2007.

Also, issue that JRE 1.60_02 and JRE 1.60_3 only work when jar is first downloaded.

JRE 1.60_01 and previous JRE versions work perfectly.

Friday, September 28, 2007

itsDargens Social Network P2P File Sharing (Testing)


Hi,

Ready to test (Sat 29th September 2007 Michaelmas).

Goto http://www.itsdargens.com/

Click on top left picture in TV.

(no need to login or register)


On next page, Click on START button where it says, "click here to start kerjodando:"

(IF YOU don't see START button but something else the download and install java from here.)

To get music you need to install the p2p thing by answering yes to install questions.

Then search for mp3* and right click to download music.

Then tell me if it works.

Thanks

(What's new is that it should now connect through firewalls).

Ez

Friday, August 31, 2007

Nearly There with File Galaxy


STUNT is not working, Casper has had to rewrite a huge amount of code to get it working but we are nearly there.

Next steps are:

  1. Clean data on site
  2. Get site certificate to stop warning message when downloading client
  3. Finish explanation on how to use client on the site.
  4. Fix bug that stops client working with JRE 1.6_02 (works with 1.6_02)

Tuesday, August 21, 2007

Michel Bauwens Anonymous P2P Peer Production

I found this very interesting.

In the end users will make their own networks (friend to friend). These networks will be private and free.


Monday, August 13, 2007

Audio Galaxy


1. Testing has stopped on TCP NAT traversal due to Casper having to move City. Looking to re-start soon. A real pity as we were very close to completing project. C'est la vie - Suppose there is more to life than hacking code.

2. Web Gui to have three parts:

  • Search form (done)
  • Search results page and link to queue item for download (partly done)
  • Download queue page with progress indicator and link to open downloaded file
As Vincent has quit the project due to lack of free time I am looking for a new person to do this.

3. The completed kerjodando p2p will closely resemble the old Audiogalaxy website:
  • Web based interface
  • Queue files for later delivery and
  • Full parsing of mp3 meta data.

Monday, August 06, 2007

TCP NAT Traversal Testing for Anonymous File Sharing


Firewall hole punching implemented.

Now testing step by step.

So sometimes the test group http://www.itsdargens.com/swarm/show_one/86d1cca8104f981648eb1b1d0f0f3a39
might produce unexpected results.

Please try it we need more testers.

Monday, July 30, 2007

STUNT P2P TCP NAT Traversal on a Ad-hoc Overlay Network


I've been thinking about this TCP NAT Traversal (TCP hole punching a method that allows everyone to connect quickly without port forwarding).

I think the following changes are needed to kerjodando to make it work.

  1. Trusted Peers list (and itsDargens User database table) need to include two extra hidden fields, User ID (prob already in itsDargens database) and "use STUNT" flag. For example, if 100 users on a LAN connect to one group they will all have different user IDs although they have the same ip+port. Then when a user wants to connect to another user (after trying direct connection) they connect to STUNT using their user ID and signal (using SIPS) to another users ID. STUNT then tell them what ip+port to use to connect to that user ID. Also STUNT would set the "use STUNT flag" to yes.
  2. ItsDargens user database to change to include "use STUNT" flag
  3. Trusted peer file needs to download and use the included user IDs and "use STUNT" flag as well as ip+port.
The other thing I realised is that for signaling, users will have to maintain a connection to the STUNT server as long as they have a user (user ID) in their trusted peers list that they are not connected to.

However, once they have connected to all their trusted peers they can disconnect form the STUNT server.

Also, probably there will be some users that you can't connect to even with STUNT, maybe these should be marked as such in "use STUNT" flag and counted as connected when deciding if should disconnect form STUNT server.

To me a STUNT server consists of the following processes:
  1. Maintaing TCP user connections with many users (User IDs)
  2. Recording user (user ID) ip+port for at least two test connections from the user
  3. Calculating predicted ip+port for a user (User ID)
  4. Reply to a request to connect to a User ID with predicted ip+port
  5. Telling other User to also make a request etc
  6. Recording "STUNT flag" in user database table so that it can be included in downloaded trusted peers
  7. Recording if STUNT does not work


More About STUNT:

Found STUNT ( Simple Traversal of UDP Through NATs and TCP too) library in java:

http://nutss.gforge.cis.cornell.edu//jstunt-faq.php


What does the stunt.jar library provide?

It provides a way to establish unproxied TCP connections between two end-points, both of which can be behind a NAT. It returns a SocketChannel that can be used for blocking or non-blocking IO as the application desires.


How does one write a server-client or peer-to-peer applications with the library?

We have provided a simple server-client application consisting of an EchoServer ( http://nutss.gforge.cis.cornell.edu//EchoServer.java ) that accepts inbound connections from one or more EchoClient ( http://nutss.gforge.cis.cornell.edu//EchoClient.java ) applications.



Does the library require some infrastructure?

Yes. The library requires a rendezvous server (much like a directory server) where applications with one URI can find the application with another URI and coordinate to establish a connection. The library also requires some STUNT servers that help applications find out their external IP address and port for establishing the real connection.


Does the rendezvous server proxy data?

No. The rendezvous server only helps set up the connection. After that, all data is exchanged directly between the end-points and does not go through the rendezvous server.


Who provides the rendezvous and STUNT service? Who can use them?

We at Cornell University are providing a rendezvous and STUNT service for developers and researchers to use. However, if you wish to deploy your own application that uses the library, we ask that you set up rendezvous and STUNT servers only for your own applications such that you do not overburden the Cornell service (which is for research and development purposes) and so that outages and changes in the Cornell service doesn't affect your application. The rendezvous server ( https://gforge.cis.cornell.edu/frs/?group_id=15 )and STUNT server ( https://gforge.cis.cornell.edu/frs/?group_id=15 )code is freely available.


Is this library under active development? Will you implement feature X?

The library is a proof of concept that TCP NAT Traversal is possible and is intended to be a starting-poing for application developers who want to use it in a real-world deployable project. At the same time, it is a library that can be used more-or-less unmodified for research and quicky-development and prototyping of applications. Time permitting, I would like to implement various features that are requested; but I cannot promise that all features will be implemented in a timely fashion. I will do my best to make the library more suited to its primary goal -- show how the NAT TCP problem can be solved easily by applications.


I want to implement TCP NAT traversal in my application but don't want to use your library?

The TCP NAT traversal code is contained in the file STUNTCont.java ( https://gforge.cis.cornell.edu/plugins/scmcvs/cvsweb.php/old/stunt_java/src/net/nutss/stunt/STUNCont.java?cvsroot=cvsroot%2Fnutss ). It includes extensive documentation. Feel free to adapt the code to your application. The rendezvous service and the STUNT service are modular and may be replaced by your own implementations if you wish to use the rest of the library.



Also see http://en.wikipedia.org/wiki/STUN

Aslo see:

see STUNT

http://nutss.gforge.cis.cornell.edu/stunt.php

and

http://www1.ietf.org/mail-archive/web/p2prg/current/msg00789.html

and

http://en.wikipedia.org/wiki/NAT_traversal

and

http://reports-archive.adm.cs.cmu.edu/anon/isri2005/CMU-ISRI-05-104.pdf

and

http://emu.freenetproject.org/pipermail/tech/2005-September/011611.html

Saturday, July 21, 2007

kerjodando p2p - Your Own Private Internet


Hi

Now testing kerjodando p2p, your own private internet.

Search, download, enjoy.

  1. Goto test page here http://www.itsdargens.com/swarm/show_one/86d1cca8104f981648eb1b1d0f0f3a39
  2. Click START to open torrent file to download and install kerjodando p2p client
  3. Click RUN to accept kerjodando digital signature.
  4. When kerjodando opens wait for connection (3 minutes)
  5. Search
  6. Download by right-clicking on file and selecting download
Currently beta testing so email me back with comments.

Thanks

Monday, July 02, 2007

You Can Use Any Port on ANts p2p version 2 (kerjodando)


The development team has just added a new option to use any port to connect to Ants p2p (kerjodando) YUM YUM!

See http://www.itsdargens.com/swarm/show_one/86d1cca8104f981648eb1b1d0f0f3a39

If you don't put a port then 443 is used.

443 is still the recommended port as it allows people behind firewalls to connect easily.

Please try it we need some feedback.

Friday, June 29, 2007

New Version of "Lucene" for ANts p2p


It is possible to use the new version of "Lucene".

See this web page "http://lucene.apache.org/java/2_0_0/"

The developers of ANts p2p version 2(kerjodando) are very busy.

They are working on:

1.Making the application smaller so that it loads faster and uses less "RAM".

2.Changing the "GUI" to make it easier for new Users to use.

(a) web browser "GUI";
(b) Alowing other ports other than 443 on www.itsDargens.co web site.

So there is no time to update Lucene.

However, it is an easy task for someone with a little Java experience and a lot of time.

See this page there is a clear upgrade path: http://lucene.apache.org/java/2_0_0/

If you want to help make "ANts-p2p" better email me at http://kerjodando.blogspot.com/ and see http://www.kerjodando.com/ "ANts-p2p" version 2

DOWNLOAD FASTER PRIVATELY

Tuesday, June 26, 2007

Concept Web GUI and Other Developments in the Pipeline


You can now view an alpha concept web GUI by launching kerjodando by clicking "Start" on this web page http://www.itsdargens.com/swarm/show_one/86d1cca8104f981648eb1b1d0f0f3a39
and then typing/clicking on the following, ONCE YOU HAVE CONNECTED TO A BUDDY GROUP (meet-up/swarm), http://www.itsdargens.com/webgui


Vincent is confident he can implement download function on web page in the coming weeks.

Casper is progressing well on the reduction in size of the client. Client size is now down to 4.3 mega bytes from 7.2 mega bytes. There are a few bugs but once these have been cleared then his code will be integrated with Vincent's on SVN!

Monday, June 25, 2007

Connecting to a P2P Network - ANts p2p and ANts p2p version 2 (kerjodando)

Port Needed to Connect to Ants p2p and Ants p2p version 2 (kerjodando)

Your Enviroment

Can You Connect?

Your Port

Port on Firewall Open?

Port forwarded?

YOU can connect TO OTHERS

OTHERS can connect TO YOU

443

Yes*

Yes

Yes

Yes

443

Yes*

No

Yes

Once you have connected to first user then others can connect to you.

Other Port

Yes

Yes

Yes

Once you have connected to first user then others can connect to you.

Other Port

Yes

No

Yes

Once you have connected to first user then others can connect to you.

Other Port

No

No

No

No

*This port is always open in firewalls;

Saturday, June 23, 2007

Feedback From Testing




Good:
Downloads fast
Uploads Fast
Loads of Content

Bad:
Lots of new users could not connect


Connection is the most important part of p2p. Once web gui is done and application made much small so quicker to download the next big priority is connection.

Currently you should have no probs if use port 443 and make sure that this is forwarded.

If you use another port (even if forwarded) then no one will be able to connect to you. You can only connect to others.

If you are behind a firewall or proxy and don't use 443 then you will not be able to connect.

So use port 443, make sure it is forwarded.

Use the proxy option if you're behind a corporate or university proxy like websence.

Tell you friends about it. Then you can make sure that you have someone to connect with and share with.

Wednesday, June 20, 2007

Smaller P2P - New Project Member Casper


The project now has a new team member, Casper.

He has been tasked to reduce the size and complexity of the kerjodando client.

He is starting work immediately.

His first task is make sure the admin of the project, svn etc is professional.

Sunday, June 17, 2007

kerjodando p2p updated with latest ANts p2p Code


I have updated kerjodando with the latest ANts p2p source code from Gwren. (see www.itsDargens.com)

For the next few weeks (months) while we are testing the meetups (private groups) have been switched off to make it easier to test.

The next update will be an example of the webgui showing searching.

Hopefully this will be tomorrow.

Monday, June 11, 2007

Source code of Latest Ants P2P Released


Project: ANts P2P (antsp2p)
Package: antsp2p developer
Date : 2007-06-11 03:51

Project "ANts P2P" ('antsp2p') has released the new version of package 'antsp2p
developer'. You can download it from SourceForge.net by following this link:
<https://sourceforge.net/project/showfiles.php?group_id=106782&release_id=515125
>
or browse Release Notes and ChangeLog by visiting this link:
<https://sourceforge.net/project/shownotes.php?release_id=515125>

Tuesday, June 05, 2007

Kerjodando Source Code and Gwren

Spoke on the telephone to Gwren (Roberto Rossi) yesterday. He seems to be enjoying life. He apologised for not publishing source code for a year for last update of ANts p2p. He promised to publish it as soon as he had time.

I have now published the FULL source code for kerjodando p2p on google code ( http://code.google.com/p/kerjodando/source ).

We currently have an issue with the web gui, it does not work, it won't return search results.

Vincent is working on it.

Hopefully, we will have a fix this afternoon.