Crear servicio oculto para sitio web en Nginx (clearnet y darknet)

¿Quieres crear un sitio web usando un servidor Nginx y quieres tener también ese sitio web como servicio oculto para usuarios de Tor? Aquí te explico cómo hacerlo en Debian GNU/Linux.

Primero instalamos los siguientes paquetes:

sudo apt install nginx tor

Luego hay que descomentar las siguientes líneas del archivo /etc/tor/torrc:

#HiddenServiceDir /var/lib/tor/hidden_service/
#HiddenServicePort 80 127.0.0.1:80

Yo he cambiado el nombre del directorio del servicio oculto a servicio_oculto, quedando así:

HiddenServiceDir /var/lib/tor/servicio_oculto/
HiddenServicePort 80 127.0.0.1:80

A continuación, reiniciamos el servicio de Tor:

sudo systemctl restart tor

Al reiniciarse Tor crea el directorio servicio_oculto/ y lo llena con la URL del servicio oculto (archivo hostname) y las claves pública y privada.

Si tenemos tanto Nginx y Tor ejecutándose como servicios y nos metemos en la dirección que hay en /var/lib/tor/servicio_oculto/hostname, podremos ver la página de bienvenida de Nginx.

Por defecto, el sitio web para Nginx se ha de ubicar en la ruta /var/www/html/. Así pues, solo tenemos que desarrollar el sitio web en esa ubicación. No importa que se use la URL de Tor o una URL convencional, el sitio web es el mismo. Ten en cuenta de que para que los enlaces a otras páginas de tu sitio web funcionen usando URLs .onion es necesario usar URLs relativas.

Extra: añadir cabecera de .onion disponible

Continúa leyendo Crear servicio oculto para sitio web en Nginx (clearnet y darknet)

Eliminar tildes con sed o iconv (GNU/Linux)

A veces resulta útil eliminar las tildes de un texto o palabras. Para ello podemos utilizar sed, que suele estar ya instalado en GNU/Linux.

Basta crear un archivo como el siguiente...

#!/bin/sed -f

# Este programa elimina las tildes.
#
# Ejemplo de uso
# $ echo 'Bajó del árbol.' | ./eliminar-tildes.sed

# En mayúscula
s/Á/A/g
s/É/E/g
s/Í/I/g
s/Ó/O/g
s/Ú/U/g

#s/Ñ/N/g     # Descomenta para sustituir la eñe

# En minúscula
s/á/a/g
s/é/e/g
s/í/i/g
s/ó/o/g
s/ú/u/g

#s/ñ/n/g     # Descomenta para sustituir la eñe

Darle permisos de ejecución (sudo chmod u+x eliminar-tildes.sed) y, luego, ejecutar algo como echo 'Bajó del árbol' | ./eliminar-tildes.sed, que le quitará las tildes a la frase, quedando así: «Bajo del arbol». Podemos pasarle cualquier texto al programa mediante una tubería. Así pues, cat texto.txt | ./eliminar-tildes.sed le quitaría las tildes al texto del archivo texto.txt.

Mi motivación para crear el programa era quitarles las tildes a los textos para poner un ejercicio de aprendizaje de español que consiste en acentuar palabras. Si lo haces por otro motivo, es posible que te interese también quitarle la virgulilla a la eñe. En ese caso, descomenta las líneas donde hago la sustitución de la eñe.

Otra opción es convertir el texto a ASCII haciendo una transliteración con el programa iconv, que también suele estar instalado en GNU/Linux. Así, para convertir un texto a ASCII bastaría con ejecutar algo como iconv -f utf-8 -t ascii//translit texto.txt o echo 'árbol y eñe' | iconv -f utf-8 -t ascii//translit.

Videojuego de carreras: SuperTuxKart

SuperTuxKart es un videojuego de carreras de gran calidad. Los personajes son las mascotas de programas libres, como Tux, Gnu y Wilber (la mascota de GIMP). Tiene un modo historia, varios niveles de dificultad y permite jugar en línea.

