Nuovo Peer Client Open Source

Discussioni off-topic, presentazioni, segnalazione problemi col sito, eccetera.

Nuovo Peer Client Open Source

Messaggioda pesapower » lun lug 26, 2010 2:44 pm

Ciao a tutti :mrgreen:

Negli ultimi mesi nel tempo libero ho scritto un programma in C# sotto Windows per il file sharing, in pratica la condivisione di file di qualunque tipo come accade con eMule o i client Gnutella, totalmente Open Source e sotto licenza GNU vers.3, NO Profit (niente pubblicità o spyware per carità).
Ho creato anche un programma in PHP che ho messo nel mio sito web che svolge la funzione di collegare fra loro tutti gli host che si collegano alla rete iKiwi (tipo GWebCache per chi conosce Gnutella).
Il bello di tutto questo è che non viene usato nessun protocollo P2P già esistente ma ne ho inventato un mio tanto per imparare un pò ed è già predisposto per supportare in futuro il download multiplo da più sorgenti.

La filosofia di questo programma è il P2P Puro: la totale assenza di server centrali per lo scambio dei file.

Il programma l'ho chiamato iKiwi, spero che vi piacia come nome ;)
Per adesso si comporta bene, lo si apre e automaticamente aggiunge alla propria lista gli ultimi 5 (numero provvisorio) peer che si sono "logati" al server PHP del mio sito, per quanto riguarda lo scambio dei file avviene a pacchetti di dimensioni variabile, scelta dal client, compresa tra 0+ e 2Mb, ogni paccheto viene correlato di una chiave hash in MD5 che ne verifica l'integrità; in caso il pacchetto ricevuto non abbia un MD5 uguale a quello prefissato iKiwi richiede di nuovo lo stesso pacchetto. Poi c'è la parte di codice per le ricerche dei file condivisi che per adesso non descrivo qui.

Quello che mi piacerebbe è trovare delle persone disponibili nel tempo libero (quando vogliono non è mica un lavoro :mrgreen: ) a prendere parte ad un team di sviluppo per iKiwi, per migliorarlo, perfezionarlo e renderlo popolare.

Qui trovate il mio sito per iKiwi in Joomla: http://www.ikiwinet.com

invece qui la pagina SourceForge del progetto: www.sourceforge.net/projects/ikiwi/
nella pagina di SourceForge ci sono i sorgenti commentati e tutto con tanto di eseguibile nella cartella bin\.

Se siete interessati o volete provarci o semplicemente siete curiosi basta che rispondete a questo topic, anche per domande o consigli

Se qualcuno avesse particolare urgenza ecco la mia email: pesapower@gmail.com , ma vi consiglio di usare questo forum che mi pare ottimo :!: .

P.S. se volete testarlo dovete aprire la porta 500 del vostro router.

Spero di aver interessato qualcuno...
pesapower
 
Messaggi: 6
Iscritto il: lun lug 26, 2010 2:24 pm
Località: Vicenza

Re: Nuovo Peer Client Open Source

Messaggioda walter » lun lug 26, 2010 3:46 pm

complimenti per l'impegno e la disponibilità
walter
 
Messaggi: 172
Iscritto il: dom apr 20, 2008 9:55 pm

Re: Nuovo Peer Client Open Source

Messaggioda pesapower » lun lug 26, 2010 4:05 pm

Grazie! Vuoi provarci?
pesapower
 
Messaggi: 6
Iscritto il: lun lug 26, 2010 2:24 pm
Località: Vicenza

Re: Nuovo Peer Client Open Source

Messaggioda walter » mar lug 27, 2010 9:34 am

provare e' sempre eccitante .Pero in questo periodo sono incasinatissimo
grazie
ciao
walter
walter
 
Messaggi: 172
Iscritto il: dom apr 20, 2008 9:55 pm

Re: Nuovo Peer Client Open Source

Messaggioda pesapower » mar lug 27, 2010 9:37 am

ok ciao :D
pesapower
 
Messaggi: 6
Iscritto il: lun lug 26, 2010 2:24 pm
Località: Vicenza

Re: Nuovo Peer Client Open Source

Messaggioda Fad » mar lug 27, 2010 8:42 pm

