hudik/hoodik
Hoodik是一款轻量级、安全的自托管云存储解决方案。它采用Rust和Vue设计构建,专注于端到端加密,可保护您的数据免受窥探和黑客***。Hoodik支持文件上传与下载,便于您与其他用户共享文件。简单直观的Web界面使文件管理变得轻松,而Rust对速度和性能的优化让数据传输极为快速。
Hoodik的设计核心目标是:安全存储您的文件。文件在上传和下载过程中会在您的设备上进行加密和解密。
为确保端到端加密在实现用户间文件共享的同时保持快速高效,我们采用了混合加密方法:
我们设计了一种机制,可在不在数据库中留下明文元数据的情况下搜索文件:
公开分享文件链接的流程可保护实际文件的AES密钥:
[***]{id}#link-key),或者他们需要在客户端应用中输入密钥才能开始下载。对于RSA,我们采用2048位PKCS#1密钥,对于AES,我们使用AEAD Ascon-128a。您可在cryptfns工作区成员中找到加密的详细使用方法。我们选择此加密设置是因为它提供了出色的性能表现。
文件被分块存储,每个块单独加密。这支持块的并发上传和下载,以抵消加密开销。
*需要注意的是,在下载公开链接文件时,共享密钥仅解锁链接。实际文件密钥在链接中加密,并在下载过程中解密文件。此设计确保接收共享链接的人永远不会获取文件密钥。
*我们提供服务器端加密和解密作为备选方案,适用于客户端运行在计算能力有限的设备上的情况。但预计此功能很少使用。
虽然应用本身可以处理传入流量,但我们建议使用反向代理(如Nginx Proxy Manager)以获得最佳效果。
shelldocker run --name hoodik -it -d \ -e DATA_DIR='/data' \ # 数据存储目录 -e APP_URL='[***] \ # 应用访问URL -e SSL_CERT_FILE='/data/my-cert-file.crt.pem' \ # SSL证书文件路径 -e SSL_KEY_FILE='/data/my-key-file.key.pem' \ # SSL密钥文件路径 -e MAILER_TYPE='smtp' \ # 邮件发送类型 -e SMTP_ADDRESS='smtp.gmail.com' \ # SMTP服务器地址 -e SMTP_USERNAME='***' \ # SMTP用户名 -e SMTP_PASSWORD='google-account-app-password' \ # SMTP密码 -e SMTP_PORT='465' \ # SMTP端口 -e SMTP_DEFAULT_FROM_EMAIL='***' \ # 默认发件人*** -e SMTP_DEFAULT_FROM_NAME='Hoodik Drive' \ # 默认发件人名称 --volume "$(pwd)/data:/data" \ # 挂载数据卷到本地data目录 -p 4554:5443 \ # 端口映射(主机:容器) hudik/hoodik:latest # 镜像名称和标签
Hoodik支持Sqlite或Postgres数据库。默认启用Sqlite,并会在您的DATA_DIR中自动创建数据库文件。如果您偏好外部Postgres数据库,只需提供Postgres连接的DATABASE_URL即可。
请注意:Hoodik使用的数据库不可互换。如果您在开始使用应用后决定从一种数据库类型切换到另一种,可能会导致所有数据丢失。
有关更详细的应用配置,请查看我们的环境变量示例。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
MacOS OrbStack 容器配置
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务