轻量级 webd 网盘更新了

2019-12-24 21:51:13 +08:00
 takemeh

面试获得键盘的翘楚 /t/625886
女同事耳机的守护者 /t/623499
在这寒冷的圣诞夜里隆重宣布:

webd 网盘更新啦。

webd 网盘介绍:
轻量级(self-hosted)自建网盘软件
程序仅 60 ~ 90 KB,含 server 端,无其它依赖,速度快资源占用低
纯便携软件,解压即用
支持 Windows、Linux、OpenWrt、Armbian
界面简洁易用,无繁琐设置,支持移动设备

下载地址
https://webd.cf
http://1e18.cnt2.cf:5152/#/latest/
http://e8c2.cnt2.cf:5156/#/latest/
后两个还是演示地址, 用户名和密码均为 abc
另一个权限更少的账号用户名和密码是 abcd

这次更新的内容有:
增加配置文件功能
较好的支持 IPv6
个人认为略好看一点的界面
修复统计链接失效后转圈的问题, 目前可在完全无外网的情况下使用了
部分代码的优化重构
支持两个不同权限的用户(实现真正多用户前折中的实用方案)

谢谢大家一直以来的支持和反馈,大家节日快乐!
17378 次点击
所在节点    分享创造
111 条回复
Immortal
2019-12-30 16:25:33 +08:00
@takemeh
那要不成为配置项之一?或者加入到前端选择显示不显示
因为今天在备份系统配置,我主要在 linux 下工作,发现比较麻烦
takemeh
2019-12-30 16:26:57 +08:00
@Immortal 好的,下一版尽量把这个弄成可配置的。
takemeh
2019-12-31 19:24:28 +08:00
@Immortal #81 你给我发邮件, 我给你发个修正了这个问题的版本。
codehz
2019-12-31 21:01:33 +08:00
@takemeh #47 sudo chroot 的话,运行用户不就是 root 了么,这个问题很大,(意味着一旦攻击成功,虽然拿不到 shell,但是足够执行 mount 系统调用逃逸沙箱了。。。
另一个方式就是使用 user/mount/pid/ipc/cgroup namespace,这样做的沙箱不需要特权,也可以进行 chroot 的操作(然后如果没有其他方式获得父级目录的文件描述符的话就逃逸不出来了)(但是需要修改代码,可以参考我的 nsroot 项目( github.com/codehz/nsroot )非常简单粗暴实现基础容器隔离原语)*还能配合 seccomp 限制 syscall,再 prctl 丢掉获取新特权的能力
takemeh
2019-12-31 22:33:37 +08:00
@codehz #84
试了一下确实有风险。多谢普及知识。

需要再加两条命令设置 sticky bit, 这样权限就自动降了
sudo chown nobody: webd
sudo chmod +s webd

还试了下把 su 复制进去 chroot 目录, 再加一个假的 /etc/passwd , 如下运行
sudo chroot /tmp/webdroot su nobody -c /webd
但是总提示 Cannot determine your user name.
takemeh
2019-12-31 22:41:28 +08:00
@codehz #84 我自己的程序都是这样启动的
1. 用 root 运行
2. 绑定监听端口
3. 设置 fd 限制
4. 获取目标用户 gid uid
5. chroot 到目标目录
6. 切换到指定用户
codehz
2019-12-31 22:59:04 +08:00
@takemeh #85 username 是直接读 /etc/passwd 来的,和用户权限没有任何关系*( linux 只认数字 uid:gid,名字只是为了好记)
你那个启动方法还是折腾了点,最好的方法就是自始自终都不涉及 root 权限,避免某些人为因素导致的错误,利用 linux 的 user namespace 实现免 root chroot (内部看起来是 UID 0,实际权限只能在命名空间里用,mount 只能做 bind mount,不能 mount devtmpfs (也就是 /dev )以及任何挂载块设备(即没法直接挂载裸磁盘),chroot 之后就再也出不去了
takemeh
2019-12-31 23:10:21 +08:00
@codehz #87
你说的这些 cgroup namespace 都是现代 linux 上的高级玩法。
我那个方法也不怎么折腾,一个公用的函数而已,好多年没管它了。
Nott
2020-01-03 18:25:43 +08:00
如果能密码访问就好了
takemeh
2020-01-03 20:53:32 +08:00
@Nott 当然可以啦,仔细看说明文件
hutng
2020-01-04 16:45:58 +08:00
很不错的程序,支持一下,。。。。。。MP4 播放也页面有广告。。。。。
有空还是自己 nginx 搭建一个哇
takemeh
2020-01-04 18:15:28 +08:00
@hutng #91
是的,二维码页和音视频图片的页面有广告。
按着 Ctrl 点开就没有广告了。
Lonfrank
2020-01-06 09:38:04 +08:00
安全性怎么样
takemeh
2020-01-06 09:53:01 +08:00
@Lonfrank #93 权限控制检查都很完善了,溢出攻击的情况也都处理。但是没有实现 https,需要的话可以用别的软件套一层。
hutng
2020-01-06 18:03:41 +08:00
@takemeh 老哥,搞个捐赠去广告?
takemeh
2020-01-06 19:14:08 +08:00
@hutng #95 对待大家要一视同仁
NickyPP
2020-01-06 19:29:06 +08:00
观望,最近在物色类似软件
hutng
2020-01-06 19:39:29 +08:00
@NickyPP 有合适的类似软件么?
这个带广告比较麻烦,自己用倒是无所谓,你给别人分享个东西,谁知道它弹什么广告,会比较尴尬
takemeh
2020-01-06 20:29:02 +08:00
@hutng #98 Google 的广告不会太离谱的, 当然它也是根据个人浏览器习惯展示的。
ragnaroks
2020-01-09 14:23:13 +08:00
尝试以子进程方式启动会立刻退出,退出代码"1(功能不正确)"

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

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

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

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

© 2021 V2EX