Gokapi
Gokapi is an open-source, lightweight file-sharing server designed for self-hosted environments. It provides a secure and flexible way to share files that automatically expire after a set number of downloads or days. Positioned as an alternative to the discontinued Firefox Send, Gokapi emphasizes simplicity, privacy, and customization, making it ideal for individuals and organizations that want full control over their file-sharing infrastructure.
It allows administrators to upload files to a server and generate unique download links. These links can be shared with recipients, who can then access the files before they expire. The expiration can be configured based on either a specific number of downloads or a set time period, ensuring that files do not remain indefinitely accessible. This feature not only enhances security but also conserves storage space by automatically removing unused files.
It supports both local and cloud-based storage options. Files can be stored directly on the server or on S3-compatible cloud storage services such as Amazon S3 or Backblaze B2. When using cloud storage, Gokapi generates temporary pre-signed URLs for downloads, ensuring secure access without routing traffic through the local server. This setup reduces server load and improves download performance for remote users.
Users can choose from three levels of encryption:
- Level 1 (Local Encryption): Encrypts files stored locally on the server.
- Level 2 (Full Encryption): Encrypts both local files and those stored on cloud services.
- Level 3 (End-to-End Encryption): Encrypts files on the client side before uploading them to the server, ensuring that even if the server is compromised, the data remains inaccessible without the decryption key. However, this level may result in slower download speeds due to client-side decryption requirements.
Gokapi also offers password protection for shared files, allowing administrators to add an additional layer of security. Furthermore, filenames can be included in download URLs for easier identification or excluded for enhanced privacy.
Written in Go, making it easy to deploy across various platforms. It supports two primary installation methods: native deployment or containerized setups using Docker or Podman. This flexibility ensures compatibility with diverse environments, from personal servers to enterprise-scale infrastructures.
Its interface can be tailored using HTML and CSS, allowing users to create a branded experience that aligns with their organizational identity. The platform also includes an API for programmatic interaction, enabling integration with other tools or automation workflows.
File transfers are encrypted using HTTPS/TLS protocols to protect data during transmission. For users concerned about privacy, Gokapi provides options to disable IP logging and anonymize download requests—important considerations for GDPR compliance.
When using encryption features, administrators can store encryption keys in configuration files or require a master password at startup for added security. However, it is worth noting that Gokapi’s encryption has not undergone formal auditing, so users handling highly sensitive data should exercise caution.
Gokapi supports integration with reverse proxies like Nginx or Traefik. Reverse proxies can handle user authentication externally through tools like Authelia or Authentik, allowing administrators to disable Gokapi’s internal authentication mechanisms entirely if desired.
There are some limitations:
- Its encryption system has not been formally audited.
- Advanced user management features are absent; only administrators can upload files by default.
- Mobile responsiveness could be improved for better usability on smaller screens.
Gokapi is a solution for self-hosted file sharing that prioritizes privacy and flexibility. Its ability to handle expiring links, integrate with cloud storage providers, and offer customizable encryption makes it an excellent choice for individuals or organizations seeking control over their file-sharing processes. While it lacks some advanced features found in larger enterprise systems, its simplicity and focus on security fill an important niche.