====== Plik ====== [[informatica:software:aplicaciones_web|Aplicación web]] para compartir ficheros. Hecho en [[informatica:programacion:go|Go]]. * [[https://github.com/root-gg/plik|Repositorio de código]] Añadir alguna captura de pantalla de la aplicación ===== Características ===== * Cliente de línea de comandos potente * Interfaz web fácil de usar * Múltiples back-ends de datos: archivo, OpenStack Swift, S3, Google Cloud Storage * Múltiples back-ends de metadatos: Sqlite3, PostgreSQL, MySQL * OneShot: los archivos se destruyen después de la primera descarga * Stream: los archivos se transmiten desde el cargador al descargador (no se almacena nada en el servidor) * Posibilidad de eliminar los ficheros subidos en cualquier momento por parte de quien los subió. * TTL: fecha de expiración personalizada * Contraseña: protege la carga con inicio de sesión/contraseña (Auth Basic) * Comentarios: agrega un mensaje personalizado (en formato Markdown) * Autenticación de usuario: local / Google / OVH * Restricción de carga: IP de origen / token * CLI y UI de administrador * Cifrado de lado servidor (con back-end de datos S3) * Compilación multiarch e imágenes de docker * Cargar con ShareX: integrado directamente en ShareX ===== Instalación ===== ==== Docker ==== Ejemplo de ''docker-compose.yml'' para lanzarlo con [[informatica:sistemas_operativos:virtualizacion:docker:docker_compose|Docker Compose]]: --- version: "2" services: plik: image: rootgg/plik:latest container_name: plik volumes: - /home/{user}/plik/plikd.cfg:/home/plik/server/plikd.cfg - /home/{user}/plik/data:/data ports: - 8080:8080 restart: "unless-stopped" El fichero ''plikd.cfg'' podemos descargarlo desde [[https://raw.githubusercontent.com/root-gg/plik/master/server/plikd.cfg|el repositorio oficial]]. Revisamos la siguiente parte: DataBackend = "file" [DataBackendConfig] Directory = "/data/files" # <=== [MetadataBackendConfig] Driver = "sqlite3" ConnectionString = "/data/plik.db" # <=== Los ficheros y metadatos irían en un directorio llamado ''data''. Tanto el fichero ''plikd.cfg'' como el directorio ''data'' deben tener la misma propiedad que en Docker: chown 1000:1000 data chown 1000:1000 plikd.cfg ===== Configuración ===== ==== Usuarios ==== Creación de un usuario local administrador: ./plikd --config plikd.cfg user create --login root --name Admin --admin Se habrá creado un usuario ''root'' con el nombre ''Admin'' y el rol de administrador. Se mostrará por consola la contraseña de dicho usuario. ==== No permitir subidas anónimas ==== En el fichero ''plikd.cfg'': FeatureAuthentication = "forced" Tras relanzar el servidor, Plik solicitará identificarse para poder realizar subidas de ficheros.