前言
我先坦白:我是个典型的"设备爱好者",买的时候想的特别好,买回来用的次数一只手数得过来。
NAS 就是最典型的例子——当年研究了半天,买了台绿联 DX4600,花了两千多。想着以后搭这个建那个,结果呢?存了几年照片,平时连它的后台都懒得进。说实话,每次看到它在电视柜角落积灰,心里都有点堵,总觉得钱白花了。
转机出现在上个月。公司要做季度用户反馈调研,我照例去某问卷平台准备新建——结果弹出来一个收费提示,说我的数据量超过免费额度了,想导出?开会员吧。我当时就有点无语,不就是几百条用户反馈吗?
回家路上我就开始琢磨:有没有什么办法,能让自己搭一个问卷系统,数据存在自己硬盘里,想怎么用就怎么用,还不用看别人脸色。
还真让我找到了。
有个读者在群里推荐了*TDuck(填鸭)*,说这是他们公司现在用的,问卷、投票、报名表都能做,关键是开源免费,能直接部署在自己的 NAS 上。我当时第一反应是:"等等,我又不是程序员,我也能装?"看了下文档,发现居然有****一键部署脚本****,整个过程不到 10 分钟。
说实话,装完之后我有种打开新世界大门的感觉。原来 NAS 不只能存照片,原来这些开源工具真的可以 5 分钟跑起来,原来数据在自己手里是这种感觉。
用了一个多月,公司那档调研我全程在 TDuck 上跑的,数据导出格式干净,分析图表直接生成,连给老板汇报的时候都体面不少。同事还问我这东西哪来的,我一说 NAS 上搭的,他们都觉得挺不可思议的。
1 什么是 Tduck?
TDuck(填鸭)是一款基于SpringBoot + Vue技术栈开发的开源表单问卷系统。你可以把它想象成是一个完全属于你自己的“问卷星”或“金数据”。
它最大的特点就是所见即所得。通过拖拽的方式,你就能像搭积木一样快速创建出各种专业的问卷、考试试卷、或者信息收集表单。
它能为你做什么?
- 支持27+自定义组件,拖拽式快速生成表单问卷。
- 支持单行文本、多行文本、日期、下拉、单选、文件上传、排序、级联、轮播、一键定位、手机号验证、矩阵量表、子表单等组件。
- 支持通过文本批量导入表单组件,支持题目显隐逻辑设置。
- 表单数据,支持数据新增、编辑、导出、打印、预览和打包下载附件。
- 表单外观支持头图、背景图、背景颜色、按钮文字等配置。
- 报表支持对问题实时统计分析并以图形(柱状图、折线图、饼图)的形式展示输出和导出png图片。
- 提交后自定义文案、提交后自动跳转网址。
- 每个微信、账号、ip、设备、答题次数限制、支持设置允许填写时间、记录微信个人信息。
- 支持发邮件、微信公众号模板推送提醒。
- 支持数据同步Api(全量数据)、数据WebHook推送(可订阅事件:新增、修改、删除)。
- 支持保存至模板中心,支持从模板中心选用模板创建表单问卷。
- 用户管理,新增用户、修改用户、删除用户。
- 文件存储自定义配置:支持阿里云、七牛云、又拍云、本地、通用S3协议上传。
- 支持邮件、短信(阿里云、腾讯云、中昱维信)、微信公众号参数配置。
- 支持回收中心,快速恢复问卷。
- 支持配置TReport可视化大屏,高效展示数据
2 通过脚本一键部署Tduck
本部分以绿联 NAS 作为演示,其他 NAS 系统(如群晖、极空间)的操作步骤基本一致,只要能 SSH 连接并能运行 Docker 命令即可。
2.1 连接SSH终端
首先,需要先给绿联Nas开启SSH远程登录功能,点击首页的控制面板:
然后点击终端机图标,点击进入:
点击勾选SSH功能,然后点击应用(注意:SSH密码为登录的密码,建议密码一定要设置强密码,特别是公网环境下!!):
接着,电脑上摁Win + X键,选择终端(管理员),打开PowerShell终端:
在终端输入如下命令,连接你的绿联Nas终端:
# ssh 你的绿联Nas用户名@你的绿联Nas访问IP地址sshsusu@192.168.50.99连接上绿联Nas的终端后,在终端中输入如下命令,切换至root用户:
sudo-i2.2 一键部署Tduck
连接到你的 NAS后,复制如下我编写的一键部署脚本,到终端粘贴并且回车:
curl-fsSLhttps://gitee.com/jun-wan/script/raw/master/tduck_deploy/deploy-tduck.sh-o/tmp/deploy-tduck.sh&&chmod+x /tmp/deploy-tduck.sh&&/tmp/deploy-tduck.sh可以看到交互提示,直接回车使用毫秒镜像源即可:
可以看到,回车后,脚本自动执行了相关的环境检查,相关文件目录等创建,并进行部署,等待部署完成:
可以看到,部署完成后,输出了访问地址和默认账号信息,这样就部署好了,是不是特别简单!
2.3 验证访问
当脚本提示“部署成功”后,打开浏览器访问:
- 访问地址:
http://NAS_IP:8999(将NAS_IP换成你 NAS 的局域网 IP) - 默认账号:
admin@tduckcloud.com - 默认密码:
123456
🔔 提示:成功登录后,请务必第一时间修改默认密码。
可以看到,成功的访问到了Tduck的登录界面,接着使用默认的账号密码进行登录:
登录成功!可以看到 TDuck 的后台管理界面。界面设计非常现代化,左侧是导航栏,右侧是内容区。
3 创建问卷并测试
3.1 创建及设置问卷
以创建一份《2025 生活结算单:嘿,这一年辛苦啦》问卷为例,首先,点击我的项目页的创建表单按钮,填写你要创建的问卷信息:
点击确认后,来到表单设计页面,可以看到左侧有许多控件和组件:
将主键拖拽至右侧区域,即可,比如:
设置完成后类似如下:
点击右上角的按钮,还可以预览效果:
返回,来到外观页面,还可以设置表单的相关样式:
来到设置页面,支持多种设置,比如提交完成后,跳转一个网页(比如:抽奖),还有回收设置支持相关答题限制等:
3.2 发布问卷
设置好以后,来到发布页面,点击页面上的发布按钮即可发布:
发布后会生成对应链接,复制链接即可发送给你的好朋友进行答题了(当然,当前只能在局域网中访问):
如果设置了相关限制,比如只能在微信中打开,就会和如下一样:
浏览器是打不开的,会出现相关提示,在微信中点击链接打开即可显示!
3.3 数据查看
接着,来到数据页面,即可查看提交问卷用户的内容:
最后一个统计页面,则是可以查看该问卷的整体记录趋势等信息:
4 使用cpolar穿透Tduck实现公网填写
到这里,你的 TDuck 问卷系统已经在 NAS 上跑起来了,创建问卷、收集数据都完全没问题。但转折点就在这里——现在你的问卷只能在家里的局域网里访问。换句话说,如果你想把问卷链接发给公司同事、学校同学,或者发到微信群让大家填写,他们根本打不开,因为他们不在你家的网络环境里。
好消息是——使用 cpolar 内网穿透工具,就能轻松把局域网里的 TDuck 映射到公网,生成一个可以随时随地访问的链接。无论对方在咖啡厅、办公室还是地铁上,只要有网络就能填写你的问卷。而且 cpolar 提供免费方案,完全可以满足个人使用需求。
接下来,我们就来配置 cpolar,让你的 NAS 问卷系统真正实现全球可访问!
4.1 什么是cpolar?
- cpolar 是一款内网穿透工具,可以将你在局域网内运行的服务(如本地 Web 服务器、SSH、远程桌面等)通过一条安全加密的中间隧道映射至公网,让外部设备无需配置路由器即可访问。
- 广泛支持Windows、macOS、Linux、树莓派、群晖 NAS等平台,并提供一键安装脚本方便部署。
4.2 安装cpolar
回到PowerShell终端,如果还在容器内部,执行exit命令即可退出:
退出Docker容器内部后,执行如下命令,一键安装cpolar:
sudocurlhttps://get.cpolar.sh|sh接着输入如下命令,确认cpolar是否启动:
sudosystemctl status cpolar可以看到显示为active(running),表示为正常在线状态。
接着,我们在浏览器中,输入你的绿联NAS的IP地址+9200端口,进行访问cpolar的web ui控制台:
http://192.168.50.99:9200/可以发现,成功的访问到cpolar的web ui页面啦!如果没有注册cpolar的小伙伴也可以点击底部的按钮跳转注册!
4.3 穿透Tduck实现公网访问
注册好账号以后,回到该页面进行登录即可,登录成功后,进入侧边的【隧道管理>隧道列表】,可以看到有2条隧道:
选择website这条隧道,点击编辑进行修改(也可以创建新的隧道),设置一个方便辨识的隧道名称,然后协议选择http,本地地址填写博客的访问端口8999,地地区这里选择的China Top,最后点击更新:
创建或者更新完成后,接着点击【状态>在线隧道里列表】,可以看到有2条名称为tduck的隧道,一条为http的协议,另一条为https的协议:
复制公网地址,这里以https为例,访问测试一下:
访问成功,让我们登录一下,查看分享的链接是否发生变化:
可以看到,来到发布页查看,原来的局域网IP已经变更为穿透的域名地址了!让我们访问看看:
访问成功!这样你就可以把该链接发送给任何人了——无论是微信群、QQ群、朋友圈,还是钉钉、企业微信,对方只要点击链接就能直接填写问卷,完全不受网络环境限制。
5 固定二级子域名
刚才我们用的是 cpolar 的免费随机域名方案,虽然能用,但有个小麻烦——域名每 24 小时就会自动更换一次。也就是说,如果你今天把问卷链接发到微信群,明天这个链接可能就失效了,你得重新生成新链接再发一遍。对于临时性的活动问卷还行,但如果是长期收集反馈、客户调研、或者员工满意度调查,这种每天换链接的方式就太折腾了。
不过转折点就在这里——cpolar 还提供了固定二级子域名功能!如果你希望获得一个永久不变的专属域名(比如my-survey.cpolar.cn),而不是每天都要更换链接,那么可以选择使用 cpolar 的进阶方案。这样一来,你的问卷链接就能一次设置、永久使用,再也不用担心链接失效、重复发送的问题了。
接下来,我们就来看看如何配置固定二级子域名,让你的 TDuck 问卷系统拥有一个专业且稳定的访问地址!
首先,进入官网的预留页面:
https://dashboard.cpolar.com/reserved然后,选择预留菜单,即可看到保留二级子域名项,填写其中的地区、名称、描述(可不填)项,然后点击保留按钮,操作步骤图如下:
列表中显示了一条已保留的二级子域名记录:
- 地区:显示为China Top。
- 二级域名:显示为tduck。
注:二级域名是唯一的,每个账号都不相同,请以自己设置的二级域名保留的为主
接着,进入侧边菜单栏的隧道管理下的隧道列表,可以看到名为tduck的隧道:
点击编辑按钮进入编辑页面,修改域名类型为二级子域名,然后填写前面配置好的子域名,点击更新按钮:
接着来到状态菜单下的在线隧道列表可以看到隧道名称为tduck的公网地址已经变更为二级子域名+固定域名主体及后缀的形式了:
这里以https访问测试一下:
访问成功!让我们登录查看问卷的分享链接是否更新成为固定的二级子域名链接:
可以看到,成功的将分享链接更新为固定的二级子域名地址了!让我们同样访问测试一下:
访问成功!这个链接从此就是你专属的永久地址,无论过多久都不会失效。你可以把它印在宣传册上、写进邮件签名、或者固定在企业内部文档里,再也不用担心链接过期的问题。
而且,相比那些随机域名(比如a7b8c9d.cpolar.cn),固定的二级子域名看起来更加专业和可信。当别人看到tduck.cpolar.cn这样简洁明了的域名时,会更愿意点击和填写。
💡 小贴士:建议将这个固定域名保存到备忘录或者密码管理器中,方便随时调用。如果你有多个长期运行的问卷项目,cpolar 还支持配置多个不同的固定子域名,每个项目都能拥有独立的专属地址!
总结
其实写这篇没别的意思,就是觉得好东西不该只有我知道。
一个吃灰三年的设备,加一个免费的开源工具,加一个 10 分钟的一键脚本,就能换来一个永久属于自己的问卷平台。数据不会被人拿走,功能比大多数收费平台还全,用下来最直接的感受就是:*原来让 NAS 发挥价值这件事,没有想的那么难*。
如果你也有一台在角落积灰的 NAS,或者受够了第三方问卷平台的广告和限制,TDuck 值得你花 10 分钟试试。当然,NAS 装应用的门槛比纯小白高一点,但按着教程走真的不难——我这种"设备买回来吃灰型选手"都成功跑起来了,你们肯定也没问题。