ar:guia_binkd_crashmail_golded

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
ar:guia_binkd_crashmail_golded [2024/11/18 01:00] – [Proceso de los paquetes] ragnarokar:guia_binkd_crashmail_golded [2024/11/18 23:50] (actual) – fix crashexport ragnarok
Línea 1: Línea 1:
 ====== Guía para punto con binkd + crashmail + golded en GNU/Linux ====== ====== Guía para punto con binkd + crashmail + golded en GNU/Linux ======
  
-La intensión de esta guía es tener un sistema de un punto para Fido (También puede ser un nodo, la única diferencia básicamente es la dirección FTN, pero a efectos prácticos es lo mismo) +La intensión de esta guíaes ayudar a tener un sistema de un punto para Fido (también puede ser un nodo, la única diferencia básicamente es la dirección FTN, pero a efectos prácticos es lo mismo) 
-Este sistema en conjunto, debería poder enviar/recibir netmails y areas de echomails usando golded como editor.+Este sistema en conjunto, debería poder enviar/recibir netmails y áreas de echomails usando golded como editor, crashmail como tosser y binkd como mailer.
  
-El escenario de ejemplo que voy a mostrar es creado en GNU/Linux (para otros OS's seguramente se deben considerar usar los paths y los programas correspondientes)+Este es un esquema de como seria el funcionamiento: 
 + 
 +{{:ar:bloques.png|Diagrama de bloques}} 
 + 
 +No es la idea ver opción por opción en detalle de los programas, para ello se debe recurrir a la documentación de cada uno de ellos respectivamente.  
 + 
 +El escenario de ejemplo que voy a mostrar es creado en Debian GNU/Linux version 12 [bookworm] (para otros OS's seguramente se deben considerar usar los paths y los programas correspondientes).
  
 Vamos a usar esas configuraciones como ejemplo: Vamos a usar esas configuraciones como ejemplo:
  
-Configración      ^ valor ^ +Configuración      ^ valor ^ 
 |Nuestra dirección FTN del punto | 4:902/26.10 |  |Nuestra dirección FTN del punto | 4:902/26.10 | 
 |Dirección de nuestro uplink/boss donde conectaremos | 4:902/26 |   |Dirección de nuestro uplink/boss donde conectaremos | 4:902/26 |  
Línea 21: Línea 27:
 Pero no creo que sea necesario. Pero no creo que sea necesario.
  
-Por defecto binkd busca las configuraciones en **/etc/binkd/binkd.cfg** ( por ejemplo, si lo instalan desde los repos), también puede que corra como servicio (el cual ahora no lo vamos a usar y para mejor de los casos, lo deshabilitan vía systemctl) +Por defecto binkd busca las configuraciones en **/etc/binkd/binkd.cfg** ( por ejemplo, si lo instalan desde los repos), también puede que corra como servicio (el cual ahora no lo vamos a usar y para mejor de los casos, lo deshabilitan vía systemctl).
  
 Porque nosotros vamos a crear el archivo de config y vamos a poner todos dentro de un directorio en nuestro home así no tenemos problemas de permisos y esas cosas al ejecutar como root o un usuario de servicio. Porque nosotros vamos a crear el archivo de config y vamos a poner todos dentro de un directorio en nuestro home así no tenemos problemas de permisos y esas cosas al ejecutar como root o un usuario de servicio.
-Así se facilita para quienes no están muy experimentados con GNU/Linux+Así se facilita para quienes no están muy experimentados con GNU/Linux.
  
 <alert notice>NOTA: Siempre podemos ejecutar todo esto con nuestro usuario de GNU/linux y el uso de root es solamente necesario para instalar los programas.</alert> <alert notice>NOTA: Siempre podemos ejecutar todo esto con nuestro usuario de GNU/linux y el uso de root es solamente necesario para instalar los programas.</alert>
Línea 80: Línea 86:
 inbound-nonsecure /home/ragnarok/fido/in.nosecure inbound-nonsecure /home/ragnarok/fido/in.nosecure
  
-# Programa que se ejecuta al recibir archivos .tic (en este caso tinytic) va a procerar esos archivo y segun la configuracion +# Programa que se ejecuta al recibir archivos .tic (en este caso tinytic) va a procesar esos archivo y según la configuración 
 # va a moverlos a algun directorio que le indicamos  # va a moverlos a algun directorio que le indicamos 
 exec "/home/ragnarok/fido/tinytic -c /home/ragnarok/fido/tinytic.cfg" *.tic exec "/home/ragnarok/fido/tinytic -c /home/ragnarok/fido/tinytic.cfg" *.tic
Línea 89: Línea 95:
 # Dirección del nodo de nuestro uplink/boss para enviar y recibir los paquetes # Dirección del nodo de nuestro uplink/boss para enviar y recibir los paquetes
 # El formato es: # El formato es:
-#   node <direccion del uplink> <hostname de internet> <contraseña>+#   node <dirección del uplink> <hostname de internet> <contraseña>
 # #
-# Los fileboxes estan asociados a  un nodo se pueden usar para organizar la cola de entrada y salida. Así se puede separar por nodeo y no se mezclan +# Los fileboxes están asociados a  un nodo se pueden usar para organizar la cola de entrada y salida. Así se puede separar por nodo y no se mezclan 
-# Es util para cuando se tienen varios nodos, aunque este no seria nuestro caso+# Es útil para cuando se tienen varios nodos, aunque este no seria nuestro caso
 node 4:902/26@fidonet bbs.docksud.com.ar 123456 node 4:902/26@fidonet bbs.docksud.com.ar 123456
 filebox /home/ragnarok/fido/filebox filebox /home/ragnarok/fido/filebox
Línea 158: Línea 164:
 ===== Configuración de Crashmail ===== ===== Configuración de Crashmail =====
  
-Crashmail es el Tosser, es el programa que se encarga de procesar los archivos de paquetes que llegaron a la entrada del binkd y guardar los mensajes en las dirferentes areas, echomail y netmail+Crashmail es el Tosser, es el programa que se encarga de procesar los archivos de paquetes que llegaron a la entrada del binkd y guardar los mensajes en las diferentes áreas, echomail y netmail.
  
-Es importante tener en cuenta que al guardar las areas se debe elegir el formato de base de datos de las mismas, en la versión que tengo soporta MSG y JAM.+Es importante tener en cuenta que al guardar las áreas se debe elegir el formato de base de datos de las mismas, en la versión que tengo soporta MSG y JAM.
  
 El formato Standard MSG (FTS-1) genera un archivo por mensaje en el filesystem, 1.msg, 2.msg etc.. El formato Standard MSG (FTS-1) genera un archivo por mensaje en el filesystem, 1.msg, 2.msg etc..
Línea 168: Línea 174:
 Elegir uno u otro es a gusto, semejante a usar MailDir o Mbox para los clientes de correo de internet, cada uno tiene sus pro y contras. Elegir uno u otro es a gusto, semejante a usar MailDir o Mbox para los clientes de correo de internet, cada uno tiene sus pro y contras.
  
-El JAM seria mas "optimo" porque es mas rápido abrir una base en un solo archivo, pero tiene la contra de que si se corronpe ese archivo se pueden perder todos los mensajes.+El JAM seria mas "optimo" porque es mas rápido abrir una base en un solo archivo, pero tiene la contra de que si se corrompe ese archivo se pueden perder todos los mensajes.
  
 En cambio, el MSG es mas costoso porque se tiene que abrir y cerrar cada archivo para cada mensajes, pero la buenas es que si se rompe 1 archivo a lo sumo se pierde un mensaje. En cambio, el MSG es mas costoso porque se tiene que abrir y cerrar cada archivo para cada mensajes, pero la buenas es que si se rompe 1 archivo a lo sumo se pierde un mensaje.
Línea 201: Línea 207:
 **TOSS**: Procesa los paquetes que entraron al binkd y los guarda en sus respectivas áreas como comentaba anteriormente. **TOSS**: Procesa los paquetes que entraron al binkd y los guarda en sus respectivas áreas como comentaba anteriormente.
  
-**EXPORT**: Psta tarea toma las areas que estan configuradas en crashmail y general el archivo "areas.golded". Este archivo luego se hace un "//include//" en la config de golded asi levanta toda la bases de mensajes.    +**EXPORT**: Esta tarea toma las áreas que están configuradas en crashmail y general el archivo "areas.golded". Este archivo luego se hace un "//include//" en la config de golded así levanta toda la bases de mensajes.    
  
-El archivo de configuración de crashmail lo vamos a guardar también dentro de /home/ragnarok/fido, es bastante mas extenso que binkd y tiene muchas opciones que también están autodocumentados en los archivos de ejemplo que vienen en /usr/share/doc/crashmail+El archivo de configuración de crashmail lo vamos a guardar también dentro de /home/ragnarok/fido, es bastante mas extenso que binkd y tiene muchas opciones que también están //autodocumentadas// en los archivos de ejemplo que vienen en /usr/share/doc/crashmail
  
 Igualmente voy a poner algunos comentarios de las opciones que son necesarias: Igualmente voy a poner algunos comentarios de las opciones que son necesarias:
Línea 216: Línea 222:
  
 ; Base de duplicados, crashmail detecta duplicados ; Base de duplicados, crashmail detecta duplicados
-; y los elimina antes de cargarlos en las bases de las areas+; y los elimina antes de cargarlos en las bases de las áreas
 DUPEFILE "/home/ragnarok/fido/crashmail/crash.dupes" 200 DUPEFILE "/home/ragnarok/fido/crashmail/crash.dupes" 200
 DUPEMODE KILL DUPEMODE KILL
Línea 224: Línea 230:
 OUTBOUND "/home/ragnarok/fido/out" OUTBOUND "/home/ragnarok/fido/out"
  
-; Directorios temporales, estadisticas, logs etc+; Directorios temporales, estadísticas, logs etc
 TEMPDIR "/home/ragnarok/fido/crashmail/tmp" TEMPDIR "/home/ragnarok/fido/crashmail/tmp"
 CREATEPKTDIR "/home/ragnarok/fido/crashmail/tmp" CREATEPKTDIR "/home/ragnarok/fido/crashmail/tmp"
Línea 251: Línea 257:
 JAM_MAXOPEN 5 JAM_MAXOPEN 5
  
-; Grupos de areas. Uno puede agrupar las areas, por ejemplo+; Grupos de áreas. Uno puede agrupar las áreas, por ejemplo
 ; si se usaran varias redes en el mismo sistema, se podría ; si se usaran varias redes en el mismo sistema, se podría
 ; crear un grupo para cada una de ellas ; crear un grupo para cada una de ellas
Línea 371: Línea 377:
  
 <code> <code>
-crashmail.prefs areas.golded golded+crashexport crashmail.prefs areas.golded golded
 </code> </code>
  
-Tener en cuenta que el comando es //crashexport// y no produce ninguna salida si no hay error como todo comando en GNU/Linux+Tener en cuenta que el comando es //crashexport// y no produce ninguna salida si no hay error como todo comando en GNU/Linux.
  
 Pero podemos ver el archivo generado: Pero podemos ver el archivo generado:
Línea 425: Línea 431:
 En primer lugar, lo mas probable es que se tenga que bajar el source desde [[https://github.com/golded-plus/golded-plus|Github]] y compilarlo. Al menos en debian12 no esta vía repositorios. En primer lugar, lo mas probable es que se tenga que bajar el source desde [[https://github.com/golded-plus/golded-plus|Github]] y compilarlo. Al menos en debian12 no esta vía repositorios.
  
-Si bien se escapa un poco de esta guía, los pasos a seguir son los siguientes +Si bien se escapa un poco de esta guía, los pasos a seguir son los siguientes:
- +
  
 Clonar el repo desde github: Clonar el repo desde github:
Línea 434: Línea 439:
 </code> </code>
  
-Entrar al directorio golded3 dentro del clonado+Entrar al directorio golded3 dentro del clonado:
  
 <code> <code>
Línea 441: Línea 446:
 </code> </code>
  
-Generar el archivo mygolded.h a partir del que viene de ejemplo+Generar el archivo mygolded.h a partir del que viene de ejemplo:
  
 <code> <code>
Línea 470: Línea 475:
 </code> </code>
  
-volver a la raiz del repositorio (golded-plus)+Volver a la raiz del repositorio (golded-plus)
 <code> <code>
 cd .. cd ..
 </code> </code>
  
-Crear un dictorio build para cmake+Crear un dictorio build para cmake:
  
 <code> <code>
Línea 481: Línea 487:
 </code> </code>
  
-Generar el build y compilar+Generar el build y compilar:
  
 <code> <code>
Línea 575: Línea 581:
 </code> </code>
  
-Si compilo todo bien, lo instalamos (Como root o por ejemplo usando sudo)+Si compiló todo bien, lo instalamos (Como root o por ejemplo usando sudo):
  
 <code> <code>
Línea 631: Línea 637:
 ==== Configuración inicial ==== ==== Configuración inicial ====
  
-Una vez compilado e instalado, generamos el archivo /home/ragnarok/fido/golded.cfg (tambien por compatibilidad toma el archivo si termina con la extension .conf)+Una vez compilado e instalado, generamos el archivo /home/ragnarok/fido/golded.cfg (tambien por compatibilidad toma el archivo si termina con la extension .conf).
  
 <file ini /home/ragnarok/fido/golded.cfg> <file ini /home/ragnarok/fido/golded.cfg>
Línea 686: Línea 692:
 </file> </file>
  
-Si todo está ok deberíamos poder ejecutar el el comando **golded** (siempre parados sobre nuestro directorio raiz de fido, según el ejemplo en /home/ragnarok/fido)+Si todo está ok deberíamos poder ejecutar el comando **golded** (siempre parados sobre nuestro directorio raiz de fido, según el ejemplo en /home/ragnarok/fido)
  
 {{:ar:captura_golded.png?400|}} {{:ar:captura_golded.png?400|}}
Línea 720: Línea 726:
 <alert info>Obviamente y como tarea para el hogar, uno se puede hacer algún script de bash que automatice estas tareas, como para ejecutar un solo comando "mágico" que se llame "./usar_fido.sh" y listo.</alert> <alert info>Obviamente y como tarea para el hogar, uno se puede hacer algún script de bash que automatice estas tareas, como para ejecutar un solo comando "mágico" que se llame "./usar_fido.sh" y listo.</alert>
  
-Al ejecutar golded, de acuerdo a nuestra configuración, arranca con la vista de áreas, si seleccionamos una y le damos Enter, vamos a ver el listado de mensajes:+Al ejecutar //golded//, de acuerdo a nuestra configuración, arranca con la vista de áreas, si seleccionamos una y le damos //Enter//, vamos a ver el listado de mensajes:
  
 {{:ar:golded_2024-11-17_22-51.png?400|}} {{:ar:golded_2024-11-17_22-51.png?400|}}
  
-Para crear un nuevo mensaje se usa la tecla E (enter message)+Para crear un nuevo mensaje se usa la tecla **E** (enter message)
  
 Acá nos van a aparecer los campos para que ingresemos para quien va dirigido el mensaje (To:) y el asunto (Subj:).  Acá nos van a aparecer los campos para que ingresemos para quien va dirigido el mensaje (To:) y el asunto (Subj:). 
-Así como también atributos que podamos asignarle al mensaje (Privado, Crash, Direct..etc ver docu de Golded para detalles de cada uno) +Así como también atributos que podamos asignarle al mensaje (Privado, Crash, Direct..etc ver docu de Golded para detalles de cada uno).
  
 {{:ar:golded_2024-11-17_22-55.png?400|}} {{:ar:golded_2024-11-17_22-55.png?400|}}
  
-Luego de ingresas esos datos, damos de nuevo Enter y nos abre el popup donde seleccionamos **Internal Editor** para escribir el cuerpo del mensaje:+Luego de ingresas esos datos, damos de nuevo //Enter// y nos abre el popup donde seleccionamos **Internal Editor** para escribir el cuerpo del mensaje:
  
 {{:ar:golded_2024-11-17_22-57.png?400|}} {{:ar:golded_2024-11-17_22-57.png?400|}}
Línea 739: Línea 745:
 {{:ar:2024-11-17_23-02.png?400|}} {{:ar:2024-11-17_23-02.png?400|}}
  
-Una vez que terminamos tocamos **F2** para que abra el popup y confirmar el envío seleccionando "**Yes, it's great stuff**". De esta forma el mensaje queda marcado para ser enviado y volveremos al la vista de mensajes.+Una vez que terminamos tocamos **F2** para que abra el popup y confirmar el envío seleccionando "**Yes, it's great stuff**". De esta forma el mensaje queda marcado para ser enviado y volveremos la vista de mensajes.
  
 {{:ar:golded_2024-11-17_23-04.png?400|}} {{:ar:golded_2024-11-17_23-04.png?400|}}
Línea 824: Línea 830:
 </code> </code>
  
- +De esa manera, el menaje ha sido enviado.
- +
- +
- +
- +
  
 ====== Tips y problemas comunes ====== ====== Tips y problemas comunes ======
Línea 835: Línea 836:
 ===== Proceso de los paquetes ===== ===== Proceso de los paquetes =====
  
-Hay algo que no supe ajustar correctamente aun. Que es que desde el binkd.cfg uno pone las lineas de //exec// para directamente se haga el //toss// ni bien llegan los paquetes.+Hay algo que no supe ajustar correctamente aun. Es que desde el binkd.cfg uno pone las lineas de //exec// para directamente se haga el //toss// ni bien llegan los paquetes.
  
-Eso nos ahorra de ejecutar //crashmail toss// luego del binkd.+Eso nos ahorraría de ejecutar //crashmail toss// luego del binkd.
  
 Por ejemplo: Por ejemplo:
Línea 845: Línea 846:
 </code> </code>
  
-Esto se dispara si vienen archivos .pkt. Pero el tema es que también nos llegan boundles (que son comprimidos de paquetes) +Esto se dispara si vienen archivos .pkt. Pero el tema es que también nos llegan bundles (que son comprimidos de paquetes) 
 como por ejemplo ftg12hg2.M01. como por ejemplo ftg12hg2.M01.
  
-En este caso el toss a eso no se hace, porque primero se deberían "descomprimir" por así decirlo+En este caso el toss a eso no se hace, porque primero se deberían "descomprimir" por así decirlo los bundles.
  
-Posiblemente tengo que investigar mejor de como hacer una linea de exec que sirva para todo (o quizás tengan que ser varias, ya lo veré) +Posiblemente tengo que investigar mejor de como hacer una linea de //exec// que sirva para todo (o quizás tengan que ser varias, ya lo veré).
  
-Así que mientras tanto, lo solucioné con un script de bash que luego del binkd, recorre los archivos de su inbound y por cada uno hace un //crashmail tossfile//+Así que mientras tanto, lo solucioné con un script de bash que luego del binkd, recorre los archivos de su inbound y por cada uno hace un //crashmail tossfile//.
  
-Para la opción de //tossfile// de crashmail, uno debe pasar como parámetro el nombre de archivo que quiere procesar+Para la opción de //tossfile// de crashmail, uno debe pasar como parámetro el nombre de archivo que quiere procesar.
  
 <file bash poll.sh> <file bash poll.sh>
Línea 884: Línea 885:
 ===== El golded no hace nada / no abre ===== ===== El golded no hace nada / no abre =====
  
-A golded le falta que si tiene algún error en su config, envíe un mensaje de salida a la consola (ideal seria al stderr) para uno saber que pasa.+A golded le faltaque si tiene algún error en su config, envíe un buen mensaje con error de salida a la consola (ideal seria al stderr)para uno saber problema hay.
  
-Un ejemplo es que si no están incluidos las opciones de caracteres xlats y demas, cuando ejecutan el comando golded no hace nada de nada.+Un ejemplo es que si no están incluídas las opciones de caracteresxlats y demas, cuando ejecutan el comando golded no hace nada de nada.
  
-Por lo tanto, asegurense de tener estas lineas configuradas en su golded.cfg+Por lo tanto, asegúrense de tener estas lineas configuradas en su golded.cfg
  
 <code> <code>
Línea 895: Línea 896:
 include  /usr/local/share/doc/golded-plus/cfgs/config/charsets.cfg include  /usr/local/share/doc/golded-plus/cfgs/config/charsets.cfg
 </code> </code>
 +
 +Calculo que esto dependera del build o versión de golded, pero al menos el que compilo desde el git "oficial" se las tengo que agregar al archivo de configuración.
  
  • ar/guia_binkd_crashmail_golded.1731902450.txt.gz
  • Última modificación: 2024/11/18 01:00
  • por ragnarok