¡Esta es una revisión vieja del documento!
Tabla de Contenidos
copyparty
Aplicación web para convertir cualquier dispositivo en un servidor de ficheros con capacidad de reanudar subidas y descargas (y muchas más cosas). Todo en un único fichero (script). Hecho con Python.
Características
- Cuentas de usuario y gestión de permisos
- Servidor HTTP/HTTPS
- Servidor FTP/FTPS
- Servidor Webdav
- Servidor SMB/CIFS
- Soporte de mDNS y SSDP
- Gestión de ficheros (copiar, pegar, eliminar, renombrar, comprimir…)
- Galería de imágenes
- Reproducción de audio
- Visor de texto con resaltado de sintaxis
- Buscador de ficheros
- Editor Markdown.
- Subidas de ficheros muy rápidas (en trozos y en paralelo) con comprobación de integridad (prevención de corrupción).
- Portabilidad extrema: Un solo archivo Python (menos de 800 KB) o ejecutable para Windows (
copyparty.exe) s Sin dependencias obligatorias; funciona en Python 2.7/3.3+ y sistemas como Linux, Windows, macOS, Android, Raspberry Pi, FreeBSD y Docker 115.
Casos de uso
- Compartir archivos en redes locales: Ideal para LAN parties o entornos sin internet: Usa SMB/mDNS para acceder desde consolas retro (PSP, Nintendo 3DS) o navegadores antiguos (IE6).
- Backup personal automatizado: Sube carpetas locales via FTP/WebDAV con reglas de retención (p. ej., borrar archivos tras 30 días).
- Mediacenter doméstico: Organiza bibliotecas de música/vídeo con búsqueda por etiquetas y streaming desde navegadores o apps móviles.
- Colaboración en equipos:
- Repositorios temporales: Comparte enlaces con contraseña o autodestrucción para proyectos.
- Sincronización vía RSS: Monitorea cambios en carpetas para integrar con podcasters.
- Administración remota de dispositivos: Usa Copyparty en Raspberry Pi para gestionar backups de IoT o extraer logs en tiempo real.
- Migración de datos masivos: Transfiere terabytes entre servidores con subidas reanudables y deduplicación para evitar redundancias.
- Desarrollo y debugging: Visualiza logs en tiempo real o comparte builds de software mediante WebDAV montado como unidad local.
Instalación
Copyparty no necesita instalación, se trata de un script de Python que puede usarse en cualquier sistema que tenga Python instalado. A mayores, existe una versión compilada para Windows útil en los casos donde no tengamos o no podamos instalar Python.
Linux / Android / macos / Windows (con Python)
Solo es necesario tener instalado Python (versión 2 o 3) y ejecutar el fichero copyparty-sfx.py.
Docker
--- services: app: image: copyparty/ac container_name: copyparty user: 1000:1000 volumes: - ./data:/w - ./config:/cfg ports: - 3923:3923 restart: unless-stopped healthcheck: # hide it from logs with "/._" so it matches the default --lf-url filter test: ["CMD-SHELL", "wget --spider -q 127.0.0.1:3923/?reset=/._"] interval: 1m timeout: 2s retries: 5 start_period: 15s
/wes la ruta dentro de contenedor que se comparte por defecto./conf: ruta que contendrá ficheros.confpara configurar copyparty.
Las ediciones de las imágenes de Docker disponibles:
copyparty/min: solamente copypartycopyparty/im: con capacidad para generar miniaturas de imágenescopyparty/ac:imcon el añadido de FFmpeg (recomendada).copyparty/iv:acmás generación de miniaturas de HEIF / AVIC / JXL.copyparty/dj:ivmás aplicaciones para detectar el BPM de las canciones.
Configuración
Completar este apartado. Podemos coger información de https://ocv.me/copyparty/helptext.html
Ejemplo de fichero de configuración:
# not actually YAML but lets pretend: # -*- mode: yaml -*- # vim: ft=yaml: # append some arguments to the commandline; # accepts anything listed in --help (leading dashes are optional) # and inline comments are OK if there is 2 spaces before the '#' [global] p: 8086, 3939 # listen on ports 8086 and 3939 e2dsa # enable file indexing and filesystem scanning e2ts # and enable multimedia indexing z, qr # and zeroconf and qrcode (you can comma-separate arguments) # create users: [accounts] ed: 123 # username: password k: k # create volumes: [/] # create a volume at "/" (the webroot), which will . # share the contents of "." (the current directory) accs: r: * # everyone gets read-access, but rw: ed # the user "ed" gets read-write # let's specify different permissions for the "priv" subfolder # by creating another volume at that location: [/priv] ./priv accs: r: k # the user "k" can see the contents, rw: ed # while "ed" gets read-write # share /home/ed/Music/ as /music and let anyone read it # (this will replace any folder called "music" in the webroot) [/music] /home/ed/Music accs: r: * # and a folder where anyone can upload, but nobody can see the contents [/dump] /home/ed/inc accs: w: * flags: e2d # the e2d volflag enables the uploads database nodupe # the nodupe volflag rejects duplicate uploads # (see --help-flags for all available volflags to use) # and a folder where anyone can upload # and anyone can access their own uploads, but nothing else [/sharex] /home/ed/inc/sharex accs: wG: * # wG = write-upget = see your own uploads only rwmd: ed, k # read-write-modify-delete for users "ed" and "k" flags: e2d, d2t, fk: 4 # volflag "e2d" enables the uploads database, # "d2t" disables multimedia parsers (in case the uploads are malicious), # "dthumb" disables thumbnails (same reason), # "fk" enables filekeys (necessary for upget permission) (4 chars long) # -- note that its fine to combine all the volflags on # one line because only the last volflag has an argument # this entire config file can be replaced with these arguments: # -u ed:123 -u k:k -v .::r:a,ed -v priv:priv:r,k:rw,ed -v /home/ed/Music:music:r -v /home/ed/inc:dump:w:c,e2d,nodupe -v /home/ed/inc/sharex:sharex:wG:c,e2d,d2t,fk=4 # but note that the config file always wins in case of conflicts
Ejecutable para Windows
Si queremos usar Copyparty en un equipo Windows y no podemos instalar Python, existe una versión ejecutable llamada copyparty.exe. Se puede descargar desde los ficheros (assets) de las publicaciones.
Configuración
Ejemplo de fichero de configuración copyparty.conf:
# Configuración global # -------------------- [global] lo: ~/logs/cpp-%Y-%m%d.xz # log to c:\users\you\logs\ e2dsa, e2ts, z # sets 3 flags; see explanation p: 80, 443 # listen on ports 80 and 443, not 3923 theme: 2 # default theme: protonmail-monokai lang: eng # other options: nor, chi # Cuentas de usuario # ------------------ [accounts] # usernames and passwords pepito: grillo # usuario y contraseña # Volúmenes # --------- [/] # create a volume available at / c:\pub # sharing this filesystem location accs: # and set permissions: r: * # everyone can read/download files, rwmd: kevin # kevin can read/write/move/delete [/inc] # create another volume at /inc c:\pub\inc # sharing this filesystem location accs: # permissions: w: * # everyone can upload, but not browse rwmd: kevin # kevin is admin here too [/music] # and a third volume at /music ~/music # which shares c:\users\you\music accs: r: * rwmd: kevin
lo: indica dónde escribir los logs del programa y de forma comprimida.p: indica los puertos en los que escuchará Copyparty (por si no queremos usar por defecto el3923)lang: especifica el idioma de la interfaztheme: indica la plantilla / tema a usar (del 0 al 7).z: habilita Zeroconf (mDNS y SSDP)e2dsa: escanea todos los directorios en el arranque para permitir búsquedas.e2ts: habilita el escaneo de los metadatos de archivos musicales para poder buscar por ellos también.
Para lanzar Copyparty cargando esa configuración:
copyparty.exe -c copyparty.conf
Recursos
- Publicación del autor en Reddit (después de más de 5 años de desarrollo).

