This site uses cookies own and third. If you continue to browse consider to accept the use of cookies. OK More Info.

[Non-Linux] Instalación de Hirana-Client en FreeBSD

  • 6 Replies
  • 1675 Views

0 Members and 1 Guest are viewing this topic.

Online DtxdF

  • *
  • Moderador Global
  • Posts: 1123
  • Actividad:
    100%
  • Country: 00
  • Reputación 27
  • Eres un auto y tienes dos opciones: Parar o Seguir
    • View Profile
    • Mi repositorio de Github donde encontraras herramientas para tu trabajo.
    • Email
Como bien es sabido, Hirana es un proyecto independiente de underc0de, pero que están muy relacionados, tanto así que al acceder a la página del foro, podemos ingresar directamente para poder conversar, ya sea con el staff de underc0de, o con quien se desee.


Hirana-Client está, desde el momento de escribir este artículo, para varias plataformas como Windows, Gnu/Linux, MacOS e incluso no hay necesidad de instalarlo dado que es totalmente posible usarlo desde irc.underc0de.org, web.hirana.net, o como ya se aclaró, desde el mismo foro. You are not allowed to view links. Register or Login, el creador de este proyecto, menciona que próximamente Hirana-Client tendrá su sitio en las plataformas como IOS y Android.


Aunque no esté oficialmente documentado, ayer (2022-03-01), quise instalar este cliente para mi caja personal con FreeBSD. Usando la tecnología Linuxlator, es posible ejecutar una aplicación AppImage con un poco de esfuerzo.

Instalación de Hirana-Client

Primero, antes de iniciar, es necesario descargar el cliente desde el You are not allowed to view links. Register or Login.


Se puede apreciar varios formatos, que en nuestro caso será el que está destinado para Linux, o en otras palabras, You are not allowed to view links. Register or Login

Nota: en este artículo se usará la versión 2.1.1 del cliente, pero hay que ser responsables en usar la última versión estable que pudiera cambiar en el futuro.


Instalación:

Una vez descargado, y ya habiéndole dado los permisos adecuados de ejecución, pudieramos antes de ejecutarlo, ser organizados.

Code: (bash) You are not allowed to view links. Register or Login
mkdir -p ~/.local/opt/Hirana-Client
mv Hirana-Client-2.1.1.AppImage ~/.local/opt/Hirana-Client
cd ~/.local/opt/Hirana-Client
./Hirana-Client-2.1.1.AppImage --no-sandbox


Esto no será tan fácil como se esperaba...

El error es claro, y se necesita fuse para que pueda funcionar sin problemas, pero el problema es que aunque se instale el paquete libfuse2 (en ubuntu usando la capa de compatibilidad con linux; no se está refiriendo a instalarlo en FreeBSD), el sistema seguirá sin reconocerlo luego de, incluso, instalarlo.


Por suerte, el mismo AppImage nos da una pista de lo que hay que hacer.

Code: (bash) You are not allowed to view links. Register or Login
./Hirana-Client-2.1.1.AppImage --appimage-extract

Esto nos creará un interesante directorio llamado squashfs-root, donde tendremos lo necesario para poder ejecutar la aplicación.

Code: (bash) You are not allowed to view links. Register or Login
./squashfs-root/hira-client-desktop --no-sandbox

Mejoras:

He mentido al decir que será difícil, porque no lo ha sido, pero aunque podamos ejecutarlo sin problemas, tenemos un gran problema que probablemente no se haya apreciado.


¡210 Megabytes!

Por suerte, hay una solución sencilla.

Primero, hay reducir el espacio, lo cual se puede hacer con tar(1). Usaré la compresión zstd porque es muy cool, y aunque pudiera usar perfectamente xz, amo el equilibrio entre ratio de compresión y tiempo estimado, donde claramente zstd gana.


Code: (bash) You are not allowed to view links. Register or Login
cd ./squashfs-root
tar --zstd --options zstd:compression-level=3 -cvf hirana-client.tzst .


El nivel de compresión dependerá de qué tan rápido sea su procesador. Mi pentium hace todo lo posible para comprimir lo más rápido que pueda, pero no es posible hacer magia (ya lo he intentado).


Eso sería poco menos de 2.3 veces menos su peso original.

Solucionando el primer problema, viene el segundo: ¿cómo puedo ejecutar un .tzst? No puedes, o al menos no directamente. Empieza la magia. Mi idea es aprovechar lo que nos brinda FreeBSD: vamos a crear un sistema de archivos que va a estar en memoria, descomprimimos hirana-client.tzst y luego lo ejecutamos. Suena complicado, pero realmente FreeBSD nos pone las herramientas para hacerlo fácilmente.


Code: (bash) You are not allowed to view links. Register or Login
# Creamos la carpeta donde se montarán los archivos
mkdir mnt
# Creamos un disco en memoria
doas mdconfig -a -t malloc -o reserve -s 238M
# Formateamos con UFS sin soft-updates ni journaling, ni con el directorio .snap. No es necesario nada de esto.
doas newfs -n /dev/md0
# Montamos el sistema de archivos.
doas mount /dev/md0 mnt
# Descomprimidos.
doas tar -C mnt/ -xvf hirana-client.tzst


Notaremos que fue muy rápido, pero el siguiente paso es simplemente ejecutar hira-client-desktop en el directorio ./mnt/.

Atajos:

Necesitamos ejecutarlo desde nuestro menú de nuestro entorno, por suerte, para las aplicaciones que sigan el estándar Freedesktop, podemos colocar el .desktop en ~/.local/share/applications.

Code: (bash) You are not allowed to view links. Register or Login
cp ~/.local/opt/Hirana-Client/mnt/hira-client-desktop.desktop ~/.local/share/applications
# Copiamos el icono
cp ~/.local/opt/Hirana-Client/mnt/usr/share/icons/hicolor/0x0/apps/hira-client-desktop.png  ~/.local/share/icons/hicolor/256x256/apps
sed -i '' 's/AppRun/.local\/opt\/Hirana-Client\/hirana-client.sh --no-sandbox/' ~/.local/share/applications/hira-client-desktop.desktop

Hay una línea de más muy rara.

Si seguimos el tutorial anterior, vemos la manera de usar el Hirana-Client descomprimiéndolo en memoria, pero hacer ese proceso (reservar memoria, formatear, montar, etc.) puede tomar mucho tiempo, por lo que lo mejor que hay que realizar es automatizar.


~/.local/opt/Hirana-Client/hirana-client.sh
Code: (bash) You are not allowed to view links. Register or Login
#!/bin/sh

# Compressed file path
APPIMAGE_FILE=~/.local/opt/Hirana-Client/hirana-client.tzst
# Memory reservation
APPIMAGE_SIZE=238M
# root path
PREFIX=~/.local/opt/Hirana-Client/mnt
# Reserved
MD_DEVICE=
# Relative
APPIMAGE_RUN="hira-client-desktop [email protected]"

release() {
        if [ -z "${MD_DEVICE}" ]; then
                # nothing to do
                return 1
        fi

        doas umount "${PREFIX}"
        doas mdconfig -du ${MD_DEVICE}
}

main() {
        MD_DEVICE=`doas mdconfig -a -t malloc -o reserve -s ${APPIMAGE_SIZE}`
        doas newfs -n /dev/${MD_DEVICE}
        doas mount /dev/${MD_DEVICE} "${PREFIX}"
        doas tar -C "${PREFIX}" -xf "${APPIMAGE_FILE}"
        sh -c "${PREFIX}/${APPIMAGE_RUN}"
}

set -e

trap release SIGTERM SIGINT EXIT

main

Este script hace todo lo que realizamos en el paso anterior e incluso lo ejecuta. Usa doas (pueden ver un tutorial de doas en FreeBSD You are not allowed to view links. Register or Login). Dependiendo de sus necesiades, pueden configurarlo para que se ejecute sin contraseña con determinados comandos, o pueden dejarlo a su creatividad y mejor solución.


Ya teniendo todo lo necesario, ¡el hirana-client está instalado! Ya es posible conversar con las personas del foro.


Conclusión

Este tutorial está destinado a cómo poder usar Hirana-Client en FreeBSD, pero tiene como segundo objetivo usar una AppImage, que aunque el proceso puedo ser distinto para cada aplicación, por lo menos orienta un poco a los usuarios de esta hermosa plataforma.

~ DtxdF
« Last Edit: March 05, 2022, 02:23:10 pm by DtxdF »
Los seres humanos son robots, cuyo combustible es el afanado dinero.

Online ANTRAX

  • *
  • Administrator
  • Posts: 5839
  • Actividad:
    36.67%
  • Country: ar
  • Reputación 43
  • ANTRAX
  • Twitter: @Underc0de
    • View Profile
    • Underc0de
    • Email
Excelente aporte broo!! Mil gracias por compartirlo!!

Saludos,
ANTRAX


Online DtxdF

  • *
  • Moderador Global
  • Posts: 1123
  • Actividad:
    100%
  • Country: 00
  • Reputación 27
  • Eres un auto y tienes dos opciones: Parar o Seguir
    • View Profile
    • Mi repositorio de Github donde encontraras herramientas para tu trabajo.
    • Email
@ANTRAX

Gracias, fue un placer ^^

~ DtxdF
Los seres humanos son robots, cuyo combustible es el afanado dinero.

Offline ZarathuxXxtrA

  • *
  • Colaborador
  • *
  • Posts: 18
  • Actividad:
    0%
  • Country: ar
  • Reputación 1
  • ZarathuxXxtra :: Yukah Nahan
    • View Profile
    • Underc0de
Felicitaciones DtxdF, excelente referencia para usuarios FreeBSD en abordar el cliente de Hirana... pero doble sorpresa!! Me encantó cómo documentaste a exactitud como encarar el formato de AppImage, que siempre te exige leer documentación y algunos intentos fallidos. Saludos amigo!
You are not allowed to view links. Register or Login
Lo abstracto. El elemento sin el cual, no existiría el camino del guerrero, ni guerrero alguno en busca de Conocimiento.

Online Gabriela

  • *
  • Co Admin
  • Posts: 1014
  • Actividad:
    0%
  • Country: 00
  • Reputación 22
  • A las personas se las conoce por sus heridas...
    • View Profile
    • Hirana: red de IRC
    • Email
Excelente trabajo, Gatiusko! , digo @DtxdF XD

Si algo valoro en un material  es que no solo aporte a colaborar, ayudar a otros; sino como planteas el tema, con una detallada  contextualización. Me gusto mucho tu trabajo, Gato. XD

Saludos

Gabriela

Tú te enamoraste de mi valentía, yo me enamoré de tu oscuridad; tú aprendiste a vencer tus miedos, yo aprendí a no perderme en tu abismo.

Offline Alex

  • *
  • Moderador Global
  • Posts: 884
  • Actividad:
    0%
  • Country: 00
  • Reputación 11
    • View Profile
    • MI github
    • Email
Muy detallada te quedó la publicación de lo que hablabamos por irc, excelente post.

Gracias por publicarlo Dtxdf.

Online DtxdF

  • *
  • Moderador Global
  • Posts: 1123
  • Actividad:
    100%
  • Country: 00
  • Reputación 27
  • Eres un auto y tienes dos opciones: Parar o Seguir
    • View Profile
    • Mi repositorio de Github donde encontraras herramientas para tu trabajo.
    • Email
Gracias a todos. Fue un placer redactar este artículo ^^

~ DtxdF
Los seres humanos son robots, cuyo combustible es el afanado dinero.