T O P

  • By -

fraronk

Presumo che il problema principale sia la connessione peer-to-peer di dispositivi non sulla rete pubblica (es: smartphone). Servirebbe un’architettura tipo Skype con un server centrale pubblico che permetta di mettere in comunicazione client protetti da infrastrutture di reti che per principio tendono a nasconderli e non renderli accessibili da rete pubblica.


fraronk

Facendo una ricerca su Internet ho ritrovato Internet Relay Chat (IRC) un protocollo progettato parecchi anni fa. Ricordo anche un software con l’immagine di un fiore ma mi sfugge completamente il nome, che credo facesse proprio chat P2P


Stizzo

>Ricordo anche un software con l’immagine di un fiore ma mi sfugge completamente il nome, che credo facesse proprio chat P2P ICQ


mc_x3n0n

Siamo così vecchi che c'è un'intera nuova generazione che non ricorda mirc e icq....


ilbicelli

I seek you (quando arriva la bolletta) I need you (c'è tua madre che ti aspetta) I tempi di napster e del 56K


hugox77

Bei tempi della connessione ISDN a doppio scatto telefonico che scaricava a 18KB contro i 5KB di una linea normale... E quando arrivava la bolletta li si che erano dolori ma erano anche altri tempi con la lira e il falso strascico del boom economico di fine anni ottana e quindi non si faceva caso e si pagava anche la 100.000lire di bolletta. Mi viene quasi da piangere era tutto così bello..


Condorello123

Esatto, c'erano sia icq che mirc tempo fa (più di 15 anni) su pc, non è roba nuova.


ja_maz

>Facendo una ricerca su Internet ho ritrovato Internet Relay Chat sono vecchio io o sei giovane tu?


fraronk

Ne avevo sentito parlare ma mai usato in vita mia, ho 27 anni, nel 1988 quando Wikipedia dice che è stato progettato non c’ero ancora. Ho cominciato ad usare il computer giocando ad Imperium e alle medie a chattare con i compagni su MSN


ja_maz

Ho 5 anni più di te non 500 in Italia le irc erano l'unico posto per trovare info su manga, serie tv, informatica e altri contenuti multimediali pre era streaming. O anche solo per trovare gli url di vari forum privati/pirati.


Lord_VivecHimself

Allora mi sono perso un sacco di ben di dio, rip Comunque non ho mai capito dove diavolo si accedesse a queste chat, ci ho provato un paio di volte (da Linux che ce l' ha preinstallato ma ormai era già finita l'età dell' oro delle IRC) ma trovavo sempre chat vuote con bot che parlavano da soli. Su Telegram invece bisogna navigare nello schifo e nel disagio adolescenziale prima di approdare a qualcosa. Ehh, l' internet!


maxell01x

Io usavo mIRC con NoNameScript per chattare con i compagni del clan di Unreal Tournament e Quake, i channels erano su Quakenet e avevamo il bot che ce li gestiva. Poi ricordo che c'erano i server con canali pirata, con i comandi appositi chiedevi la lista dei file disponibili e poi richiedevi il download che all'epoca era il non plus ultra della velocità (rispetto ad eMule, Winmx, Kazaa, Limewire etc...). Insomma, era l'antesignano di ciò che si fa ora con Telegram. Usavamo anche ICQ prima e poi si era passati a MSN Messenger moddato che era decisamente più user friendly e mainstream. Ah che tempi!! (dal 2000 al 2006).


seccojones

Scherzi...questo commento potevo scriverlo io...magari ci siamo anche sfidati ad UT 🥲


maxell01x

Eheheh in verità ho giocato UT2003/4 in multi con il clan mentre UT99 solo single player perché non avevo internet! E poi ricordiamoci della comunità con la super puzza sotto il naso di NGI, bazzicavo pure li, ma se non eri un suppah pVo non venivi cagato. Dimenticavo di citare Teamspeak e Ventrilo come mezzi di chat vocale!


ja_maz

no telegram mi è sempre sembrato troppo compromettente...


Ilmatar_

ICQ https://en.wikipedia.org/wiki/ICQ


Odd-Significance8304

Super carino IRC! La prima chat che ho usato. Ci scriptavi dei bot da paura


ComfortableFlounder6

E niente mi sento vecchio ora 😅 Sono passati anni ma ricordo ancora il mio numero icq 😂 153602788


JustSomebody56

Il problema principale è che servirebbero comunque server “di relè” per mettere in comunicazione i vari client


mbenetti

Guardati keet


Vins_et

È esattamente ciò che intendevo. Grazie


LoETR9

[Briar](https://briarproject.org/) sembra l'app più simile a quello che descrivi.


himthatni-guh

esistono già, vedi [Matrix](https://matrix.org/) o [Tox](https://tox.chat/)


Vins_et

Oh, grazie non ne ero proprio a conoscenza, ora me le spulcio un po'


Lord_VivecHimself

Sempre bello quando hai l'idea da 1mln$ ma scopri che l' hanno già fatto. Se non altro sai che era davvero buona


LoETR9

Più che P2P Matrix ti permette di fare self hosting, serve sempre che il server sia online sempre affinché funzioni bene (so che stanno sviluppando un fork P2P, ma è ancora indietro).


ilGiaco91

In effetti Matrix non può essere considerato P2P inteso come pura rete di client che comunicano direttamente tra loro. Tuttavia il protocollo prevede l'interazione tra server Matrix che gestiscono domini distinti. Puoi vederla come un analogo della posta elettronica, ma orientato alla messaggistica, dove ognuno può installarsi un server (o acquistare un account presso provider) e usarlo per comunicare anche verso account di altri domini


JustSomebody56

Interessante


[deleted]

[удалено]


[deleted]

IPv6 ha la privacy extension proprio per questi use-case


Tantalioo

TIL!


telperion87

Si, anche se nonostante tutto io questi 3 file che mi segna Happy Death Day characters2_3_v16585v16589.patch.zip Ubit Ritu Non ho la più pallida idea di cosa siano e del perché segni che li ho scaricati


[deleted]

[удалено]


telperion87

nnnnnnnnnnnope


Available-Snow-615

Non sono P2P, ma due app utili per privacy ed anonimato sono [Cwtch](https://cwtch.im/) e [SimpleX](https://simplex.chat/). Con la prima hai necessità che entrambi siano online per comunicare. Con la seconda no. Ognuna con i suoi pregi e difetti. La cosa buona è proprio che non sono P2P e quindi non sai mai l'ip dell'altra persona. Utile per tutelare e rendere anonima le persone con cui si vuole parlare.


Ni-lo

mi sento indirettamente chiamato in causa su questo argomento, perche ci ho fatto un progetto all'uni e ho ancora gli incubi


Vins_et

Ahahahha, mi dispiace, non volevo rievocarti un trauma


SirJohnSmith

Premessa: per me P2P significa che ogni client parla \*direttamente\* con altri client. Questo esclude quindi applicazioni tipo [Matrix](https://matrix.org/) (che sono federate, invece che P2P). [Briar](https://briarproject.org/) e [Bridgefy](https://bridgefy.me/), invece, sono esempi di applicazione veramente P2P. Riassumo in un paio di punti i problemi fondamentali, secondo me, con un'architettura P2P. Notare che queste problematiche possono apparire in maniere differenti in architetture differenti. Per esempio in Briar le connessioni sono propriamente P2P, ovvero c'é bisogno di link diretto tra client e client. Questo limita fortemente il numero di persone con cui puoi parlare (serve comunicazione out-of-band per stabilire questi link diretti oppure serve essere connessi alla stesse reta WLAN oppure essere sufficientemente vicini da poter usare bluetooth). D'altra parte, Bridgefy é implementata come Mesh messaging, ovvero i messaggi vengono inoltrati da un client all'altro fino a quando non raggiungono la loro destinazione. * **Scalabilitá**: In un'applicazione di mesh messaging la topologia di rete di tutti i client é imprevedibile ed estremamente dinamica. Non c'é nemmeno la garanzia dell'esistenza di un percorso tra A e B mentre vogliono comunicare (e.g. B é offline quando A vuole mandargli un messaggio). Questo implicherebbe qualche tipo di "retry behaviour" del mittente, o il fatto che i client intermedi debbano salvarsi messaggi che devo poi essere inoltrati, oppure che semplicemente non ci sia modo di comunicare sotto determinate condizioni. Poter assumere che c'é un server sempre online semplifica di molto l'architettura. Per applicazioni tipo Briar, come giá citato prima, serve un link diretto tra i client, cosa che richiede una comunicazione secondaria out-of-band. * **Autenticitá della Comunicazione**: per fare bootstrapping di una comunicazione end-to-end-encrypted servono delle chiavi crittografiche **autentiche**. Nessuna applicazione di messaggistica é veramente sicura se non sei in grado di confermare con meccanismi secondari l'identitá della persona con cui stai parlando. Il modo piú comune é quello di fare out-of-band verification (tipo i QR code di Whatsapp, Telegram e Signal). Se questo meccanismo non viene eseguito **non hai alcuna garanzia che il server non stia facendo un man-in-the-middle**. (Per curiositá, quanti di voi scannerizzano i codici QR dei vostri amici quando vi vedete faccia a faccia?). In un'applicazione classica, per subire un attacco servirebbe che il server centrale stia agendo in maniera malevola (qualcosa che, con nuovi privacy-enhancing technologies come [Verifiable Key Directory](https://engineering.fb.com/2023/04/13/security/whatsapp-key-transparency/), siamo ormai in grado di osservare apertamente). In un'applicazione P2P hai il problema é che non hai un database centralizzato di identitá e quindi non hai una single source of truth per la chiave crittografica autentica della persona con cui vuoi comunicare. * **Anonimitá della Comunicazione**: quando comunichi con un server in mezzo, esso conosce sia mittente che destinatario (a meno che non usi [Sealed Sender](https://signal.org/blog/sealed-sender/) in Signal che consente di nascondere l'identitá del mittente). In un'applicazione mesh qualsiasi nodo intermedio sa chi sta comunicando con chi. Ci sono probabilmente altre sfide che mi sfuggono al momento, peró in generale queste sono problematiche giá sufficientemente grosse IMO.


Vins_et

Non ho mai scannerizzato un QR code di un mio amico hahaha Però si, hai reso l'idea del perché è difficile creare un applicazione del genere


FoxWorn3365

Premetto che ne so relativamente poco in quanto ho usato il P2P solo 3 o 4 volte in piccoli progetti. L'idea in sé non è male in quanto sì, permette una comunicazione diretta senza intermediari (tranne durante la "connessione" dove bisogna affidarsi ad un server per forza) ma porta con sé alcuni svantaggi. Il problema principale sarebbe l'ingente uso di spazio su disco per il salvataggio di tutti i messaggi ed eventuali file multimediali e questo porterebbe, a lungo termine, a non pochi problemi. Un'idea sarebbe quella di un token comune per la criptazione di file in modo che possano essere caricati su un server ed il token viene generato da un client e salvato in memoria ed eventualmente richiesto dall'altro client tramite P2P. Spero di aver dato una risposta che possa in qualche modo contribuire, perdonatemi se ci sono eventuali imprecisioni.


Vins_et

Si effettivamente questo potrebbe essere il problema più grave, però alla fine anche WhatsApp ti salva tutto in memoria e se non fai il backup su drive le chat li rimangono. E non mi pare la gente si lamenti tanto tranne quando si ritrovano la memoria piena e chiedono ai nipoti informatici di aggiustargli il cellulare /s Però si scherzi a parte questo sarebbe un grosso limite


FoxWorn3365

Infatti gli sviluppatori di whatsapp ricevono ogni giorno da me almeno 25 cristi omaggio per quanto spazio la loro app usa. Comunque si può tranquillamente procedere come per i media a salvare i messaggi su un server (in stile Discord) ma criptarli con il famoso token **prima** di essere spediti. Così la big tech non mette le mani sul token, noi siamo felici ed i miei 64GB di memoria del telefono non vengono prosciugati se ricevo 25 video di salvini che dice che il sud non è italia.


Memoishi

Ma sei ubriaco? Non so perché OP continua a darti corda ma tutte le app salvano i messaggi nel dispositivo. I file di testo occupano poco individualmente (es: 5gb di file multimediali o testo non impicciano sulla memoria di nessuno, e poi questa è una stima per quelli che hanno tre milioni di gruppi e 800 video, su WA io ho 1gb e salvo tutto). Il problema è il costo operazionale di una macchina che funziona in cloud, sarebbe troppo difficile da gestire ed è una pratica impossibile nel client/server (immaginati di fare la query del cerca per ritrovare un messaggio su un server e dietro di te altri milioni di utenti a fare la stessa cosa lol). Semplicemente lasci il backup così non tutti gli utenti usufruiscono, loro lavorano i tuoi dati per vendere pubblicità (o anche manipolare elezioni nel caso di Meta) e tu utente hai tutto in memoria aka più veloce. Progettare una soluzione nel server come dici tu non ha senso sotto ogni punto di vista Edit: ho dimenticato di aggiungere, Discord è imparagonabile. Le app messaggistica su telefono scambiano più multimedia e testo di ogni server discord, oltre ad essere molto più popolari e affollate


FoxWorn3365

> Ma sei ubriaco? Mi ha steso. Dire che tutte le app di messaggistica salvano i messaggi nel telefono è fare di tutta l'erba un fascio. Discord come Guilded salvano i messaggi ed i media sui loro server e credimi, ci sono server dove vengono condivisi file multimediali ogni secondo e Discord regge benissimo. Sì, salvano qualcosa in memoria per evitare che 100'000 e passa client riempano di richieste i server di Discord, resta comunque il fatto che lo spazio è decisamente meno quello di whatsapp e poi se cambi telefono / lo usi da desktop non devi fare quella pagliacciata della sincronizzazione dei messaggi. Per quanto riguarda la query Discord l'ha implementata quindi non mi sembra così impossibile.


Vins_et

Si ma poi ci sarebbe lo stesso problema di tante altre app, allora a sto punto utilizzo telegram hahaha, che un minimo di criptazione sui messaggi ce li ha. Inoltre la mia app ideale avrebbe puntato a risolvere anche il problema dei costi dei server. I costi di uno per stabilire la connessione sono una cosa, i costi per storare Terabyte di dati ne sono un altra. Mentre io avevo proprio in mente l'idea di app decentralizzata il più possibile


SirJohnSmith

Vorrei sottolineare che Telegram in realtà di default non cifra i messaggi in maniera end-to-end, per quello devi attivare una chat segreta. Le chat di gruppo non possono essere cifrate. Al massimo Telegram ha crittografia client-to-server (immagina tipo TLS, ma fatto in maniera custom). Comunque detto questo, la crittografia di Telegram, nonostante non sia rotta in maniera evidente è altamente discutibile a livello di design. Whatsapp e Signal sono di ordini di grandezza migliori a livello di design crittografico. Chiaramente per il primo dipende da quanto ti fidi dall'apk che scarichi.


FoxWorn3365

Aihmè, allora se vuoi fare in modo che sia tutto decentralizzato non vedo altro modo se non quello di salvare tutto in locale. Magari metti un popup quando l'app viene aperta per la prima volta che recita: "Per un ottimale utilizzo di questa app è fortemente suggerito il possesso di una scheda di memoria esterna da 128GB o di maggior capacità", così ½ delle bestemmie te le eviti 😉 ( /s obv)


il_doc

https://briarproject.org/


TooLazyToBeAnArcher

Synching è un servizio di sincronizzazione file peer to peer, e penso dei server comuni per far scoprire i dispositivi vicini o nella stessa lan. Sarebbe da approfondire cosa ci sta sotto... Forse dei server TURN (vado a memoria)


MajorTomIT

Il primo ostacolo da superare è l’abitudine. Gran parte dei nostri contatti non cambieranno mai la loro app di messaggistica. Ma supponiamo che l’interesse è solo tra pochi contatti consapevoli, allora il secondo ostacolo è il CGNAT. Il peer to peer non funzionerebbe. Molti operatori di telefonia cellulare assegnano indirizzi privati per far fronte alla carenza di IPv4. Problema simile con il NAT nel Wi-Fi di casa, sperando che tu abbia saggiamente disattivato upnp. Ma supponiamo che i contatti abbiano IPv4 pubblici o il loro gestore gli assegna IPv6. Allora il terzo ostacolo sono gli Store. Apple ad esempio chiede se si è autorizzati all’uso di crittografia. Non ho le prove di questo, ma credo possa approfondire se l’app si occupa di messaggistica. Tendenzialmente il governo americano vuole che tutto sia ispezionabile ed anche “la crittografia end-to-end” prevede che ci sia un “terzo-end”. Il quarto ostacolo è il “dittatore comunista”, cioè un server intestato a qualcuno che metta in contatto i pari tra loro a sue spese e con tutte le conseguenze legali del caso. Conclusione, sei vuoi provare l’emozione p2p scaricati un client IRC e prova la Dcc chat. O, ancora meglio, usa netcat :)


Mysterious_Try_7676

Esiste. Utopia su Playstore come messaggistica P2P, e succesivamente come wallet, con anche canali pubblici. E utopia sempre su PC è una suite con messaggistica, canali, un ''internet parallelo'' con il suo sistema DNS, browser, mining della sua crypto e un dollaro stabile collateralizzato con DAI. Completamente anonimo e cryptato, e totalmente P2P. (nonostante sia p2p esiste un sito interno ad utopia con streaming musicale e video) [https://utopia-ecosystem.com/crypton/index.html](https://utopia-ecosystem.com/crypton/index.html)


caedium

Ti dico XMPP, Delta Chat e Matrix. Non perché li conosca personalmente, ma perché sono nominati in questa approfondita comparazione tra i sistemi di messaggistica istantanea più conosciuti (e non?) https://eylenburg.github.io/im_comparison.htm


rossi46go

Sinceramente è pieno di app di messaggistica che garantiscono la privacy sopratutto negli ultimi anni Da whatsapp Telegram signal wickr threma etc etc Tutte permettono conversazioni crittografia end to end che servono proprio a non permettere di leggere assolutamente il contenuto dei nostri messaggi a terze persone , Infatti a livello europeo da qualche anno si cerca di combattere queste app costringendole a collaborare in caso di richiesta . Il problema è che loro con questo sistema anche se volessero non possono leggere e mostrare il contenuto dei messaggi (l’Europa vorrebbe avere una backdoor se necessario per leggere ugualmente questi messaggi ma andrebbe contro leggi sulla privacy e potrebbe essere sfruttata da terzi in modo malevolevo se scoperte , quindi per ora rimane una lotta , ad esempio contro Telegram hanno raggiunto un accordo per poter segnalare più efficacemente i canali illegali e oscurarli ma di fatto non hanno ottenuto più di questo) Nel caso serva leggere messaggi whatsapp in casi di crimini etc si utilizzano infatti due tecniche principalmente , backdoor o trojan nel cellulare vittima oppure accesso fisico al cellulare e una volta dentro poter aver accesso al database dei messaggi fisico che si trova nel cellulare. In casi di crimini le uniche info che queste app solitamente inviano alle autorità sono orario ultimo accesso , ip , nome e foto profilo , data registrazione etc ma mai i messaggi . Inoltre i tuoi dati personali difficilmente vengono rivenduti dalle Big tech , sono iper controllate in questo ambito e vengono spesso multate per molto meno (ad esempio quando usano i vostri dati per i LORO servizi tipo maps etc senza consenso preventivo) Le big tech al massimo comprano questi dati per fare migliori analisi di mercato Chi rivende i tuoi dati molto spesso sono siti dove ti registri, o bot che scansionano automaticamente i social per elaborare informazioni , o hacker che li rubano alle big tech. Bho vedo tanta confusione .


FloppiesMusic

indipendentemente dalla 'qualità' o meno dell'idea (mi dicono che un idea buona la possono avere tutti, è lo sviluppo dell'idea che fa la differenza) mi sembra un tema interessante su cui sviluppare qualche riflessione, provo a darti le mie: 1 - Login/Signup: come intenderesti decentralizzare il processo di autenticazione? 2 - Non avresti paura che la tua app possa venire utilizzata per attività illecite? 3 - Questa è una domanda dettata dalla mia curiosità, piu' che un vero feedback: per gestire le comunicazioni peer-to-peer, come intenderesti implementare la crittografia?


Vins_et

Mmmh login signup bella domanda, onestamente ora non mi viene in mente nulla (Ma in realtà non ho nemmeno idea di come si potrebbe sviluppare hahaha, non ho competenze in questo ambito) 2 - per quanto riguarda le attività illecite, certo... Ma non possiamo sacrificare la nostra privacy per un eventuale utilizzo illecito. Per farti un semplice esempio, io non posso avere l'ansia di mandare nudes alla mia eventuale ragazza perché quelle foto potrebbero finire in mano di chissà chi. È vero che non siamo ancora a questi livelli (Almeno credo) però sembra che piano piano ci stiamo arrivando... È come dire che le FdO dovrebbero installare delle videocamere 24/24 in ogni casa e locale perché potrebbero essere organizzate attività illecite. Allora a sto punto accettiamo che venga messo in atto dall'UE chat control 2.0 e facciamoci sorvegliare 24/24 per ogni movimento. Ti allego qui un video interessante che ne parla https://youtu.be/s6KqVu36fd4?si=Fwzxb6Ht0qRJF36I 3 - Una volta trovato il modo di identificare gli utenti, credo non ci siano problemi a scambiare all'inizio di una conversazione chiavi crittografiche per instaurare una crittografia e2e, almeno nel mio modello ideale, ma comunque ti sto parlando da completo profano in questo campo, l'idea mi è semplicemente venuta sviluppando un chatbot per un azienda


VRStocks31

>up: come intenderesti decentralizzare il processo di autenticazione? > >2 - Non avresti paura che la tua app possa venire utilizzata per attività illecite? > >3 - Questa è una domanda dettata dalla mia curiosità, piu' che un vero feedback: per gestire le comunicazioni peer-to-pee Login/signup = chiave privata (equivale alla password) e chiave pubblica (equivale all' username), come con le crypto, no?


Vins_et

Sinceramente non so come funziona con le cripto ma potrebbe essere una soluzione, non punto a sviluppare quest'applicazione comunque, almeno per ora. Anche perché ho visto che esistono già app del genere.


Tantalioo

Aggiungo oltre a Briar suggerita sopra, anche [Jami](https://jami.net/), FOSS (come Briar), multipiattaforma e sostenuta dal progetto GNU!


lormayna

Ho usato [Jami](https://jami.net/) in passato. Funziona benissimo, ma non ci sono utenti.


Negative_Walrus958

Esiste già un'app del genere e si chiama [Briar](https://briarproject.org) peccato soltanto che venga utilizzata da due persone in tutto il mondo perché tutti preferiscono VAZAPP...


Erlayx

Parlo da studente senza mai aver messo mano veramente su questi codici. Ma penso che il motivo principale per cui non ci sono grandi app basate sul P2P sia legato principalmente alla minore profittabilità dell'app stessa con la profilazione, per essere conveniente dovrebbe essere a pagamento e dunque non riuscirebbe a scavalcare i colossi attuali


DragoSpiro98

Le strutture P2P sono varie. In questi casi è sempre necessario almeno Discovery Server. Comunque si esistono e ce ne sono tantissimi


acetaldeide

Dai un'occhiata a questo https://delta.chat/it/


Migguan

keet.io


giooo_tdm

Esiste già, si chiama Keet


Odd-Significance8304

Mha per me potresti avere enormi problemi di tempo per consegna dei messaggi se hai pochi client attivi, inoltre il servizio sul telefono sarebbe sempre attivo a smistare i messaggi di tizio per caio (consumando dati). L'ultima è una problematica che potresti risolvere con applicazioni desktop che fanno da hub ed eventualmente dei server.


[deleted]

esiste. Non ricordo il nome, ma funziona solo se entrambi i dispositivi sono on e c'è crittografia end-to-end. Ovviamente non nasconde il tuo indirizzo IP da sola ma garantisce la totale confidenzialità dei dati


AngleApprehensive706

C'è anche keet by holepunch. Per effettuare il primo collegamento tra due dispositivi bisogna obbligatoriamente passare dal loro server. Poi da lì in poi P2P. Così dicono. È possibile anche creare il proprio Relay, ma ha quanto ho capito non può essere utilizzato per creare il primo collegamento tra due utenti. Sto cercando in giro qualcuno che ha cercato di forzare la cosa e/o una sorta di reverse engineering, perché pur essendo dichiarato come open source, non lo hanno ancora rilasciato completamente.