Selección de personaje
Animación del modo historia

Pero además de las clásicas carreras de coches con objetos, existen modos de juego diferentes: fútbol, sigue al líder, contrarreloj y batalla. De estos el más interesante para jugar en línea es fútbol, ya que permite competir por equipos. Suele haber algún torneo de fútbol en línea cada mes.

Partido de fútbol

El juego se puede instalar en distribuciones de GNU/Linux derivadas de Debian ejecutando sudo apt install supertuxkart.

Abajo dejo el tráiler de la versión más reciente, la 1.3:

Continúa leyendo Videojuego de carreras: SuperTuxKart

Snaps en Ubuntu: menos seguridad y actualizaciones automáticas

Con su nueva versión 22.04, que será publicada el 21 de abril, Ubuntu hará que más programas usen paquetes Snap en vez de los .deb. Estos paquetes se actualizan de forma automática sin pasar por una fase de prueba como sucede con los paquetes de Debian y otras distribuciones. En el caso del paquete de Firefox, es el equipo de Mozilla (no Ubuntu) quien decide cómo y cuándo se actualiza el navegador.

Firefox es software libre, pero incluye componentes privativos como Pocket. Mozilla puede mediante Snap añadir otros componentes parecidos y funcionalidades desagradables.

Los Snaps tienen algunas ventajas: permiten empaquetar un programa con todas sus dependencias, funcionan en cualquier distribución, etc. Sin embargo, ralentizan el proceso de arranque, son mucho más lentos cuando se ejecutan por primera vez, ocupan más espacio (pues contienen en ellos bibliotecas que podrían usarse por varios programas), su repositorio predeterminado («tienda») es privativo, requiere el uso de systemd, etc.

Si el uso de los Snaps fuera opcional en Ubuntu, no habría tanta controversia, pero Ubuntu los ha impuesto para varios paquetes, para los que ya no existe una alternativa .deb.

Escribir letras especiales del esperanto con teclado español en GNU/Linux

En la distribución del teclado española por defecto no se puede escribir la ŭ del esperanto, pero sí las ĉ, ĝ, ĥ, ĵ y ŝ, pulsando ^ y la letra correspondiente (c, g, h, j o s).

Puedes seleccionar una distribución de teclado para el esperanto y alternar entre esta y la distribución española para no tener que pulsar varias teclas a la vez cuando escribes en esperanto. Sin embargo, si solo escribes esporádicamente en esperanto, quizás te resulte más sencillo escribir esos caracteres especiales con combinaciones de teclas. Vale, ¿pero cómo escribes la ŭ?

En el algunos entornos de escritorio existe la opción de habilitar las teclas especiales del esperanto. En Cinnamon hay que ir a la configuración del teclado, ir a Distribuciones, pulsar en Opciones..., desplegar Letras en esperanto con superíndices y seleccionar A la tecla correspondiente en un teclado QWERTY1, como se muestra en la siguiente imagen:

Si no encuentras la opción y estás usando el gestor de ventanas X en GNU/Linux, como es el caso de la mayoría de distribuciones de GNU/Linux, puedes ejecutar la siguiente instrucción:

setxkbmap -option esperanto:qwerty

Una vez hecho esto, para escribir la ŭ bastará con pulsar AltGr y u. Para hacer esos cambios permanentes, puedes añadir el comando anterior al archivo .xprofile2.

Otra opción es usar la tecla Componer.


  1. Si usas la distribución de teclado Dvorak o Colekam, no deberás marcar opción de QWERTY, sino la opción con el nombre de la distribución de teclado que usas. 

  2. Si el archivo no existe, deberás crearlo. Básicamente, los archivos ~/.xprofile (para tu usuario) y /etc/xprofile (para todo el sistema) permiten ejecutar comandos al comienzo de la sesión de usuario del servidor X