Ho provato l'applicativo.. al momento non riesco a collegarmi a nessun peer.
Sicuramente è un buon punto di partenza per iniziare a lavorarci e migliorarlo.

Una domanda che mi sorge spontanea guardando i sorgenti: come mai ogni volta che devi inviare un messaggio crei un nuovo TcpClient ed istanzi una nuova connessione..? non è più semplice e performante mantenere una connessione, con magari un meccanismo di keepalive..?

Ciao!!
Fad
Fad
 
Messaggi: 361
Iscritto il: dom gen 13, 2008 6:55 pm
Località: Brescia

Re: Nuovo Peer Client Open Source

Messaggioda pesapower » mar lug 27, 2010 11:10 pm

Ciao Fad :D

1) non sei riuscito a collegarti a nessun Peer semplicemente perche' non c'e' nessuno collegato con il protocollo di iKiwi ( non e' ancora cosi popolare :mrgreen: );

2) per quanto riguarda il KeepAlive delle connessioni Tcp grazie per il consiglio :D e proprio per questo che cerco persone interessate come te!

Come ti e' sembrato il codice? Proprio oggi ho migliorato la sintassi del protocollo rendendola piu' "friendly", domani carico i sorgenti aggiornati su SourceForge cosi puoi darci una occhiata!

A domani ciao :D
pesapower
 
Messaggi: 6
Iscritto il: lun lug 26, 2010 2:24 pm
Località: Vicenza

Re: Nuovo Peer Client Open Source

Messaggioda Fad » mer lug 28, 2010 10:51 am

Ok, gli darò un'occhiata (nel limite del tempo disponibile che ho).
Ciao..
Fad
Fad
 
Messaggi: 361
Iscritto il: dom gen 13, 2008 6:55 pm
Località: Brescia

Re: Nuovo Peer Client Open Source

Messaggioda pesapower » mer lug 28, 2010 2:41 pm

Fad ha scritto:Ok, gli darò un'occhiata (nel limite del tempo disponibile che ho).
Ciao..

Ovviamente,ci mancherebbe, ciao :)

Versione 0.9.2 inserita su SourceForge :!:

Ho migliorato la sintassi del protocollo.
La sintassi per qualsiasi messaggio è la seguente (va scritta esattamente così a parte i valori del tutto casuali ovviamente):

KFSP
Listen-IP: 1.2.3.4:500
Remote-IP: 5.6.7.8:500
User-Agent: iKiwi 0.9.2
ID: ...
TTL: ...(n>=0)
Command: ...
Parameter: ...

Descrizione:

KFSP => (Kiwi File Sharing Protocol, che fantasia :) ) nome del protocollo
Listen-IP => IP:Porta del Peer che invia il messaggio
Remote-IP => IP:Porta del Peer che riceve il messaggio
User-Agent => client in uso dal Peer
ID => identificativo del messaggio (attualmente associo l'ora, con tanto di millisecondi, con una serie di numeri casuali)
TTL => classico TimeToLive (tempo di vita) per impostare la morte di un messaggio dopo una serie di rimbalzi fra i peer (ad ogni rimbalzo TTL--)
Command => commando o istruzione o descrizione-pacchetto impartito al Peer remoto (SEARCH, FILE_FOUND, FILE_PACK_REQ, FILE_PACK, attualmente questi)
Parameter => parametri che correlano il Command qui sopra, esempio: Command: SEARCH \n Parameter: Nome_File*
pesapower
 
Messaggi: 6
Iscritto il: lun lug 26, 2010 2:24 pm
Località: Vicenza

Re: Nuovo Peer Client Open Source

Messaggioda pesapower » gio lug 29, 2010 3:02 pm

Aperto il Wiki per la documentazione, ecco il link https://sourceforge.net/apps/mediawiki/ikiwi/index.php?title=Main_Page. :!:

Altra piccola novità: ora siamo io e altri tre membri nel team grazie a Help Wanted di SourceForge :mrgreen: ma mi piacerebbe avere almeno un italiano nel team, nessuno-uno-uno vuole provare? :?:

Spero di non insistere troppo! ciao e a presto :D
pesapower
 
Messaggi: 6
Iscritto il: lun lug 26, 2010 2:24 pm
Località: Vicenza


Torna a Il salotto

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite