Newer
Older
Sunfish / README.md
@Ivan Dominguez Ivan Dominguez 1 day ago 3 KB Pre 3.0 (definitions)

Sunfish

Servidor web y de ficheros ligero y portable. Comparte cualquier carpeta del ordenador por web, FTP y WebDAV a la vez, sin instalación y sin permisos de administrador.

Está pensado sobre todo para mover ficheros entre equipos actuales y máquinas antiguas: su navegador de directorios funciona en navegadores de los 90 (Windows 95, Mac clásico), y entiende los formatos MacBinary y BinHex para no perder los resource forks de los ficheros de Mac. También sirve páginas web estáticas: si una carpeta tiene index.html, se muestra la página; si no, su contenido.

Estado: la versión 3 está en diseño (ver DOC/). El código que hay ahora en el repositorio es el de la 2.0, para Windows y .NET Framework.

Qué hará la versión 3

  • Shares: carpetas publicadas en una ruta (/, /fotos…). Cuando una ruta es más específica que otra, tiene prioridad.
  • Permisos por share: listado, subir, sobrescribir, renombrar, borrar, descargar como ZIP. Por defecto, solo lectura.
  • Usuarios con contraseña opcionales por share.
  • Web clásica sin JavaScript para navegadores antiguos y web moderna con arrastrar y soltar.
  • FTP con modo activo y pasivo, y juegos de caracteres antiguos (ISO-8859-1, MacRoman, CP437…).
  • WebDAV para montar los shares desde el Explorador, Finder o los gestores de ficheros de Linux.
  • Panel de administración web con contraseña (desactivado por defecto).
  • Dos programas:
    • Sunfish.exe, con ventana, para Windows;
    • sunfish-cli, con interfaz en la terminal, para Windows, Linux y macOS.
    Arrastra una carpeta sobre cualquiera de los dos y queda compartida al momento.

Importante: todo viaja sin cifrar, contraseñas incluidas. Úsalo solo en redes de confianza.

Compilar desde fuentes

Disponible cuando exista el código de la versión 3.

Se compila en tu máquina con un solo comando. El script comprueba que tienes lo necesario (no instala nada; si falta algo, te dice qué y cómo instalarlo), descarga la última versión, compila y deja los ejecutables en la raíz del proyecto:

  • Windows: Sunfish.exe (con ventana) y sunfish-cli.exe (terminal).
  • Linux y macOS: sunfish-cli. Es nativo y no necesita .NET para ejecutarse.

Necesitas git y el SDK de .NET 10. Para sunfish-cli también un compilador nativo:

  • Windows: Visual Studio Build Tools con «Desarrollo para escritorio con C++»;
  • Linux: clang, zlib y un enlazador;
  • macOS: Xcode Command Line Tools.
irm https://raw.githubusercontent.com/XWolfOverride/Sunfish/main/build.ps1 | iex                # Windows
curl -fsSL https://raw.githubusercontent.com/XWolfOverride/Sunfish/main/build.sh | bash         # Linux y macOS

Crea la carpeta Sunfish/ en el directorio actual. Para actualizar a una nueva versión, vuelve a ejecutar el mismo comando (o ./build.sh / .\build.ps1 dentro de la carpeta). Para compilar un fork, define antes SUNFISH_REPO_URL.

Sunfish.exe se abre con doble clic desde donde esté. Para usar sunfish-cli desde cualquier terminal, instálalo en tu PATH:

# Windows (PowerShell, sin administrador); después reabre la terminal
mkdir $HOME\bin -Force; copy sunfish-cli.exe $HOME\bin
$p = [Environment]::GetEnvironmentVariable("Path","User"); [Environment]::SetEnvironmentVariable("Path","$p;$HOME\bin","User")
# Linux / macOS, solo para tu usuario
mkdir -p ~/.local/bin && install -m 755 sunfish-cli ~/.local/bin/
# para todos los usuarios
sudo install -m 755 sunfish-cli /usr/local/bin/

Ejecutar un script descargado requiere confiar en él: léelo antes o descárgalo y ejecútalo tú.

Documentación técnica

Para desarrolladores y agentes de IA: DOC/README.md.

Licencia

MIT. Copyright (c) 2007-2026 XWolfOverride.