
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使用的数据库不可互换。如果您在开始使用应用后决定从一种数据库类型切换到另一种,可能会导致所有数据丢失。
有关更详细的应用配置,请查看我们的环境变量示例。






manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务