自建一次性秘密分享平台OTS:完整部署与使用指南
本周介绍一个充满趣味的新项目,具备阅后即焚功能。该项目在GitHub上的完整名称为Luzifer/OTS。

简单来说,OTS类似于QQ闪图和纸飞机应用中的消息过期自动删除机制。关于其具体应用场景,读者可以在了解完整内容后自行决定是否部署,只能说在某些特定情境下具有巧妙用途。
值得一提的是,另一款类似工具加密鸽(cupcakearmy/cryptgeon)也获得了较高关注度,有兴趣的读者可以进一步了解。
https://blog.ydxian.xyz/archives/cryptgeon
项目概述
OTS是一个专为一次性秘密分享设计的平台:它在浏览器端采用对称256位AES加密技术,将敏感信息加密后再传输至服务器。服务器从未接触明文数据,且在秘密被读取一次后立即将其删除。
核心特性
在客户端(浏览器端)使用AES-256加密算法处理机密内容,确保原始数据在发送至服务器前就已加密。
服务器始终未接收未加密的明文,因此即使服务器遭受攻击,也无法轻易解密已存储的内容。
机密链接仅支持单次访问:读取后该秘密会立即从存储中移除,防止多次查看或长期留存。
支持通过命令行工具(CLI)或脚本化操作来创建和获取秘密,便于自动化流程集成。
提供多种后端存储选项(如内存或Redis),实现灵活部署配置。
链接格式将“秘密ID与密码”合并到URL的fragment部分(#后内容),由于服务器无法读取fragment,密码不会被传输。
安装与配置
以威联通NAS为例,通过Docker Compose方式完成部署。
熟悉技术的用户可前往项目页面阅读Wiki自行构建,本文直接使用官方镜像进行演示。
部署代码如下:
services: app: image: ghcr.io/luzifer/ots:latest container_name: ots restart: always environment: # Optional, see "Customization" in README # CUSTOMIZE: '/etc/ots/customize.yaml' # See README for details REDIS_URL: redis://redis:6379/0 # 设置每个秘密的存活时间,案例168h=1周后过期 SECRET_EXPIRY: "604800" # "mem" or "redis" (See README) STORAGE_TYPE: redis depends_on: - redis ports: - 3355:3000 # 冒号左侧自定义
redis: image: redis:latest # 镜像加速正确填写 # image: docker.20040311.xyz/library/redis:latest container_name: ots-redis restart: always volumes: - /share/Container/ots/data:/data # 冒号左侧自定义
REDIS_URL参数指示OTS连接Redis数据库的位置。这里的redis指代下方services中Redis容器的名称,6379是Redis默认端口,/0表示使用第0号数据库。
跨平台利器!通过Docker一键部署多功能Web终端EasyNode
在管理远程服务器时,可供选择的SSH工具非常多:Xshell、Xterminal、MobaXterm、WindTerm、Tabby、Ghostty、Termius、Termora等。这些都是备受用户好评的客户端软件。如果你主要在固定的个人电脑上工作,可以逐一尝试并选择最适合自己操作习惯的一款。当然,如果连接需求较为简单,各大操作系统自带的原生终端也基本能满足使用。
我最初接触Web终端,是由于在公司需要SSH连接家中的NAS设备以及购买的云服务器进行测试,但发现连接被公司网络策略拦截(估计是相关端口被封禁)。这类基于浏览器的工具因此成为了我的救星。此外,我时常会使用公用电脑、临时设备、手机或平板等无法随意安装软件的环境,网页版终端此时就显得格外省心便捷。
之前我也曾介绍过几款WebSSH和WebSFTP工具。
轻松连接所有服务器,我用 Nexus Terminal 替代了一堆远程工具,效果惊人
最近,我又发现了一个表现不错的Web终端面板工具:EasyNode。它支持通过Docker一键部署,非常方便。下图取自其项目主页。

该项目提供PLUS版本,但基础版的SSH和SFTP核心功能并未设限。经过个人试用,基础功能已相当够用。

项目介绍与功能特性
EasyNode是一个功能丰富的Linux服务器Web终端管理面板,集成了WebSSH和WebSFTP功能。
主要功能列表:
- 功能完善的SSH终端与SFTP文件管理:提供接近原生客户端的操作体验。
- 跳板机(中转)功能:可用于访问网络受限或延迟较高的服务器实例,提升终端输入响应速度。
- AI对话组件:支持与AI助手对话,并可联动终端操作。
- 服务器配置管理:支持批量导入、导出及编辑服务器连接配置、脚本等。
- 脚本库:保存常用命令脚本,便于快速调用。
- 实例分组:将服务器按项目、环境等进行分类管理。
- 凭据托管:安全地存储和管理连接凭据。
- 多渠道通知:支持通过多种方式接收系统通知。
- 批量指令下发:可同时对多台服务器执行相同命令。
部署流程
1. 部署主服务
本文以威联通(QNAP)NAS作为部署平台进行演示,采用Docker Compose方式部署。
请复制以下部署代码,并注意保持格式(尤其是缩进)正确:
version: '3' # 若使用最新版Docker Compose语法,可删除此行
services:
easynode:
image: chaoszhu/easynode
restart: always
ports:
- 8028:8082 # 冒号左侧的宿主机端口可根据需要修改
volumes:
- /share/Container/easynode/db:/easynode/app/db # 冒号左侧请根据实际情况修改路径,威联通用户可直接参考此路径
environment:
- TZ=Asia/Shanghai
- DEBUG=0 # 调试日志开关,0为关闭,1为开启
labels:
- "com.centurylinklabs.watchtower.enable=true"
# --- 以下为Docker容器自动更新服务(可选)---
# 如果不需要自动更新,请将以下watchtower部分全部删除
watchtower:
image: containrrr/watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock
command: --schedule "0 8 * * *" --label-enable
restart: always
environment:
- TZ=Asia/Shanghai
请注意:默认Docker配置可能不启用IPv6。如需通过IPv6连接,请自行配置Docker守护进程,或使用支持IPv6的跳板机进行中转。
零刻MateMini拓展坞深度评测:为Mac mini量身打造的高性能扩展方案
原本以为今年的618会平静度过,但到了6月17号晚上,我还是没能抵挡住消费的诱惑,入手了一台入门版Mac mini M4,并顺带配置了全套键鼠与显示器。

苹果生态的流畅体验确实令人满意,但使用过程中的痛点也很快浮现:接口扩展成为刚需。设备仅有雷电口,缺乏常用的USB-A接口;同时,256GB的内置存储空间也显得捉襟见肘,即便是我公司那台配备500GB硬盘的iMac,也时常需要依赖内部的威联通NAS来分担存储压力。

因此,我开始为这台Mac mini寻找一个能兼顾扩展能力、性能释放,并且在美学设计上与之匹配的解决方案。最终,零刻Mate Mini速度款拓展坞(支持雷电5协议)进入了我的视野。

零刻的主力产品线是迷你主机,其产品在外观设计、做工用料以及整体性价比方面,一直保持着良好的用户口碑。这也成为我没有过多犹豫便选择这款Mate Mini拓展坞的重要原因之一。
选购建议:速度款还是双盘款?
零刻Mate Mini拓展坞目前提供两款配置: A款(双盘款):支持两个M.2 2280 PCIe X2插槽,最大可扩展至16TB存储空间。 B款(速度款):配备单个M.2 2280 PCIe X4插槽,最高支持8TB扩容,但提供了更快的读写速度。

结合我个人长期的Mac使用经验,如果对极致读写速度有更高要求,**速度款(B款)**是更值得推荐的选择。
外观与设计:极简美学,完美匹配Mac mini
打开产品包装,看到本体的一瞬间,脑海中浮现的第一个念头便是:“果味十足。”
🔻整个外壳采用一体成型的银色阳极氧化铝合金材质,握持感坚实稳重,表面处理细腻,提供了适度的摩擦力。

🔺包装内的配件十分简洁,包括一本用户手册和两根U型硬质连接线。

🔻从正面观察,Mate Mini与Mac mini在铝合金质感、边缘过渡处理上几乎如出一辙。边角的CNC切割工艺精准,特别是四周的倒角曲率与Mac mini非常接近,摆放在桌面上时,两者之间完全没有视觉上的割裂感。

🔻整体的第一印象可以这样概括:它不像一个独立的拓展坞,更像是Mac mini机身的自然延伸。当两者叠放在一起时,甚至不会让人立刻意识到这是两个独立的设备。

🔻为了契合Mac mini一贯的极简风格,Mate Mini的正面仅保留了一颗白色电源指示灯,并且其位置与Mac mini正面的指示灯处于同一条垂直中线上,体现了设计上的巧思。

🔻对于依赖USB-A接口和SD卡槽的用户而言,Mac mini M4全面转向Type-C接口的决定显得颇为“激进”。而Mate Mini恰好在这些关键点上弥补了原机型的短板。它将所有扩展接口统一布置在设备背部,不仅保持了正面的视觉统一性,也方便日常线材管理——让桌面更加整洁,设备也更容易靠墙摆放。

背部接口详解:
- 两个USB-A 3.0接口:这无疑是最实用的存在。无论是插入无线鼠标接收器、高速U盘、读卡器还是移动硬盘都游刃有余,且接口间距合理,避免了设备间相互干扰。
- 一个2.5G有线网口:对我而言这是一个巨大的加分项。Mac mini标配的千兆网口在日常上网时足够,但在内网进行大文件传输时会成为瓶颈。我家的局域网已普遍升级至2.5G,搭配威联通等高吞吐量NAS时,Mate Mini的这个网口可以轻松跑满带宽,显著提升素材处理效率。
- 一个3.5mm音频接口:可以方便地连接有源音箱或监听设备,也避免了从Mac mini前置接口接线带来的凌乱感。
- 两个Type-C接口:左侧为雷电5接口(带有闪电标识),向下兼容雷电3、雷电4和USB4协议,支持高达80Gbps的数据传输速率,足以满足顶配Mac mini M4 Pro的需求。右侧为PD3.0独立供电口,仅用于电源输入。

🔺所有接口的边缘倒角处理都相当细致,未发现任何毛刺或瑕疵。
🔻此外,在Mate Mini正面的右侧,还隐藏着一个独立的SD卡槽,支持SD 4.0协议,理论速度上限可达312MB/s。对于相机用户而言,这省去了额外携带读卡器的麻烦,可以直接导入素材。

内部拆解:看不见的细节与散热设计
将Mate Mini翻转过来,其底部设计给我的第一印象同样是:非常“苹果”。这种感觉并非源于刻意的模仿,而是其“处处讲究”的细节追求与Mac mini的设计哲学不谋而合。
颠覆认知!彩迅25X1高刷电竞屏实测:200Hz+广色域,价格仅400元?
对于许多学生和预算有限的用户而言,生活开销需要精打细算。日常饮食与网络费用是刚需,升级装备的念头也时常浮现,但动辄上千元的“电竞神器”确实让人望而却步。难道预算不足就只能忍受卡顿的游戏画面或体验不佳的办公副屏吗?答案显然是否定的!
我们同样渴望高刷新率带来的流畅游戏画面,也在意护眼功能、色彩准确性和显示稳定性带来的舒适体验。但这一切都有一个重要前提:价格必须亲民。

正是在这样的需求背景下,AMZFAST 25X1 进入了我的视野。
这款价格不到500元(国家补贴后仅需424元)的电竞显示器,配备了200Hz高刷新率、95% DCI-P3广色域以及HDR400显示效果,并采用硬件级低蓝光护眼设计。它不仅能让游戏体验酣畅淋漓,也非常适合日常的网课学习、办公处理以及影音娱乐。

更为贴心的是,该产品还提供了15天无理由退换货以及长达三年的保修服务,这让其四百多元的价位显得性价比极高。对于预算紧张却又追求良好使用体验的学生群体和上班族来说,这难道不是一款理想的显示器选择吗?
关于AMZFAST品牌
AMZFAST是彩迅集团旗下专注于电竞领域的显示器品牌。彩迅集团在业内并非新兵——自1997年成立以来,便持续深耕半导体显示领域,是中国十大彩色电视机制造与出口商之一。如今,AMZFAST携带着丰富的海外市场竞争经验回归国内市场,旨在为新一代年轻玩家、学生及内容创作者,提供真正具备“敢卷、能卷”特质的高性价比显示产品。
从品牌的硬实力、产品研发到自有生产线,再到眼前这台25X1显示器,它并非简单的代工贴牌产品,而是依托一整套成熟、自主且富有竞争力的完整体系所打造。
从设计到功能的全面解析
AMZFAST 25X1 显示器的标准配件包括显示器本体、支架、一根HDMI 2.1连接线以及一条220V电源线。

所有配件均采用纯黑色涂装,支架与显示器本体的设计风格保持统一,并且支持免工具快速拆装,极大地简化了安装流程。

AMZFAST 25X1 显示器采用了三面窄边框设计,最大限度地扩展了屏幕的可视区域,能够带来更具沉浸感的视觉体验。显示器整体运用哑光黑涂层,边框与支架配色一致,外观显得简洁而干练。

其六边形底座不仅为显示器提供了稳固的支撑,而且因其紧凑的结构设计,特别适合桌面空间有限的使用环境。它在节省空间的同时,也增强了显示器的稳定性和整体美观度。

底座采用了蛛网状的镂空结构,六个边角均贴有柔软胶垫。从实用角度看,这种设计能有效增加底座与桌面的摩擦力,防止滑动,从而增强整体的稳定性。

AMZFAST 25X1的背部设计非常注重层次感与细节刻画。首先,位于中央的AMZFAST品牌LOGO采用了线条简洁锋利的字体,银白色镶嵌在深邃的黑色背景上,营造出一种颇具科技感的视觉冲击。

底部两侧点缀的红色装饰线条,为整体的黑色基调注入了活力,打破了单一色彩的沉闷感,也进一步凸显了其电竞产品的定位。

背部设计同样注重散热性能。横跨整个背板的细密网格状散热孔,能够有效促进空气流通,帮助显示器核心部件保持较低的工作温度,避免因长时间高负荷运行而产生过热问题,从而确保性能的持续稳定。

物理按键区域被安排在显示器背部的左侧,位置合理,便于盲操作。值得称赞的是,OSD菜单控制采用了一个五向摇杆按键,这在同价位产品中并不多见,操作起来远比传统的多个独立按键更为直观便捷。

在背部右侧,接口配置齐全:提供了1个3.5mm音频输出接口、2个HDMI 2.1接口、1个DP 1.4接口以及1个DC电源输入接口。对于一台定位于1080P分辨率的高刷新率电竞显示器而言,这样的接口组合已经足够满足绝大多数用户的外接需求。

AMZFAST 25X1 显示器在机身接缝的处理上显得相当精细,细节之处毫不敷衍。显示器各部件之间的边缘与缝隙对接平整,这不仅提升了产品外观的一体感和品质感,也有效确保了在实际使用中不会产生明显的漏光现象。在四百多元的价位段,能注意到并做好这些细节实属难得。

日常使用体验:别被低价误导,配置出乎意料
我对AMZFAST 25X1这款显示器的整体评价,恰如其品牌口号所传达的精神:
初露锋芒,即显不凡。
需要特别说明的是,由于相机拍摄屏幕存在摩尔纹、色彩还原差异等问题,以下图片仅供参考,实际肉眼观感会更加精细和真实。
核心配置:24.5英寸 + 1080P + 200Hz刷新率
在电竞显示器领域,24至25英寸常被认为是“黄金尺寸”。这一尺寸能够在保证足够画面细节和较高像素密度的同时,提供更快的面板响应速度和更高的屏占比,让玩家在游戏中既能迅速捕捉动态信息,又能获得清晰的画面细节。

对于大多数玩家而言,24.5英寸也是一个非常友好的尺寸。它能够在常规深度的桌面上提供舒适的观看距离和视野覆盖,用户无需大幅度移动视线或转动头部,有助于降低长时间使用带来的视觉疲劳。

24.5英寸的电竞显示器通常具备高刷新率的特性,而AMZFAST 25X1更是将这一参数推至200Hz。在同价位竞品中,如此高的原生刷新率表现堪称佼佼者。

超高的刷新率使得显示器在《CS:GO》、《英雄联盟》等对画面流畅度和操作响应速度有严苛要求的竞技类游戏中优势明显。它能提供更连贯的动态画面和更精准的操作反馈,从而提升游戏体验的稳定性和可控性。

或许有朋友会质疑,在当下这个时间点,24.5英寸配1080P分辨率是否已经过时?
事实并非如此。1080P(1920x1080)至今仍是绝大多数游戏和主流视频内容的标准分辨率。在相同分辨率下,屏幕尺寸越小,其像素密度(PPI)就越高。因此,24.5英寸的1080P屏幕,其画面细腻程度往往比更大尺寸的1080P屏幕更为出色,视觉上会感觉更清晰锐利。

1080P分辨率对显卡性能的要求相对友好,这确保了用户在使用像AMZFAST 25X1这样的200Hz高刷显示器时,显卡能够更轻松地输出高帧率,从而真正发挥出高刷新率的优势,获得极致流畅且稳定的画面表现。
Audiobookshelf 自托管有声书与播客服务器:完整安装与使用指南
Audiobookshelf 是一款开源的自我托管解决方案,专注于提供便捷的有声书和播客内容管理及流媒体播放服务,旨在帮助用户高效组织和访问个人音频资源。

主要功能特性
- 完全开源:包含安卓和 iOS 移动应用,目前处于测试阶段
- 广泛音频格式支持:能够实时流式传输各种常见音频文件
- 播客内容管理:支持搜索、添加播客资源并自动下载最新剧集
- 多用户账户系统:提供自定义权限设置,方便家庭或团队使用
- 播放进度同步:为每个用户记录收听进度,并实现跨设备无缝同步
- 自动更新检测:无需手动重新扫描即可识别媒体库中的新增内容
- 批量上传功能:支持通过拖放文件夹方式快速上传有声书和播客文件
- 数据备份机制:支持元数据备份和每日自动备份,确保数据安全
- PWA 支持:具备渐进式 Web 应用特性,提供类原生应用体验
- Chromecast 兼容:Web 应用和安卓应用均支持 Chromecast 投屏
- 元数据自动获取:可从多个在线来源自动抓取元数据和封面图片
- 章节编辑工具:支持章节编辑和查询功能,利用 Audnexus API 实现
- 音频文件合并:能够将多个音频文件合并为单个 m4b 格式文件
- 元数据嵌入功能:可将元数据和封面图直接嵌入到音频文件中
- 基础电子书支持:
兼容 Epub、pdf、cbr、cbz 等格式
支持将电子书发送到 Kindle 等设备 - 开放 RSS 订阅源:为播客和有声书内容提供 RSS 订阅链接
在线演示地址(用户名/密码:demo/demo):
部署步骤
Docker Compose 配置示例
services:
audiobookshelf:
image: ghcr.io/advplyr/audiobookshelf:latest
container_name: audiobookshelf
ports:
- 13378:80
volumes:
- ./audiobooks:/audiobooks
- ./podcasts:/podcasts
- ./metadata:/metadata
- ./config:/config
restart: unless-stopped
参数详细说明(更多选项建议查阅官方文档)
Audiobookshelf与喜马拉雅:有声书元数据刮削完整指南
Abs-Ximalaya 是一款专为 Audiobookshelf 设计的应用,能够从喜马拉雅平台刮削有声书的元数据信息,帮助用户完善媒体库管理。

安装步骤
通过 Docker Compose 快速部署应用,配置如下:
services:
ximalaya:
image: shanyanwcx/abs-ximalaya:latest
container_name: ximalaya
ports:
- 7814:7814
environment:
- TZ=Asia/Shanghai
restart: always
使用教程
在浏览器中输入 http://你的NAS IP地址:7814,即可访问应用的主界面。

启动 Audiobookshelf 有声书与播客服务器。

进入设置菜单,选择项目元数据管理,然后添加自定义元数据提供商。

点击添加按钮以配置新的提供商。

参考示例设置进行配置,特别注意 URL 末尾不能包含斜杠符号。

在 Audiobookshelf 中选择任意一本有声书,尝试重新匹配元数据。

在提供商列表中选择“喜马拉雅”,系统将显示多个可用的元数据选项。

这些元数据信息通常包含完整的书籍详情,如标题、作者和描述等。

如果上述步骤顺利,返回媒体库界面并选择编辑选项。

将默认元数据提供商修改为“喜马拉雅”,以确保后续自动应用。

总结与评价
这款元数据刮削应用必须与 Audiobookshelf 配合使用,它能更好地适配国内有声书资源,提供本地化的元数据支持,且无需持续稳定的网络连接即可正常运行。综合推荐度较高,尤其适合需要离线使用的场景;使用体验相对基础,主要作为 API 接口提供服务;部署过程极为简单,适合新手操作。
综合推荐:⭐⭐⭐⭐(无需外网,本地化适配优秀) 使用体验:⭐(功能简洁,仅提供 API 接口) 部署难易:⭐(操作简便,易于实施)
Blinko笔记部署全攻略:AI驱动灵感捕捉工具详细指南
Blinko是一款由人工智能技术驱动的卡片式笔记项目,专门为那些希望快速捕捉和组织瞬间灵感的用户而设计。它能够在灵感闪现时实现无缝记录,确保每一个创意想法都不会被遗漏,帮助用户高效管理思维碎片。

核心功能亮点
- 🤖 AI增强笔记检索功能:借助Blinko先进的RAG(检索增强生成)技术,用户可以使用自然语言快速搜索和访问笔记内容,轻松定位所需信息。系统兼容OpenAI、Azure OpenAI和Ollama等多种AI服务提供商。
- 🔒 数据所有权保障:用户隐私被置于首位,所有笔记和数据均安全存储于自托管环境中,确保用户对个人信息的完全掌控。
- 🚀 高效快速记录:支持即时捕捉想法并以纯文本格式存储,便于快速访问。同时完全兼容Markdown语法,方便用户进行排版和内容分享。
- 💡 轻量架构与多端支持:基于Tauri框架构建的Blinko采用简洁轻量设计,在保持高速运行和高效性能的同时,全面支持macOS、Windows、Android和Linux等多个平台。
- 🔓 开放协作生态:作为开源项目,Blinko鼓励社区参与贡献。所有代码在GitHub上公开透明,促进协作精神和持续改进。
多平台客户端支持
用户可以从以下链接获取适用于不同平台的客户端版本: https://github.com/blinkospace/blinko/releases
在线演示环境可供体验(使用用户名:blinko,密码:blinko登录): https://demo.blinko.space/
安装部署步骤
使用Docker Compose官方模板
services:
blinko-website:
image: blinkospace/blinko:latest
container_name: blinko-website
environment:
NODE_ENV: production
NEXTAUTH_URL: http://localhost:1111
NEXT_PUBLIC_BASE_URL: http://localhost:1111
NEXTAUTH_SECRET: my_ultra_secure_nextauth_secret
DATABASE_URL: postgresql://postgres:mysecretpassword@postgres:5432/postgres
volumes:
- ./blinko:/app/.blinko
depends_on:
postgres:
condition: service_healthy
restart: always
ports:
- 1111:1111
healthcheck:
test: ["CMD", "wget", "--spider", "http://blinko-website:1111/"]
interval: 30s
timeout: 10s
retries: 5
start_period: 30s
postgres:
image: postgres:14
container_name: blinko-postgres
restart: always
ports:
- 5432:5432
environment:
POSTGRES_DB: postgres
POSTGRES_USER: postgres
POSTGRES_PASSWORD: mysecretpassword
volumes:
- ./db:/var/lib/postgresql/data
healthcheck:
test:
["CMD", "pg_isready", "-U", "postgres", "-d", "postgres"]
interval: 5s
timeout: 10s
retries: 5
提示:官方模板包含较多参数,下面提供一个简化版本,移除了非必需的健康检查部分。由于数据库创建顺序问题,项目部署成功后可能需要重新启动blinko-website容器,以确保正确连接到PostgreSQL数据库。
ByteStash部署完整指南:自托管代码片段管理库搭建教程
ByteStash是一款自托管的Web应用程序,专门用于高效存储、组织和维护代码片段。它支持代码片段的创建、编辑和过滤操作,帮助用户在一个安全可靠的环境中追踪和管理代码资源。

详细安装步骤
通过Docker Compose进行部署,以下为配置示例:
services:
bytestash:
image: ghcr.io/jordan-dalby/bytestash:latest
container_name: bytestash
ports:
- 5000:5000
environment:
- BASE-PATH=
- JWT-SECRET=your-secret
- TOKEN-EXPIRY=24h
- ALLOW-NEW-ACCOUNTS=true
- DEBUG=true
- DISABLE-ACCOUNTS=false
- DISABLE-INTERNAL-ACCOUNTS=false
- OIDC-ENABLED=false
- OIDC-DISPLAY-NAME=
- OIDC-ISSUER-URL=
- OIDC-CLIENT-ID=
- OIDC-CLIENT-SECRET=
- OIDC-SCOPES=
volumes:
- ./snippets:/data/snippets
restart: always
环境变量参数说明(建议参考官方文档获取更多细节):
ALLOWED_HOSTS(环境变量):指定允许访问的主机列表。
BASE_PATH(环境变量):用于设置应用程序的基础路径,默认值为空字符串。
JWT_SECRET(环境变量):用于JWT加密的密钥,需替换为自定义生成的字符串。
TOKEN_EXPIRY(环境变量):设置JWT令牌的有效期限。
ALLOW_NEW_ACCOUNTS(环境变量):控制是否允许新用户注册账户。
DEBUG(环境变量):启用或禁用调试模式。
DISABLE_ACCOUNTS(环境变量):决定是否关闭账号系统,包括登录和注册功能。
DISABLE_INTERNAL_ACCOUNTS(环境变量):设置是否禁用内部账号系统,仅支持OIDC等外部认证方式。
OIDC_ENABLED(环境变量):启用或停用OIDC认证功能。
OIDC_DISPLAY_NAME(环境变量):在登录界面显示的OIDC认证名称。
OIDC_ISSUER_URL(环境变量):OIDC提供商的发行者URL地址。
OIDC_CLIENT_ID(环境变量):从OIDC提供商获取的客户端ID。
OIDC_CLIENT_SECRET(环境变量):从OIDC提供商获取的客户端密钥。
OIDC_SCOPES(环境变量):定义请求的OIDC权限范围。
功能使用指南
在浏览器中输入 http://NAS的IP:5000 即可访问ByteStash界面。

首先创建一个管理员账户以开始使用。

进入管理面板后,初始状态下没有任何内容,需逐步添加。

提示:应用程序界面默认未提供中文支持,但可通过浏览器内置翻译功能进行语言转换。
Chromium浏览器NAS部署全攻略:优化网络体验的实用教程
Chromium是一款开源浏览器项目,致力于为用户构建更安全、更快捷、更稳定的网络浏览环境。
安装步骤
使用Docker Compose进行部署,配置示例如下:
services:
chromium:
image: linuxserver/chromium:latest
container_name: chromium
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
- LC_ALL=zh_CN.UTF-8
- CHROME_CLI=https://www.baidu.com
volumes:
- ./config:/config
ports:
- 13001:3001
shm_size: "1gb"
restart: unless-stopped
配置参数详解(更多细节建议查阅官方文档):
- PUID(环境变量,可选):设置用户ID以控制权限
- PGID(环境变量,可选):设置用户组ID以管理组权限
- TZ(环境变量):定义系统时区
- LC_ALL(环境变量):指定语言编码格式
- CUSTOM_USER(环境变量,可选):配置访问用户名
- PASSWORD(环境变量,可选):设置访问密码
- CHROME_CLI(环境变量,可选):定义浏览器启动时默认加载的网址
- 3000(端口):HTTP通信端口
- 3001(端口):HTTPS安全连接端口
使用方法
在浏览器地址栏输入 https://NAS的IP:13001 即可访问Chromium界面,请注意必须使用HTTPS协议以确保连接安全。

为了展示视觉效果,此处更换了主题颜色以增强截图清晰度。

访问各类网页时,中文字符显示完整无误,兼容性良好。

点击左侧菜单栏,可以发现原有的VNC功能已替换为Selkies界面,操作更直观。

整体界面设计和功能模块相比旧版大幅优化,复制粘贴等操作更加便捷,无需依赖剪切板即可完成数据传输。

资源占用情况显示,内存使用量相对较高,但运行稳定性良好。

使用总结
Chromium作为众多主流浏览器的核心基础,在轻量化和性能优化方面表现突出。与Edge浏览器相比,Chromium通常占用更少内存资源,运行更为高效。选择哪种浏览器主要依据个人使用习惯和需求。部分用户可能好奇为何要在NAS或服务器环境中部署浏览器,这取决于具体应用场景。例如,我个人主要用于便捷访问内网设备和运行特定浏览器插件。
综合推荐指数:⭐⭐⭐⭐(实际效用因用户需求而异)
使用体验评分:⭐⭐⭐⭐(轻量稳定,操作流畅)
部署难度评估:⭐⭐⭐(中等难度,需基本配置知识)
CloudImgs私有图床:NAS一键部署与功能全解析
CloudImgs 是一款设计简洁的开源图床应用,专为NAS环境优化,支持一键快速部署,提供图片上传、管理、预览和分享等多样化服务。

核心功能详解
🚀 主要功能
- • 图片上传:支持拖放操作上传,兼容多种常见图片格式
- • 图片管理:提供浏览、预览、下载和删除图片的完整操作
- • 图片分享:一键快速复制图片链接,方便分享使用
- • 统计信息:实时监控存储使用情况,展示详细数据
🔐 安全防护
- • 访问控制:可设置访问密码,有效保护图片隐私安全
- • 登录界面:设计美观的登录页面,支持密码验证机制
- • 会话管理:自动保存登录状态,支持手动退出登录操作
- • API 保护:所有管理接口均需密码验证,增强安全性
- • 可选启用:通过环境变量灵活控制是否启用密码保护功能
📁 目录管理
- • 智能目录选择:支持选择现有目录或创建新目录路径
- • 目录信息展示:在图片管理页面清晰显示当前目录详情
- • 目录统计:按目录统计图片数量和存储空间占用情况
🔧 SVG 处理工具
- • SVG 转 PNG:输入 SVG 代码,实时转换为 PNG 格式图片
- • 在线预览:转换完成后立即预览 PNG 效果图
- • 一键上传:转换后直接上传到图床存储空间
- • 批量下载:支持下载转换后的 PNG 图片文件
- • 示例代码:提供常用 SVG 示例代码,方便参考使用
- • 自定义文件名:允许自定义上传和下载的文件名
- • 自动生成文件名:基于时间戳自动生成唯一文件名
🗜️ 图像压缩功能
- • Canvas 压缩:利用 Canvas API 实现高质量图片压缩处理
- • 尺寸调整:支持设置压缩后的图片宽度和高度参数
- • 宽高比锁定:自动保持原始图片的宽高比例不变
- • 质量调节:1-100% 范围内可调节压缩质量等级
- • 实时预览:压缩后立即查看效果预览图
- • 压缩信息:显示原始大小、压缩后大小和压缩率数据
- • 一键上传:压缩完成后直接上传到图床系统
- • 本地下载:支持下载压缩后的图片文件到本地
- • 智能默认:根据原始图片自动计算合适的压缩尺寸
🌓 主题切换选项