Ciboulette
Contenido
Ciboulette versión 0.3.7.2
Es una red social 100% libre, entre pares, descentralizada y distribuida
Con un simple blog y lectores de Noticias (RSS, Atom, RDF) se crea una red social libre en la qué cada persona publica novedades directamente desde su computadora. Y es accesible desde cualquier computadora con TOR gracias a sus servicios ocultos.
¿por qué 100% libre?
Esta hecho únicamente con software libre. Y es una de las pocas redes sociales qué respetan los conceptos del software libre en su uso
- La libertad de ejecutar el programa para cualquier propósito (libertad 0).
- La libertad de estudiar cómo funciona el programa, y cambiarlo para qué haga lo qué usted quiera (libertad 1). El acceso al código fuente es una condición necesaria para ello.
- La libertad de redistribuir copias para ayudar a su prójimo (libertad 2).
- La libertad de distribuir copias de sus versiones modificadas a terceros (libertad 3). Esto le permite ofrecer a toda la comunidad la oportunidad de beneficiarse de las modificaciones. El acceso al código fuente es una condición necesaria para ello.
Muchos servicios de redes sociales moderan a sus usuarios o pretenden un fin especifico para su red, violando nuestra libertad 0
¿Que es descentralizada?
Que no posee un centro. por qué no hay un servidor al qué los usuarios tengan qué acceder. Los pares iguales. Gracias a TOR y la publicación de servicio ocultos dentro de la red: los datos pasan entre nodos (pares iguales), de este modo todos los nodos de Ciboulette se ven entre si.
¿Que es distribuida?
Es una red totalmente distribuida por no tener un centro, ni muchos de ellos. A la vez los datos pueden ser republicados fácilmente en cualquiera de los otros nodos.
¿Que es entre pares?
Que no existen servidores centrales. Los datos van de una computadora a otro directamente, pasando entre pares iguales.
Instalación en GNU/Linux
Abrí una terminal (por lo general están en el menú en la categoría "Accesorios") y pega este código:
cd /tmp wget https://raw.github.com/b4zz4/Ciboulette/master/ciboulette bash ciboulette -u
La instalación te va a pedir la clave de administrador y luego una clave para tu cuenta de chat.
¡Sí no tenes GNU/Linux es momento de que lo pruebes!
¿Como usarla?
Busca el programa en tu menú de inicio
Al correr la aplicación podrás publicar, cambiar tu avatar, modificar tu perfil y más
En la pagina local de tu ciboulette podes ver tus publicaciones y las novedades de tus amig@s.
Publicar un artículo
Para editar en Ciboulette se puede usar markdown, un modo de hacer que nuestros artículos tengan estilo lindos sin la necesidad de usar HTML o editores complejos.
Chatear con Ciboulette
Para chatear con usamos el protocolo XMPP soportado por muchos clientes de chat.
Asi se ve el chat y la transferencia de archivos en Pidgin Siempre hay que usar el complemento OTR (Fuera de grabación) esto asegura qué nuestra conversación no es leída por otras personas. Si no lo tenes instalado sudo apt-get install pidgin pidgin-otr
Configurar el chat
Hay qué poner en dominio la dirección de tu Ciboulette, nuestro nombre de usuario y la clave qué pusimos durante la instalación.
Desde la terminal
Este es un método muy simple para usar Ciboulette podes acceder a tu terminal desde el menú de inicio, por lo general esta en la sección Accesorios.
cat ~/.ciboulette/hostname
Es el dirección de tu nodo (pasala a tus amigxs)
ciboulette -n http://3orzmu3bziaoivpg.onion
Agregar una dirección de una pagina de internet
ciboulette -n http://bibliobarracas.com.ar/feed/
Es para agregar a un nodo a tu lector de novedades
ciboulette -b http://3orzmu3bziaoivpg.onion
Es para quitar un nodo a tu lector de novedades
echo "Este es el contenido" | ciboulette -a "Artículo en la terminal"
Publicar un articulo
ciboulette -l
Listado de amig@s sumados a Ciboulette
ciboulette -u
Actualiza tu programa a la ultima versión de Ciboluette. Más ayuda en ciboulette -h
Ciboulette en internet
Si alguno de tus amig@s no tiene ciboulette podes pasarle la dirección para acceder desde internet.
Podes usar tor2web para esto existe varios servidores públicos de este servicio.
Ciboulette en Cyanogem o Android
Mientras esté prendido y conectado tu nodo de Ciboulette, podés conectarte con tu celular usando GibberBot con Orbot.
Para las novedades se puede usar Feedex tenes qué configurar el proxy en 127.0.0.1 puerto 8118. Con agregar tu dirección de RSS de novedades basta :D
Para pasar tu dirección a un celular o tablet podes usar el QR y reconocerlo con Barcode Scanner.
Todas estas aplicaciones están disponibles en F-droid.org
Textos Colaborativos
Primero instalar la versión 4 de gobby, en algunas distribuciones se llama gobby
y en otras gobby-0.4
, este editor colaborativo además de ser distribuido utiliza cifrado TLS.
Juegos en red
Se puede jugar en red. En este ejemplos se puede ver el juego TEG. Se pueden usar muchos más juegos en red
Más formas de usar Ciboulette
Existen miles de formas de visualizarse Ciboulette, acá van algunos ejemplos:
Brief un complemento para Firefox
Emacs con Notmuch y Bread qué se encarga de convertir los fuente de novedades en correos electrónicos qué son enviados con Sendmail
Sumando un contacto en Liferea
Para usar estos programas lo único qué tenemos qué hacer es sumar nuestro fuente de novedades. Busca tu forma de usar Ciboulette :D
Receta de Ciboulette
Principalmente para que funcione Ciboulette se necesita una red libre, para eso vamos a usar TOR que se ve a encargar de nuestra red libres sobre internet. Para que sea cómoda de usar vamos a hacer que los .onion
servicios ocultos de TOR se vean directamente en nuestro navegador. Esto es opcional, pero resulta verdaderamente cómodo.
Luego para poder compartir nuestras publicaciones con amigos vamos a usar un micro servidor web.
- Logo El logo esta basado en esta imágen, para cambiarle el color se uso Inkscape
- TOR Arma la red libre sobre internet que nos une
- Bash Lenguaje de programación con el que se mezcla todo
- Nanoblogger Arma el blog y las paginas
- markdown Convierte markdown en html
- Tidy Mejora nuestro html
- Rawdog Recolecta los datos de tus amig@s
- ImageMagick Hace magía con nuestras imágenes
- QRencode Genera el QR de las URL
- Prosody Servidor para el chat
- Bootstrap Estetica de la pagina
- Glyphicons Glifos
- Simple Smileys Caritas
- Opennic A veces, Opennic nos ayuda a resolver los DNS
TOR
sudo aptitude install tor
Agregar las siguientes lineas en /etc/tor/torrc
para publicar nuestras novedades a través de TOR, copias y pega este texto:
VirtualAddrNetwork 10.192.0.0/10 #ciboulette AutomapHostsOnResolve 1 #ciboulette TransPort 9040 #ciboulette DNSPort 53 #ciboulette HiddenServiceDir /var/lib/tor/ciboulette/ #ciboulette HiddenServicePort 80 127.0.0.1:4232 #ciboulette HiddenServicePort 5222 127.0.0.1:5222 #ciboulette xmpp HiddenServicePort 5269 127.0.0.1:5269 #ciboulette xmpp HiddenServicePort 6522 127.0.0.1:6522 #ciboulette gobby y otros
Luego reiniciar TOR sudo service tor restart
y un rato despues sudo cat /var/lib/tor/ciboulette/hostname
vamos a ver nuestra dirección en la red social. Esta es la que tenemos que pasar a nuestr@s amig@s
Iptables
Las reglas de iptables tenemos que ponerla al inicio de nuestro sistema por ejemplo en /etc/rc.local
iptables -t nat -A OUTPUT -p tcp -d 10.192.0.0/10 -j REDIRECT --to-ports 9040
Esta linea tenemos que copiarla y pegarla en el archivo gedit /etc/rc.local
y agregarlo antes del exit 0
Resolver los DNS
Necesitamos que TOR resuelva nuestros DNS, para eso existen miles de soluciones, una fácil es agregar algunas lineas en /etc/resolvconf/resolv.conf.d/base
nameserver 127.0.0.1 nameserver 37.235.52.191 nameserver 69.164.196.21 nameserver 208.115.243.35 nameserver 208.115.243.38
Si no existe la carpeta /etc/resolvconf/resolv.conf.d
es por que tenemos una vieja version de resolvconf asi que vamos a tener que agregar la configuración en otros archivos /etc/dhcp3/dhclient.conf
, /etc/dhcp/dhclient.conf
o /etc/dhclient.conf
. Como TOR no puede resolver todos los DNS tendremos que agregar alguno de Opennic, por ejemplo:
prepend domain-name-servers 127.0.0.1,37.235.52.191,69.164.196.21,208.115.243.35,208.115.243.38; request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, domain-search, host-name, netbios-name-servers, netbios-scope, interface-mtu, rfc3442-classless-static-routes, ntp-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.name-servers, dhcp6.sntp-servers;
Luego reiniciar el resolvconf
sudo service resolvconf restart
Servidor y contenido
Para poder publicar noticias vamos a necesitar un servidor que responda en el puerto 4232, si no tenemos uno podemos instalar mini-httpd por lo general se instalar con:
sudo aptitude install mini-httpd nanoblogger rawdog tidy markdown python2-feedparser qrencode imagemagick zenity libnotify-bin
El contenido tiene una estructura que hay que copiar y algunos archivos que reemplazar:
cd /tmp wget https://github.com/b4zz4/Ciboulette/archive/master.zip -O master.zip unzip master.zip cd Ciboulette-master # Logos e inicios sudo cp ciboulette /usr/local/bin/ sudo cp ciboulette.png /usr/share/pixmaps/ sudo cp ciboulette.desktop /usr/local/share/applications/ # Corrección de Nanoblogger sudo cp -r lang /usr/share/nanoblogger/ sudo cp plugins/markdown.sh /usr/share/nanoblogger/plugins/page/format/markdown.sh sudo cp plugins/markdown.sh /usr/share/nanoblogger/plugins/entry/format/markdown.sh ./ciboulette -I
Chat
Luego de instalarlo tenemos que agregar nuestra dirección de Ciboulette al prosody
sudo aptitude install prosody
Luego agregamos un nombre para nuestro usuario del chat y configura automáticamente el servidor
sudo ciboulette adduser $USER clave
Ver como configurar el Pidgin
Errores frecuentes
- No puedo ver los nodos de otros amig@s en el navegador
- Agrego amig@s al chat no aparecen
- Lamentablemente en algunos sistemas operativos TOR no puede resolver los DNS :(
Actualizar TOR
Muchas de los errores frecuentes se solucionan actualizando Tor:
deb http://deb.torproject.org/torproject.org TU_DISTRIBUCION main
Agregar esta linea en /etc/apt/sources.list esto se puede hacer con sudo gedit /etc/apt/sources.list
, luego guardar y cerarr.
En la terminal hay que poner lo siguiente:
sudo gpg --keyserver keys.gnupg.net --recv 886DDD89 sudo gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add - sudo apt-get update sudo apt-get install deb.torproject.org-keyring sudo apt-get upgrade
Luego de esto nuestras direcciones de ciboulette deberían andar en cualquier navegador.
Ideas a futuro
Entre los servicios web que podrían agregarse esta compartir archivos, imágenes, sonidos, vídeos, etc
- Enviar correos electrónicos
- Compartir imágenes (tipo galería)
- Metodo para compartir archivos en P2P
- Transmitir audio y vídeo en vivo (ver ideas preliminares)
- IDJC
- VLC (probado y funciona)
- webcamd
- motion
- mpjg-streamer
- camserv