Abierto Libre y de código abierto — lee el código
Descargar

Descarga Flamenet Messenger

Android ya se puede instalar. La versión para iPhone todavía se está preparando — esta página lo dirá en cuanto esté disponible.

Disponible en Estados Unidos, México, Guatemala, El Salvador, Honduras, Perú y Bolivia. Desde cualquier otro país no se puede crear una cuenta: la aplicación lo dirá claramente en lugar de parecer que está averiada. Esta página se puede leer desde cualquier lugar a propósito — enterarse después de haber instalado algo y de haber elegido una contraseña es una forma peor de descubrirlo.

¿Tienes instalada una versión anterior? Reemplázala. La versión 0.11 corrige mensajes que podían no enviarse a alguien que había reinstalado la aplicación — con un error que culpaba al servidor, cuando era tu propio teléfono el que se negaba a enviar a unas claves que ya no podía comprobar. También evita que una foto enviada como archivo lleve consigo el lugar donde se tomó. Instalar encima conserva tu cuenta y tus conversaciones. Qué ha cambiado.

La aplicación para iPhone necesitará iOS 26 o posterior. Es la primera versión en la que Apple incluye el cifrado poscuántico, y preferimos pedir un teléfono reciente antes que escribir nosotros mismos esa parte de las matemáticas.

QR code linking to this page

¿Estás leyendo esto en una computadora? Escanea esto con la cámara de tu teléfono para abrir esta página ahí — la aplicación tiene que acabar en el teléfono en el que de verdad la vas a usar.

Lo que te va a preguntar el teléfono, y qué tocar

Android pone tres avisos entre tú y cualquier aplicación que no venga de Play Store. Los tres son normales aquí. Ninguno significa que esta aplicación tenga algo malo — significan que llegó como archivo y no a través de una tienda, y Android dice lo mismo de todas las que llegan así.

  1. “Este archivo puede ser dañino” — lo muestra tu navegador al empezar la descarga. Elige Descargar de todas formas. Chrome lo muestra para los archivos de aplicación en general, los haya hecho quien los haya hecho; habla de cómo te llegó el archivo, no de lo que contiene.
  2. “Permitir instalar desde esta fuente” — entra en el ajuste y actívalo para tu navegador. Este es el que de verdad merece la pena entender: es el permiso que permite instalar cualquier cosa de fuera de Play Store, y es razonable que Android te haga decirlo a propósito.
  3. Play Protect puede decir que no reconoce al desarrollador — elige Instalar de todas formas. Significa que Google no ha visto antes esta aplicación, lo cual es cierto: no está en Play Store.

Si prefieres comprobarlo en vez de creernos, el archivo que descargues debe tener esta huella, y la aplicación instalada debe estar firmada por nosotros:

  • Archivo (SHA-256): publicada junto a la descarga
    comprueba con shasum -a 256 flamenet-messenger.apk
  • Firmada por CN=Flamenet Messenger, O=Extant 2000 LLC, certificado SHA-256 791fc826d572a70abfaf7db7fa7784dad0f86f204bb313f0d75ee676df8d3a1d
    comprueba con apksigner verify --print-certs flamenet-messenger.apk

No podemos hacer que estos avisos desaparezcan — solo desaparecerían publicando en Play Store, y eso significaría entregarle a Google la lista de quién instala esto. Es un intercambio que preferimos no hacer, así que preferimos explicar los avisos antes que evitarlos.

F-Droid, cuando la aplicación vuelva

Esta vía también está en pausa. El repositorio sirve la misma versión que la descarga directa, así que arrastra el mismo fallo — pausar una y dejar la otra sería solo una forma más silenciosa de darle a alguien una aplicación rota. Dejamos aquí las instrucciones porque no cambian.

F-Droid es una tienda de aplicaciones de código abierto para Android. Añadir nuestro repositorio significa que las actualizaciones llegan solas, y que los avisos de Android sobre aplicaciones desconocidas ocurren una vez — al instalar F-Droid — en lugar de cada vez que publicamos una versión.

Instala F-Droid y luego abre este enlace en tu teléfono:

Añadir el repositorio a F-Droid

O añádelo a mano: https://flamenetmessenger.com/fdroid/repo
Huella DD342CC7F498FDE05BE63EFDDB56ED731BAD70BB32AC1D6D8DBAB0EA7511F38B — F-Droid lo comprueba al añadir el repositorio, y eso es lo que impide que alguien capaz de interferir en tu conexión te entregue otro distinto.

