Descargar el código
Todo lo que explica este sitio —el servicio, el panel, la CLI, estas mismas páginas— vive en un solo repositorio, público:
Está abierto porque un módulo que no se puede obtener no es un módulo.
Esta documentación colgaba de antisionista.cl, el primer sitio que lo usa, y se mudó acá justamente porque las docs son del componente y no de quien lo hospeda. Un repo cerrado dejaba la mitad del argumento sin cumplir: el manual de integración está escrito para que alguien que no conoce este código lo instale, y empezaba en un paso que esa persona no podía ejecutar.
Dónde está
| Repo | gitlab.com/pineiden/reply2fb |
| HTTPS | https://gitlab.com/pineiden/reply2fb.git |
| SSH | git@gitlab.com:pineiden/reply2fb.git |
| Rama principal | main |
| Última versión | v0.1.0-rc.1 (2026-08-15) — descargas y notas |
| Licencia | AGPL-3.0-or-later — ver abajo |
Bajarlo
Cloná nombrando el directorio de destino. No es cosmético: el compose.yml
del manual de integración apunta a
./reply2social/backend, y un git clone sin destino te deja un directorio
reply2fb que no coincide.
git clone https://gitlab.com/pineiden/reply2fb.git reply2socialcd reply2socialVerificar
git log --oneline -1 # tiene que mostrar un commitls backend/Cargo.toml ui/core/package.json LICENSELos tres archivos tienen que existir. Si LICENSE no está, estás en un clon
viejo: traé los cambios con git pull.
Sin cuenta de GitLab, sin git
Si sólo querés leerlo o construirlo una vez, no hace falta ni cuenta ni cliente de git:
curl -L -o reply2social.tar.gz \ https://gitlab.com/pineiden/reply2fb/-/archive/main/reply2fb-main.tar.gztar xzf reply2social.tar.gzmv reply2fb-main reply2socialEso te baja main, que avanza. Si vas a instalarlo en serio, bajá una
versión etiquetada en vez de main — es la sección que sigue.
Versiones etiquetadas
Si lo vas a instalar en algo que le importa a alguien, no instales main:
instalá una versión. Cada una tiene su entrada en el
CHANGELOG, que
dice qué trae y —más importante— qué no verificó.
| Versión | Fecha | Qué es | Descargar |
|---|---|---|---|
| v0.1.0-rc.1 | 2026-08-15 | Primera versión etiquetada. Release candidate: Instagram nunca corrió contra Meta. Notas | .tar.gz · .zip |
La lista siempre al día: gitlab.com/pineiden/reply2fb/-/tags
Con git:
# Ver qué versiones haygit tag --list --sort=-v:refname
# Quedarse en unagit checkout v0.1.0-rc.1Sin git:
curl -L -o reply2social-v0.1.0-rc.1.tar.gz \ https://gitlab.com/pineiden/reply2fb/-/archive/v0.1.0-rc.1/reply2fb-v0.1.0-rc.1.tar.gztar xzf reply2social-v0.1.0-rc.1.tar.gzmv reply2fb-v0.1.0-rc.1 reply2socialmain no es una versión. Avanza, y puede romper hacia atrás sin aviso.
Si aun así vas a instalar de main, anotá el sha que dice
/-/commits/main el día
que lo bajaste, y fijalo con git checkout <sha>. Sin una marca de versión, un
build en verde puede estar corriendo el código de antes y nadie se entera.
Qué hay adentro
reply2social/├── backend/ el servicio: Rust + Postgres, y la CLI `reply2fb`│ ├── src/ poller, ingesta, archivo, emisión, redes│ ├── migrations/ el esquema, en orden│ └── Dockerfile lo que construye el compose del manual├── ui/│ ├── core/ @reply2social/core — cliente HTTP + reglas, sin framework│ ├── svelte/ @reply2social/svelte — las ocho pantallas│ └── empaquetar.mjs genera los .tgz del paso 6.1├── docs/ el diseño, las decisiones y este sitio (docs/sitio/)├── compose.yml el despliegue de referencia├── .env.example todas las variables, comentadas├── CHANGELOG.md qué trae cada versión, y qué NO verificó└── LICENSE AGPL-3.0No necesitás todo. Según lo que vayas a hacer:
| Si querés… | Te alcanza con | Seguí por |
|---|---|---|
| Correr el servicio y hablarle por HTTP desde tu propio front | backend/, compose.yml, .env.example | Integrar, pasos 0 a 5 |
| Además montar las ocho pantallas | agregá ui/ | Integrar, paso 6 |
| Entender cómo está hecho antes de instalar nada | docs/ y este sitio | Los módulos |
| Construir estas páginas localmente | docs/sitio/ | abajo |
Construir esta documentación localmente
cd docs/sitionpm cinpm run build # construye y CORRE la verificaciónnpm run dev # servidor localnpm run build no termina en astro build: después corre
scripts/verificar.mjs, que falla si alguna página quedó vacía o si un
diagrama no renderizó. Existe porque dos diagramas con un error de sintaxis se
publicaron como páginas en blanco —con título, menú y pie, y nada en el medio—
y el build dijo «Complete».
La licencia: AGPL-3.0
reply2social se publica bajo la GNU Affero General Public License, versión 3
o posterior. El texto completo está en
LICENSE, y lo
declaran también backend/Cargo.toml y los dos package.json de ui/.
En términos prácticos:
| Podés | Con la condición de |
|---|---|
| Usarlo, para lo que sea, incluso comercialmente | — |
| Estudiarlo y modificarlo | — |
| Instalarlo en tu sitio y correrlo | — |
| Redistribuirlo, modificado o no | publicar el código fuente, bajo la misma licencia |
| Ofrecerlo como servicio por red, sin distribuir nada | publicar igual tus modificaciones a quien lo use |
Por qué AGPL y no MIT, ni siquiera GPL.
La última fila es toda la diferencia. Con GPL, alguien puede tomar este código, modificarlo, y ofrecerlo como servicio alojado sin publicar una línea: nunca distribuye el binario, así que la obligación no se activa. La AGPL cierra esa puerta — es la cláusula 13, «Remote Network Interaction».
Esto es un servicio: es exactamente el caso que la GPL deja abierto. Y lo que el módulo hace —archivar material de otros y republicarlo con permiso— depende de que sus guardas se puedan auditar. Un derivado cerrado corriendo en un servidor ajeno sería un sistema que decide sobre material de terceros y sobre consentimientos, y que nadie puede revisar.
Reportar algo, o proponer un cambio
- Issues: gitlab.com/pineiden/reply2fb/-/work_items
— sí,
work_itemsy noissues: GitLab migró este proyecto a work items y la ruta vieja da 404. - Merge requests: gitlab.com/pineiden/reply2fb/-/merge_requests. Salen de un fork del repo y se aceptan bajo la misma licencia.
Si vas a reportar un fallo de integración, lo más útil que podés adjuntar es qué verificación del manual falló y qué devolvió. El manual está escrito para que cada paso tenga una: un «no me anda» sin eso obliga a adivinar cuál de las ocho formas de fallar en silencio fue.
No abras un issue público con un token, una clave de cifrado ni un
.env. Si encontrás un problema de seguridad, escribí en privado a quien
mantiene el repo en vez de abrir un issue.
Y ahora
- Paso a paso en tu sitio — el manual de integración, con la verificación de cada paso. Empezá acá si ya bajaste el código.
- El recorrido de un post — qué hace el sistema, antes de instalarlo.
- Los módulos — cómo está partido lo que acabás de clonar.