rap issueshttps://0xacab.org/pip/rap/-/issues2021-06-14T22:54:35Zhttps://0xacab.org/pip/rap/-/issues/18Soportar varias redes2021-06-14T22:54:35ZfaunoSoportar varias redesAhora estamos sacando el nombre de la red a partir del nombre del script `./rap` => `NETWORK=rap` y guardando todo en el mismo directorio, aunque también soporta `NETWORK=cualquiera ./rap`.
Lo interesante sería poder hacer algo como `./...Ahora estamos sacando el nombre de la red a partir del nombre del script `./rap` => `NETWORK=rap` y guardando todo en el mismo directorio, aunque también soporta `NETWORK=cualquiera ./rap`.
Lo interesante sería poder hacer algo como `./rap -n cualquiera init...` y que los archivos de nodos se guarden en su propia carpeta, para que no se pisen entre sí.https://0xacab.org/pip/rap/-/issues/17Hacer que el rango de IPv6 sea configurable2021-06-14T23:16:55ZfaunoHacer que el rango de IPv6 sea configurableAhora está hardcodeado en ula-hosts, cómo podemos hacer que sea configurable si queremos tener varias redes?
Por ejemplo para Sutty tuve que hacer una rama nueva y modificar el script.Ahora está hardcodeado en ula-hosts, cómo podemos hacer que sea configurable si queremos tener varias redes?
Por ejemplo para Sutty tuve que hacer una rama nueva y modificar el script.https://0xacab.org/pip/rap/-/issues/16Recomendar un firewall2021-01-19T14:31:38ZfaunoRecomendar un firewallMedio que no da invitar a gente sin que tengan un firewall andando, igual las distros están viniendo con algunos, no? En ese caso habría que abrir los puertos según la interfaz de iptables/netfilter que usenMedio que no da invitar a gente sin que tengan un firewall andando, igual las distros están viniendo con algunos, no? En ese caso habría que abrir los puertos según la interfaz de iptables/netfilter que usenhttps://0xacab.org/pip/rap/-/issues/15los navegadores no resuelven los .rap2020-06-22T16:14:30Zfaunolos navegadores no resuelven los .rap# firefox
* anay.rap => www.anay.rap => no se pudo resolver
* http://anay.rap => funciona
# chromium
* anay.rap => me manda al buscador
* http://anay.rap => no se pudo resolver# firefox
* anay.rap => www.anay.rap => no se pudo resolver
* http://anay.rap => funciona
# chromium
* anay.rap => me manda al buscador
* http://anay.rap => no se pudo resolverhttps://0xacab.org/pip/rap/-/issues/14Distribuir tincd parcheado2020-06-23T15:18:12ZfaunoDistribuir tincd parcheadoAhora que escribimos el parche para no filtrar direcciones IP públicas innecesariamente dentro de la RAP, pienso que quizás deberíamos distribuir el binario compilado estáticamente dentro de la RAP. Con eso nos aseguraríamos que todes t...Ahora que escribimos el parche para no filtrar direcciones IP públicas innecesariamente dentro de la RAP, pienso que quizás deberíamos distribuir el binario compilado estáticamente dentro de la RAP. Con eso nos aseguraríamos que todes tenemos la misma versión, por ejemplo una compa tiene un Ubuntu 16 y tiene un tinc 10 microversiones atrás, sin .service incluido.
Y ya que vamos a parchear quizás convenga cambiarle el número de protocolo así la red no permite conexiones desde tincs sin emparchar, aunque esto solo puede ser dañino en nodos públicos.https://0xacab.org/pip/rap/-/issues/11certificados HTTPS para cada nodo2023-05-20T14:22:18Zfaunocertificados HTTPS para cada nodoestábamos hablando con @v0id el otro día que muchas features de web ahora dependen sí o sí de HTTPS (lumi por ejemplo no se va a poder conectar a la API, si tuviéramos un lumi.rap)
las posibilidades que veíamos era que cada nodo sea su ...estábamos hablando con @v0id el otro día que muchas features de web ahora dependen sí o sí de HTTPS (lumi por ejemplo no se va a poder conectar a la API, si tuviéramos un lumi.rap)
las posibilidades que veíamos era que cada nodo sea su propio CA y distribuir su certificado junto con el archivo de nodo. pero esto es un problema porque así cualquiera podría firmar un certificado para otro hostname.
lo ideal sería que al crear el nodo se cree un certificado autofirmado para NODE.rap y *.NODE.rap y se distribuya con el archivo de host. los otros nodos lo [instalan localmente](https://0xacab.org/sutty/sutty.local/-/blob/master/Makefile#L53).
lo interesante sería que se pueda usar la llave privada de tinc para hacer esto, a ver si puedo....
lo dejaría para cuando tengamos una forma de distribuir archivos de host a todos los nodos #9https://0xacab.org/pip/rap/-/issues/10poder rutear otras redes2020-06-14T18:06:01Zfaunopoder rutear otras redesuno de los objetivos iniciales de la rap es que un nodo pueda ser router de su lan, especialmente en el caso de redes comunitarias que estan aisladas. de esa forma podriamos conectarnos directamente con redes comunitarias y tener servic...uno de los objetivos iniciales de la rap es que un nodo pueda ser router de su lan, especialmente en el caso de redes comunitarias que estan aisladas. de esa forma podriamos conectarnos directamente con redes comunitarias y tener servicios compartidos aun sin estar enlazadas fisicamente :Dhttps://0xacab.org/pip/rap/-/issues/9RFC: Propuesta de red2020-06-24T12:47:41ZfaunoRFC: Propuesta de redpienso en el siguiente modelo primigenio de red, lo pongo acá para que discutamos y consensuemos:
* nodos públicos: son los nodos que con criterio de confianza son capaces de recibir y habilitar llaves de nodos privados (con rap-inbox o...pienso en el siguiente modelo primigenio de red, lo pongo acá para que discutamos y consensuemos:
* nodos públicos: son los nodos que con criterio de confianza son capaces de recibir y habilitar llaves de nodos privados (con rap-inbox o manualmente), saben todas las ips, usan el parche de tinc para no filtrar ips de nodos privados y se conectan entre sí para hacer el "backbone" de la rap.
creo que esto es algo que podemos gestionar con servidores autonomos de compas. el comando `./rap init` se conecta automáticamente a estos. esto quiere decir que sus archivos de host están disponible públicamente (se pueden leer desde internet)
* nodos privados: son nodos personales que están probando la red y todavía no han consentido a que se exponga su direccion ip de internet hacia el resto de la red (tienen indirectdata habilitado). solo pueden enviar y recibir datos a traves de nodos publicos.
* nodos semipublicos: son nodos que antes eran personales pero se han quitado el indirectdata y configurado su red para poder recibir conexiones directas (abriendo puertos). otros nodos pueden ponerlos en sus connectto directos pero al abrir puertos y quitar indirectdata la misma red informa donde estan y se arman conexiones directas. sus archivos de hosts no necesariamente están anunciados porque quizas no tienen el ancho de banda simétrico para poder hacer de intermediarios entre nodos privados, pero no está cancelado. quizás no quieran ser parte del backbone, con lo que el rap init no los recomienda directamente, pero están disponibles para poder recibir conexiones directas desde otros nodos.
acá podrían participar las experiencias de servidorxs feministas y locales usando rpi y computadoras huerfanas
la idea sería ir moviendo la red hacia que la mayoría de los nodos sean privados o semi públicos y eventualmente poder dar de baja el backbone. esto lo mediríamos graficando regularmente la red #2 y midiendo la circulación de datos dentro del backbone.
para poder lograr eso, hay que lograr que todos los nodos y no solo los publicos:
* tener un repositorio actualizado de archivos de hosts que se mantengan al día. todos los nodos aceptan conexiones de todos los demas (esto es, el repositorio de llaves se coloca en /etc/tinc/rap/hosts para que tincd los pueda encontrar), para que el paso de habilitar a alguien no tenga que ser nodo por nodo y nunca suceda, sino que sea un consenso de la red entera.
* poder abrir los puertos de tinc (manualmente configurando los routers, o con natpmp/upnp #8 )
* tener una dirección pública (un nombre de dominio apuntando a la dirección pública, puede ser con dns dinamico). había pensado en una forma de evitar esto, que voy a documentar en otro issue.
no necesariamente hay que publicar en internet todos los archivos de hosts de los nodos, con uno solo que haga de bujía (!) ya es posible hacer la primera conexión a la red y a través de esa poner conectarse a todos los demás nodos.https://0xacab.org/pip/rap/-/issues/8reimplementar natpmp/upnp2020-06-14T16:05:41Zfaunoreimplementar natpmp/upnphay un script nunca testeado del todo que usa los binarios natpmpc y upnpc para solicitarle al router que abra los puertos de tinc y permita que el nodo reciba conexiones.
combinado con quitar opcionalmente indirectdata (ver #7 ) podria...hay un script nunca testeado del todo que usa los binarios natpmpc y upnpc para solicitarle al router que abra los puertos de tinc y permita que el nodo reciba conexiones.
combinado con quitar opcionalmente indirectdata (ver #7 ) podria facilitar que se hagan conexiones adhoc entre nodos privados (no necesariamente anunciados como nodos publicos)https://0xacab.org/pip/rap/-/issues/7tener una función en lib/common para modificar la información de un nodo2020-06-18T13:43:30Zfaunotener una función en lib/common para modificar la información de un nodoahora tenemos add_to_file que es basicamente un "echo 'hola' >> host_file" que solo funciona antes de agregarle la llave publica al archivo de host, estaría bueno algo que lo gestione como una base de datos y permita agregar, modificar y...ahora tenemos add_to_file que es basicamente un "echo 'hola' >> host_file" que solo funciona antes de agregarle la llave publica al archivo de host, estaría bueno algo que lo gestione como una base de datos y permita agregar, modificar y quitar en cualquier momento, con eso nos podríamos evitar tener que editar a mano el archivo de host y tinc.conffranzfranzhttps://0xacab.org/pip/rap/-/issues/5nuevo comando "rap update" para hacer git pull y post operaciones2020-06-14T15:41:19Zfranznuevo comando "rap update" para hacer git pull y post operacionesharía un comando `rap update` que intente hacer lo siguiente
* git pull
si hay cambios:
* si tenés un solo nodo te pregunte/sugiera si lo querés resetear. en caso de sí:
* ¿correr install de ula scripts?
* correr install
* resetear servicioharía un comando `rap update` que intente hacer lo siguiente
* git pull
si hay cambios:
* si tenés un solo nodo te pregunte/sugiera si lo querés resetear. en caso de sí:
* ¿correr install de ula scripts?
* correr install
* resetear serviciohttps://0xacab.org/pip/rap/-/issues/3tener mas nodos publicos2020-06-14T00:27:28Zfaunotener mas nodos publicospara decentralizar. los nodos publicos se tienen que crear con un criterio de confianza porque:
* tienen una ip publica
* donan su transferencia para que otros nodos se conecten
* pueden ver todas las ips publicas de los nodos
* si no ...para decentralizar. los nodos publicos se tienen que crear con un criterio de confianza porque:
* tienen una ip publica
* donan su transferencia para que otros nodos se conecten
* pueden ver todas las ips publicas de los nodos
* si no usan nuestro parche pueden filtrar todas las ips publicas a la redhttps://0xacab.org/pip/rap/-/issues/2generar el grafico automaticamente2020-06-14T16:05:41Zfaunogenerar el grafico automaticamenteel `/tmp/rap.dot` y publicarlo en la red en una pagina webel `/tmp/rap.dot` y publicarlo en la red en una pagina web