Las versiones de aquí son los mismos archivos firmados que la descarga directa — este es nuestro propio repositorio, no una ficha en f-droid.org, así que la aplicación conserva nuestra firma y se instala encima de la que ya tengas. Por eso también está en pausa: mismo archivo, mismo fallo.

Cómo saber que de verdad es nuestra

El código es público y la licencia permite que cualquiera lo recompile, así que “parece Flamenet Messenger” no demuestra nada por sí solo. Esto es lo que de verdad lo resuelve, de más fuerte a menos.

1. La clave de firma — y esta Android la aplica por ti

Cada versión que publicamos está firmada con una clave que solo tenemos nosotros:

CN=Flamenet Messenger, O=Extant 2000 LLC
certificado SHA-256 791fc826d572a70abfaf7db7fa7784dad0f86f204bb313f0d75ee676df8d3a1d

Esto no es solo una etiqueta que puedas comprobar — Android actúa en consecuencia. Una aplicación firmada con otra clave no puede instalarse encima de una firmada con la nuestra; el teléfono se niega sin más. Así que la recompilación de otra persona puede existir, pero no puede convertirse en una actualización de la aplicación que ya tienes, ni ocupar su lugar sin que te enteres. Compruébalo tú mismo con apksigner verify --print-certs flamenet-messenger.apk.

2. La versión publicada coincide con el código publicado

Una firma demuestra quién publicó un archivo, no qué se metió dentro. Por eso la versión de Android es reproducible: compila tú mismo el código público y cada entrada del APK resultante es idéntica byte a byte a la que publicamos. Solo cambia el bloque de la firma, porque firmar lleva aleatoriedad — por eso comparar el hash del archivo entero es la prueba equivocada, y por eso hay un script que compara lo correcto:

./gradlew clean :app:assembleRelease
python3 scripts/verify-build.py \
    app/build/outputs/apk/release/app-release.apk \
    ~/Downloads/flamenet-messenger.apk

CONTENTS MATCH, junto con el certificado de arriba, es la cadena completa: los bytes que hay en tu teléfono son los bytes que produjo tu propio compilador a partir del código que puedes leer, publicados con la clave que tenemos nosotros. No tienes que creernos en ninguna de las dos mitades.

3. El repositorio de F-Droid está fijado por partida doble

Nuestro repositorio se niega a servir cualquier versión que no esté firmada con el certificado de arriba, y su índice está firmado con una clave aparte que F-Droid fija la primera vez que añades el repositorio:

huella del repositorio DD342CC7F498FDE05BE63EFDDB56ED731BAD70BB32AC1D6D8DBAB0EA7511F38B

Esa fijación es lo que impide que alguien capaz de interferir en tu conexión sustituya después el repositorio por otro — pero solo funciona si la huella te llegó por una vía que esa persona no controla, y por eso está impresa aquí y no solo la entrega el propio repositorio.

Lo que nada de esto impide, dicho claramente

Cualquiera puede bifurcar esto y publicar su propia versión — la licencia lo permite y no querríamos que fuera de otro modo. Lo que no puede hacer es firmarla como nosotros, actualizar una instalación nuestra, ni pasar la comprobación de arriba contra nuestra huella.

El momento débil es tu primera instalación, cuando no tienes nada anterior con qué comparar y dependes de haber llegado al sitio auténtico. Si alguien te envió aquí, merece la pena comparar las huellas de arriba con una copia obtenida por otra vía — otro dispositivo, otra red, alguien en quien ya confíes.

Un par de cosas más que conviene saber

Como se instala directamente, nada la actualiza por ti. Desde la versión 0.2 la aplicación comprueba si se ha publicado una versión más nueva y te avisa, y hay un botón Buscar actualizaciones en Cuenta por si prefieres preguntar tú. Se lo pregunta al servidor en el que has iniciado sesión, no a nosotros — un servidor propio que no publique ninguna versión simplemente no genera ningún aviso. Instalar un APK más nuevo encima conserva tus mensajes y tu cuenta.

No hay una versión que funcione en el navegador, y es una decisión deliberada, no algo que siga pendiente. Una página web te la entrega el servidor de nuevo cada vez que la abres, así que su privacidad depende de confiar en quien la sirvió ese día. Una aplicación que ya tienes instalada no funciona así, y por eso fuimos en esa dirección.