Todas usan
Sunfish.Corey el mismo fichero de configuración; ninguna contiene lógica de servidor. Hecho (fase 3):Sunfish.exey la TUI desunfish-clicon shares, usuarios, puerto, arranque/parada, registro, direcciones, modo rápido, instancia única (GUI), área de notificación (GUI), icono (TUI) y subcomandosshare/user. Fase 4: FTP. Fase 5: explorar otro servidor (ventana en la GUI, pestaña F4 en la TUI). Fase 7: código QR (ventana en la GUI, tecla C en la TUI), ajustes del panel web (GUI ysunfish-cli admin) e importación de la 2.0 (al crear la configuración y consunfish-cli import-v2). Pendiente: conexiones activas, iniciar con Windows y servicio.Teclas de la TUI: F1–F5 o Tab cambian de pestaña (Estado, Shares, Usuarios, Explorar, Registro); en Shares, A/Ins añade, Enter edita, Espacio activa/desactiva, D/Supr quita; en Usuarios, A añade, P cambia la contraseña, D borra; en Estado, S arranca/para, P cambia el puerto HTTP, F activa o desactiva FTP, T cambia el puerto FTP, N el nombre, C muestra el código QR de cada dirección (flechas: la siguiente); en Explorar, Enter conecta o abre, A escribe una dirección, R vuelve a buscar, Retroceso sube, D descarga, U sube un fichero o carpeta local, M crea carpeta, Supr borra y Esc vuelve a la lista de servidores; Q/Esc/Ctrl+C salen (con pregunta).
AllowFrom).Sunfish.Core; no hay protocolo propio (ver FTP-Y-WEBDAV.md)./ con listado y solo lectura, se arranca el servidor y se muestran las URLs.SUNFISH_LANG=es|en o --lang lo fuerzan.Sunfish.exe (WinForms, Windows)Aspecto de la 2.0: ventana pequeña y vertical, interfaz compacta y botones con imagen (las imágenes de la 2.0 están en src/Sunfish.WinForms/Resources/; las que faltaban, como «−» y usuarios, se dibujaron en el mismo estilo). Las imágenes se escalan a los PPP de la pantalla.
Location = /<nombre>;Upload + Listing en un recuadro amarillo.AllowFrom.sunfish2 junto al programa o en la carpeta actual, ofrece importarlo y muestra lo que no se trae.HKCU\...\Run) e iniciar minimizado.WinExe: sin ventana de consola.sunfish-cli (consola, Windows / Linux / macOS)| Cómo se lanza | Modo |
|---|---|
| Sin argumentos, con terminal (doble clic incluido) | TUI interactiva: sirve y gestiona |
| Sin argumentos, con stdin/stdout redirigidos | Igual que serve |
sunfish-cli CARPETA |
Modo rápido (TUI si hay terminal) |
sunfish-cli serve |
Sin interfaz; registro por la salida estándar (para servicios) |
sunfish-cli <subcomando> |
Ejecuta y sale |
TUI (ANSI/VT, sin bibliotecas externas): pestañas Estado (IP, URLs, QR con la tecla C), Shares, Usuarios y Registro (Explorar y Conexiones llegarán con sus fases).
A diferencia de la web, la TUI solo se usa en terminales modernos (Windows Terminal, conhost de Windows 10/11, terminales de Linux/macOS, SSH): usa sin reparos caracteres de caja Unicode (marco con esquinas redondeadas ╭╮╰╯, pestañas en el borde superior, atajos en el inferior), ● ○ ☑ ☐ ▸ • y color de 24 bits (o 256 colores si el terminal no lo anuncia).
Icono en la TUI:
▀ ▄ █) y color, a partir del mismo dibujo que el icono de la aplicación (unas 16 × 8 celdas).COLORTERM o Windows Terminal); si no, la paleta de 256 colores.Subcomandos:
sunfish-cli serve sunfish-cli share add NOMBRE CARPETA [Clave=valor ...] (claves de [Share], p. ej. Upload=true) sunfish-cli share set NOMBRE [--location /ruta] Clave=valor ... sunfish-cli share del NOMBRE sunfish-cli share list sunfish-cli user add NOMBRE (pide la contraseña) sunfish-cli user passwd NOMBRE sunfish-cli user del NOMBRE sunfish-cli user list sunfish-cli admin status | enable | disable | passwd (panel web; enable pide contraseña si no hay) sunfish-cli admin allow 127.0.0.1 ::1 192.168.1.0/24 (AllowFrom; * = cualquiera) sunfish-cli import-v2 [FICHERO] (sunfish2 de la 2.0; añade sus shares a la configuración) Opciones globales: -c, --config FICHERO -p, --port N -v, --verbose --lang es|en
Como servicio: unidad de systemd o launchd con serve (ejemplos en el repositorio cuando exista el código); en Windows, como tarea programada o con una herramienta de servicios (pendiente).
Sunfish.Core: las mismas funciones que la de WinForms.sunfish-cli.Sunfish.Core/Qr (sin dependencias): modo byte (UTF-8), versiones 1–40, nivel de corrección M como mínimo (sube a Q o H si cabe en la misma versión) y máscara elegida por penalización. Devuelve una matriz de módulos.
Bitmap (píxeles exactos, margen de 4 módulos).▀ ▄ █ en negro sobre fondo blanco (sobre el fondo oscuro del terminal los móviles no lo leen) y margen de 2 módulos; si no cabe, muestra la dirección.QrImage.Png).