Skip to content

Hanatachi is a free, open-source social network server for federated blogging

Notifications You must be signed in to change notification settings

gazpachoteam/mini-activitypub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hanatachi

Miniactivitypub

Mini implementación de ActivityPub en Ruby

ActivityPub es el estandar de la web social federada. Este protocolo nos permite dar vida a una red distribuida de nodos donde sus usuarios independientemente del servidor o la instalación en la que están registrados pueden interactuar e intercambiar mensajes. Una red que dada su estructura distribuida es mucho más resiliente y liberadora que los grandes silos centralizadores como Twitter o Facebook.

Durante esta charla montaremos desde cero una mini implementación básica de ActivityPub. En el proceso nos familiarizaremos con los componentes y requerimientos básicos para la implementación de este protocolo en cualquier proyecto web que estés desarrollando.

Getting started

git clone https://github.com/ortegacmanuel/hanatachi.git
cd hanatachi
git checkout miniactivitypub
bundle install

Testing the federation

In a separate terminals start bob's and alice's servers

ruby app.rb 1111 bob
ruby app.rb 2222 alice

In other terminal start pry and load the client class

pry
require_relative 'client'

Create the bob's client

bob = Client.new('http://localhost:1111/@bob')

Create the alice's client

alice = Client.new('http://localhost:2222/@alice')

Alicie sends a message to Bob

alice.publish('hola, ¿Vamos al cine esta noche?', [bob.user_id])

Bob responds to Alice

bob.publish('claro!, cuenta conmigo!', [alice.user_id])

In the server's terminals you can see the state of Bob's and Alice's inboxes and outboxes

About

Hanatachi is a free, open-source social network server for federated blogging

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published