From dcb4613f66dae91b3ea664d2e01f810390bcb37d Mon Sep 17 00:00:00 2001
From: Ronald <42101257+Rooyca@users.noreply.github.com>
Date: Sun, 9 Jul 2023 14:05:59 -0500
Subject: [PATCH 1/3] Create README_ES.md
---
README_ES.md | 200 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 200 insertions(+)
create mode 100644 README_ES.md
diff --git a/README_ES.md b/README_ES.md
new file mode 100644
index 0000000..272494e
--- /dev/null
+++ b/README_ES.md
@@ -0,0 +1,200 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+[EN](README.md) | [简体中文](README_zh-CN.md) | ES
+
+## Acerca de
+
+_cryptgeon_ es un servicio seguro y de código abierto para compartir notas o archivos inspirado en [_PrivNote_](https://privnote.com).
+Incluye un servidor, una página web y una interfaz de línea de comandos (CLI, por sus siglas en inglés).
+
+> 🌍 Si quieres traducir este proyecto no dudes en ponerte en contacto conmigo.
+>
+> Gracias a [Lokalise](https://lokalise.com/) por darnos acceso gratis a su plataforma.
+
+## Demo
+
+### Web
+
+Prueba la demo y experimenta por ti mismo [cryptgeon.org](https://cryptgeon.org)
+
+### CLI
+
+```
+npx cryptgeon send text "Esto es una nota secreta"
+```
+
+Puedes revisar la documentación sobre el CLI en este [readme](./packages/cli/README.md).
+
+## Características
+
+- enviar texto o archivos
+- el servidor no puede desencriptar el contenido debido a que la encriptación se hace del lado del cliente
+- restriccion de vistas o de tiempo
+- en memoria, sin persistencia
+- compatibilidad obligatoria con el modo oscuro
+
+## ¿Cómo funciona?
+
+Se genera una id (256bit)
y una llave 256(bit)
para cada nota. La
+id
+se usa para guardar y recuperar la nota. Después la nota es encriptada con la llave
y con aes en modo gcm del lado del cliente y por último se envía al servidor. La información es almacenada en memoria y nunca persiste en el disco. El servidor nunca ve la llave de encriptación por lo que no puede desencriptar el contenido de las notas aunque lo intentara.
+
+## Capturas de pantalla
+
+![screenshot](./design/Screens.png)
+
+## Variables de entorno
+
+| Variable | Default | Descripción |
+| ------------------ | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `REDIS` | `redis://redis/` | Redis URL a la que conectarse. [Según el formato](https://docs.rs/redis/latest/redis/#connection-parameters) |
+| `SIZE_LIMIT` | `1 KiB` | Tamaño máximo. Valores aceptados según la [unidad byte](https://docs.rs/byte-unit/).
`512 MiB` es el máximo permitido.
El frontend mostrará ese número, incluyendo el ~35% de sobrecarga de codificación. |
+| `MAX_VIEWS` | `100` | Número máximo de vistas. |
+| `MAX_EXPIRATION` | `360` | Tiempo máximo de expiración en minutos. |
+| `ALLOW_ADVANCED` | `true` | Permitir configuración personalizada. Si se establece en `false` todas las notas serán de una sola vista. |
+| `ID_LENGTH` | `32` | Establece el tamaño en bytes de la `id` de la nota. Por defecto es de `32` bytes. Esto es util para reducir el tamaño del link. _Esta configuración no afecta el nivel de encriptación_. |
+| `VERBOSITY` | `warn` | Nivel de verbosidad del backend. [Posibles valores](https://docs.rs/env_logger/latest/env_logger/#enabling-logging): `error`, `warn`, `info`, `debug`, `trace` |
+| `THEME_IMAGE` | `""` | Imagen personalizada para reemplazar el logo. Debe ser accesible públicamente. |
+| `THEME_TEXT` | `""` | Texto personalizado para reemplazar la descripción bajo el logo. |
+| `THEME_PAGE_TITLE` | `""` | Texto personalizado para el título |
+| `THEME_FAVICON` | `""` | Url personalizada para el favicon. Debe ser accesible públicamente. |
+
+## Despliegue
+
+> ℹ️ Se requiere `https` de lo contrario el navegador no soportará las funciones de encriptacón.
+
+> ℹ️ Hay un endpoint para verificar el estado, lo encontramos en `/api/health/`. Regresa un código 200 o 503.
+
+### Docker
+
+Docker es la manera más fácil. Aquí encontramos [la imágen oficial](https://hub.docker.com/r/cupcakearmy/cryptgeon).
+
+```yaml
+# docker-compose.yml
+
+version: '3.8'
+
+services:
+ redis:
+ image: redis:7-alpine
+ # Set a size limit. See link below on how to customise.
+ # https://redis.io/docs/manual/eviction/
+ # command: redis-server --maxmemory 1gb --maxmemory-policy allkeys-lru
+
+ app:
+ image: cupcakearmy/cryptgeon:latest
+ depends_on:
+ - redis
+ environment:
+ # Size limit for a single note.
+ SIZE_LIMIT: 4 MiB
+ ports:
+ - 80:8000
+
+ # Optional health checks
+ # healthcheck:
+ # test: ["CMD", "curl", "--fail", "http://127.0.0.1:8000/api/live/"]
+ # interval: 1m
+ # timeout: 3s
+ # retries: 2
+ # start_period: 5s
+```
+
+### NGINX Proxy
+
+Ver la carpeta de [ejemplo/nginx](https://github.com/cupcakearmy/cryptgeon/tree/main/examples/nginx). Hay un ejemplo con un proxy simple y otro con https. Es necesario que especifiques el nombre del servidor y los certificados.
+
+### Traefik 2
+
+Ver la carpeta de [ejemplo/traefik](https://github.com/cupcakearmy/cryptgeon/tree/main/examples/traefik).
+
+### Scratch
+
+Ver la carpeta de [ejemplo/scratch](https://github.com/cupcakearmy/cryptgeon/tree/main/examples/scratch). Ahí encontrarás una guía de cómo configurar el servidor e instalar cryptgeon desde cero.
+
+### Synology
+
+Hay una [guía](https://mariushosting.com/how-to-install-cryptgeon-on-your-synology-nas/) (en inglés) que puedes seguir.
+
+### Guías en Youtube
+
+- En inglés, por [Webnestify](https://www.youtube.com/watch?v=XAyD42I7wyI)
+- En inglés, por [DB Tech](https://www.youtube.com/watch?v=S0jx7wpOfNM) [Previous Video](https://www.youtube.com/watch?v=JhpIatD06vE)
+- En alemán, por [ApfelCast](https://www.youtube.com/watch?v=84ZMbE9AkHg)
+
+## Desarrollo
+
+**Requisitos**
+
+- `pnpm`: `>=6`
+- `node`: `>=18`
+- `rust`: edition `2021`
+
+**Instalación**
+
+```bash
+pnpm install
+
+# También necesitas cargo-watch, si no lo tienes instalado.
+# https://lib.rs/crates/cargo-watch
+cargo install cargo-watch
+```
+
+**Ejecutar**
+
+Asegurate de que docker se esté ejecutando.
+
+```bash
+pnpm run dev
+```
+
+Ejecutando `pnpm run dev` en la carpeta raíz iniciará lo siguiente:
+
+- redis docker container
+- rust backend
+- client
+- cli
+
+Puedes ver la app en [localhost:1234](http://localhost:1234).
+
+> Existe una colección de Postman con algunas peticiones de ejemplo [disponible en el repo](./Cryptgeon.postman_collection.json)
+
+### Tests
+
+Los tests son end-to-end tests escritos con Playwright.
+
+```sh
+pnpm run test:prepare
+
+# Usa el script test o test:local. La versión local solo corre en el navegador para acelerar el desarrollo.
+pnpm run test:local
+```
+
+## Seguridad
+
+Por favor dirigite a la sección de seguridad [aquí](./SECURITY.md).
+
+---
+
+_Atribuciones_
+
+- Datos del Test:
+ - Texto para los tests [Nietzsche Ipsum](https://nietzsche-ipsum.com/)
+ - [AES Paper](https://www.cs.miami.edu/home/burt/learning/Csc688.012/rijndael/rijndael_doc_V2.pdf)
+ - [Unsplash Imágenes](https://unsplash.com/)
+- Animación de carga por [Nikhil Krishnan](https://codepen.io/nikhil8krishnan/pen/rVoXJa)
+- Iconos hechos por freepik de www.flaticon.com
From 86f596fa4bd8b6726b52c7bb6d9dba9202411753 Mon Sep 17 00:00:00 2001
From: Ronald <42101257+Rooyca@users.noreply.github.com>
Date: Sun, 9 Jul 2023 14:07:40 -0500
Subject: [PATCH 2/3] Add README_ES.md
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 3e2e865..7a14736 100644
--- a/README.md
+++ b/README.md
@@ -14,7 +14,7 @@
-EN | [简体中文](README_zh-CN.md)
+EN | [简体中文](README_zh-CN.md) | [ES](README_ES.md)
## About?
From 618e914b55957fcc534ea2bf934417b861c52048 Mon Sep 17 00:00:00 2001
From: Ronald <42101257+Rooyca@users.noreply.github.com>
Date: Sun, 9 Jul 2023 14:09:10 -0500
Subject: [PATCH 3/3] Add README_ES.md
---
README_zh-CN.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README_zh-CN.md b/README_zh-CN.md
index 7de6b4a..e60182a 100644
--- a/README_zh-CN.md
+++ b/README_zh-CN.md
@@ -14,7 +14,7 @@
-[EN](README.md) | 简体中文
+[EN](README.md) | 简体中文 | [ES](README_ES.md)
## 关于本项目