La 2.0 (2021) es una aplicación WinForms sobre .NET Framework 4.5, con HttpListener. Su código sigue en el repositorio (Sunfish/, Sunfish Test Plugin/, Sunfish.sln, Sunfish Test Plugin.sln) hasta que empiece la reescritura. Entonces se eliminará: queda en la historia de git (conviene marcar antes ese punto con una etiqueta, p. ej. v2.0).
Capturas de la 2.0: main.png, editor.png.
| 2.0 | En la 3 |
|---|---|
Servicio WebService: carpeta, documento por defecto, listado, solo lectura, borrar |
Se mantiene como share, con permisos más finos |
| Ejecutar ficheros en el servidor | Se elimina |
Compartir pantalla (_OLD_/RemoteScreen.cs) |
Se elimina |
| Menú raíz con la lista de servicios | Se mantiene (RootMenu) |
| Locations con prioridad de la más específica | Se mantiene, comparando por segmentos completos |
Autodescarga del ejecutable (/$sunfish/Sunfish.exe) |
Se mantiene (/$sunfish/download) |
| Descarga de carpeta en ZIP (vía fichero temporal) | Se mantiene, en flujo y compatible con descompresores antiguos |
Subida por trozos con PUT y X-Sunfish-Offset |
Se mantiene en el modo moderno; el clásico usa formularios |
Iconos del shell de Windows y miniaturas con System.Drawing |
Se elimina (solo Windows y no compatible con AOT); iconos GIF por tipo |
Plantillas propias con reflexión (Templater) |
Se sustituye por generación sin reflexión |
Recursos $sunfish "sellados" al final del .exe |
Se sustituye por recursos incrustados |
| Fuentes e iconos de Google Fonts | Se elimina (no funciona sin Internet) |
Plugins sf-*.dll cargados por reflexión |
Se elimina |
| Panel de administración con contraseña (sin terminar) | Se implementa, con hash y AllowFrom |
konsole.js (consola de depuración en la página) |
Se elimina |
| Lista de IP y copiar URL por interfaz | Se mantiene, con QR |
| Arrastrar carpetas a la ventana para compartirlas | Se mantiene; además, arrastrar sobre el ejecutable |
| Reglas del cortafuegos de Windows (sin usar) | Pendiente (ver APLICACIONES.md) |
Configuración JSON sunfish2 |
INI sunfish.conf, con importación de la 2.0 |
Requiere administrador (requireAdministrator) |
No |
uHttp.cs (restos de otro proyecto) |
Se elimina |
Los fallos de seguridad de la 2.0 y su corrección están en SEGURIDAD.md.
MimeTypes.cs: la tabla de extensiones y tipos MIME.$sunfish/, convertidos a GIF.GetServiceForPath).