A Lightweight & portable file server

@Ivan Dominguez Ivan Dominguez authored 1 day ago
DOC Pre 3.0 (definitions) 1 day ago
Sunfish Plugin sample and plugin load 5 years ago
Sunfish Test Plugin Plugin sample and plugin load 5 years ago
.gitattributes Pre 3.0 (definitions) 1 day ago
.gitignore Pre 3.0 (definitions) 1 day ago
AGENTS.md Pre 3.0 (definitions) 1 day ago
CLAUDE.md Pre 3.0 (definitions) 1 day ago
LICENSE Pre 3.0 (definitions) 1 day ago
README.md Pre 3.0 (definitions) 1 day ago
Sunfish Test Plugin.sln Plugin sample and plugin load 5 years ago
Sunfish.sln Resources relocation 5 years ago
README.md

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.