网站开发小白设想了一个存储在 s3 上的静态照片/视频网站,仅供家人访问,请问是否可行?

102 天前
 levelworm

我从来没做过网站开发,最近在看 s3 的文档的时候,发现可以直接在上头 host 静态网站,同时可以用 policy 限制访问白名单,于是有了一个构建照片/视频网站的偷懒的想法。

s3 的结构大致是这样的:

.../my-static-website/webpage/ -> 这里存储的是网页的 html 和脚本(我也没做过网站开发,不知道需要多少脚本)

.../my-static-website/photo/ -> 这里存储的是所有照片和视频,底下还有多余的 yyyy-mm-dd 前缀,比如说.../my-static-website/photo/2025-06-01/photo1.jpg

用白名单策略来限制家人的访问,需要他们的公开 ip 。我感觉这里比较粗糙,因为他们的 ip 很可能经常变化,但是反正就那几个人,直接让他们访问一个给出访问者公网 ip 的网站,把结果告诉我,我手动修改策略就行了。具体如何自动化还没想好,我觉得如果做成手机 apk ,让 app 检测手机的公网 ip ,然后自动更新策略,也应该可行。

主页的内容大致是:

就是一张最简单的网页,上面罗列了每个 yyyy-mm-dd 前缀,点进去可以访问一个直接动态生成的、以 yyyy-mm-dd.html 为名字的网页,上面罗列了每个.../my-static-website/photo/yyyy-mm-dd/ 目录下面的图片和视频的缩略图(每一天应该不会超过 10 个物体),再点就可以直接在浏览器中打开图片和视频。

yyyy-mm-dd 的列表应该可以从 s3 里的前缀中获取,至于如何自动生成网页,我从来没开发过网页,但是想来应该不会太难,可能要写点 javascript 。

主页上还有一个“上传”按钮,访问者可以点击然后上传文件,直接自动存储到以当天为前缀的 s3 文件里,比如说 2025-06-01 上传,那么直接就进到.../my-static-website/photo/2025-06-01/ 下面。这个估计要修改策略,目前还不知道行不行,得看看文档。“上传”本身肯定也是需要一个脚本的,到时候查查看怎么写。

整个“产品”就是这样了。使用者不会超过 10 人,他们对界面也无所谓,最重要的是能看到儿子照片和视频。大家觉得可行性如何?安全性的话,如果白名单策略有效的话,还会有什么漏洞吗?

多谢!

4479 次点击
所在节点    程序员
60 条回复
emma3
101 天前
如果大家都是 ios 设备的话,用共享相册功能即可,免费/跨平台不用担心权限问题不用维护。
总比你肝这种无谓的代码还未必能给家人带来更好的体验。时间不是成本?剩下的时间用来陪一下家人吧。
F281M6Dh8DXpD1g2
101 天前
icloud 或者类似的云服务,不然一个不小心被人薅羊毛了就是裤衩亏光
akira
101 天前
这么搞不是不行,但是体验不是很好。 我反正是直接搞了个白裙,懒得折腾
lyz1990
101 天前
@levelworm 为啥不像我一样买一个 1 代的 pixel 来无限原始尺寸备份 google photos 呢?
manateelazycat
101 天前
老板,懒猫微服了解一下,自带穿透 Tailscale+Cloudflare,自带 MFA 认证, 比 VPS 更安全

https://x.com/manateelazycat/status/1928628562887889072

阿里云顶尖黑客评价 http://post.smzdm.com/p/aprqvvl9/

懒猫微服 = 传统 NAS + Cloudflare + Tailscale + VPN 虚拟专网 + Authy + Nginx + AI 大模型 + 微信小程序 + AppStore + KVM/Docker/PVE + iCloud/TimeMachine + Chrome 电视

兼顾 iCloud 备份和 AI 相册, 相册体验比 iCloud 好, 内网穿透比 NAS 牛逼

更多产品详情请看 https://lazycat.cloud
goodryb
101 天前
不如搞台最便宜的成品 nas ,或者网络有公网搞个飞牛 os 也够用了,手机装个 app 分享多方便
clocean
101 天前
innei.in 大佬新的项目,昨天逛他博客刚好看到了,效果很好,你可以看看喜欢不

预览: https://gallery.innei.in

仓库: https://github.com/Iris-Photo-Gallery/Iris
qqqyh
101 天前
@duzhuo #3 Cloudflare 有自己的静态网页托管服务 Pages
DianQK
101 天前
你是否在寻找 https://help.ente.io/self-hosting/ ,private s3 bucket 缓解被刷流量,e2ee 。
之前用的阿里云 s3 ,但是要打几个 patch ,我换成 cloudflare r2 可以直接用
Junzh
100 天前
如果这里的 S3 是指 AWS S3 ,不建议在 S3 上实现业务逻辑控制,比如权限控制。用 IP 来做 policy 可行,但维护起来并不方便也不安全。你可以找一些开源的 NAS 软件,比如有 v 友提到的 nextcloud , 就支持 S3 作为存储引擎,由 nextcloud 来负责业务层,包括权限。
一般静态 S3 网站需要配合 CloudFront 来做分发,否则 S3 的 request 和 transfer out 的费用会比较高。
charles0
100 天前
对象存储恐怕成本不低,还是用云盘或 NAS 吧
davin
100 天前
OP 可以考虑使用老牌的照片在线分享网站 flickr ,免费版支持 1000 个项目。创建群组,把家人拉进来就行了。根据需求可以考虑开通 Pro 版服务,不限制数量和存储空间。也不用去费心维护一个自建的网站了。

PS: flickr 几经易主,目前底层也是用的 AWS 服务,它比 iCloud 和 Google Photos 诞生早个好几年。
levelworm
100 天前
@coldle #25
多谢,这些我都不懂,还得仔细研究一下。。。很多朋友都说了费用的问题,这个的确有点吓人。
levelworm
100 天前
@margoxlive #26
多谢,我目前在北美,家人在中国,所以之前没考虑到中国到北美这里可能遇到的问题。如果我访问国内不太慢的话,用国内的云也成。
levelworm
100 天前
@gorvey #27
这个的确比较另类,我没想过,哈哈。
levelworm
100 天前
@Jianrry #28
这个倒是没想到过,1TB 的内容怎么说也够用了。不过我目前没有家庭版,我去看看。
009694
100 天前
大多数程序员最需要改的一点是什么都想手搓一个。 手上有了锤子,看什么都是钉子。
levelworm
100 天前
@009694 #57
其实对我来说,手搓才是真正目的,我想转行所以搞点项目。。。不过看楼上的介绍,似乎的确不用手搓。至少不用从头搓。
Jackm
98 天前
腾讯主机+微信小程序

有开源的源码,还可以加微信 id 的白名单,别的微信去了只展示广告,白名单去了看照片。

你的亲戚在华东,就用华东区域的主机,在华北用华北,腾讯在国内的服务器覆盖地域还是蛮多的。

阿里云什么的都可以,区别在于计费问题(用户超多需要考虑)
Jianrry
98 天前
@levelworm

我上一条回复作废,不再推荐使用 alist 。

alist 项目已经被国内公司收购,将来可能会进行投毒。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1137115

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX