V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
webdisk
V2EX  ›  分享创造

webd 网盘, 自建网盘软件更新, 添加托盘, 便捷脚本, 多种 OpenWrt 支持

  •  3
     
  •   webdisk · 2018-10-15 15:16:33 +08:00 · 26225 次点击
    这是一个创建于 2236 天前的主题,其中的信息可能已经有所发展或是发生改变。
    webd 网盘

    下载地址
    http://mydisk.ml:5156 (同时为只读演示地址)
    http://webdisk.ys168.com (备用)

    介绍:
    这是一个极轻量级的用于自己搭建简易网盘的软件, 解压后不同平台的只有 60 KB 至 90 KB, 包含前后端和服务器
    可以完成文件上传下载, 手机在线看电影的功能, 亦可拍摄视频照片后自动上传分享与其它用户.
    支持 Windows、Linux、甚至 OpenWrt 路由器平台
    还有高性能高并发的特性(采用 IOCP 和 epoll),可承担大量用户同时使用

    使用说明

    Windows 平台安装方法, 需 Win7 或更高版本, 本软件为绿色版,解压后即可使用。
    1. 下载文件名包含 win32 的压缩包, 例如 http://mydisk.ml:5156/webd-20181015-win32.tar.gz

    2. 用 7zip、winrar 等工具把下载的文件解压到适当的目录

    3. 进入解压到的目录:
    1) webd.exe 为主程序, 可直接双击运行,运行后在状态栏有图标。
    2) ShortCutCreate.cmd 用于创建 webd.exe 的桌面快捷方式
    3) FirewallRuleAdd.cmd 需要右键管理员运行,用于设置防火墙,可以让手机等其它设备使用本软件
    4) AutoStartAdd.cmd 用于添加开机自动启动
    5) 其余的 xxxRremove.cmd 脚本用于撤销对应脚本的操作

    软件的 Web 界面支持 Chrome FireFox 和大部分手机上的浏览器.

    使用方法:
    1. 启动后双击状态栏图标, 默认浏览器会打开本软件的界面

    2. 用手机打开浏览器地址栏的地址, 可以在手机上使用

    3. web 界面上的 New 用于新建文件夹

    4. 按 Upload 会弹出选择文件对话框
    可选中多个文件上传, 上传过程中有进度显示, 可以上传很大的文件.
    部分手机可以长按文件名进入多选模式, 但有的手机系统不支持
    手机上还可以选择拍照或录像后自动上传, 之后其它设备可以在线观看.

    5. 删除文件, 单击列表中文件名之外的位置进行选中, 选中的文件名有下划线, 选中一个或多个后可以删除
    (文件不会真正从系统删除,而是位于 web 目录下的 .Trash 文件夹内)

    6. 浏览器支持的视频比如 mp4、flv 等, 可以直接在手机或桌面浏览器观看

    7. 浏览器不支持的视频, 可以在手机上安装 mxplayer 播放器, 系统会自动调用之.

    高级使用方法:
    1. 虚拟目录
    软件本身不支持虚拟目录, 但可以用操作系统的目录链接功能变相实现.
    比如软件位于 C:\webd , web 目录默认就是 C:\webd\web , 那么如果要通过 web 界面访问 F:\dir2 可如下操作:
    右键编辑 MakeLink.cmd 进行编辑脚本
    在文件中的 pause 前面一行添加以下内容并保存关闭.
    mklink /D C:\webd\web\dir2 F:\dir2
    然后右键管理员运行这个文件, 即可创建目录链接

    2. 隐藏文件列表, 当一个目录下的文件需要隐藏的时候, 可以在这个目录下新建一个 0 字节的 index.html 文件即可.
    之后可以通过类似 http://xxx:port/#/HideDir/ 方式进行访问

    3. 在文件列表中隐藏某个文件或文件夹,只要命令行下把某个文件重名名成点 . 开头的即可隐藏
    比如 cmd 命令窗口下运行:
    cd /d f:\dir2
    move xxxx .xxxx

    4. 更改默认的 9212 端口, 在 webd 快捷方式那里, 右键属性,
    在目标那栏添最后 加个空格 然后加 -l 9900 即可更改端口, 注意原来的内容不要去掉
    (注意有桌面和 开始 -> 所有程序 -> 启动 两个地方的快捷方式)

    5. 更改默认的 web 目录, 同 4 中的方法, 添加 -w E:\ 即可使用整个 E 盘作为 web 目录

    6. 隐藏状态栏图标, 同 4 中的方法, 添加 -h


    Linux 和 OpenWrt 的安装方法:

    文件名包含 linux-x86_64 的压缩包适用于平常的 Linux 发行版, 需要内核 3.15 以及以上, glibc 2.17 以及以上.
    文件名包含其它内容的为 OpenWrt 版本, 其中带 cc 的适用于 Openwrt Chaos Calmer 15.05.1 , 不带 cc 的适用于最新版.

    目前支持的几个大种类有:
    ar71xx ramips/mt7620 ramips/mt7621 bcm53xx x86_64

    每个大种类支持很多不同的硬件.
    可以在这里 https://downloads.lede-project.org/snapshots/targets/ 去查询对应的硬件列表
    即使不在列表中, 如果 CPU 一样且所用固件是从 OpenWrt 修改而来的, 也一样能支持.
    作者没有那么多的硬件来组合各处不同的固件一一测试, 请自行尝试运行, 然后反馈到论坛发邮件 [email protected]

    安装过程:
    以普通 linux 发行版为例,
    通过 ssh、串口、或者本地控制台进入命令界面
    cd /tmp
    wget http://mydisk.ml:5156/webd-20181013-linux-x86_64.tar.gz
    tar -xvf webd-20181013-linux-x86_64.tar.gz
    /tmp/webd/webd -w /tmp/webd/web # 这里会停住并显示一些日志

    用浏览器打开路由器或 linux 机器对应的 IP 加端口, 比如 http://192.168.11.1:9212 就能看到 web 界面了.

    如果要后台运行并且每次开机都能自动启动, 回到刚才的命令界面按 Ctrl+C 关闭刚才的进程
    mkdir -pv /srv/webd
    mv -fv /tmp/webd/webd /usr/bin
    mv -fv /tmp/webd/web /srv/webd
    # rm -r /tmp/webd /tmp/webd-20181013-linux-x86_64.tar.gz # 可选, 删除不用的文件

    然后编辑 /etc/rc.local 添加以下内容, 并运行一次以下内容以便立即生效
    /usr/bin/webd -l 9212 -w /srv/webd/web &>/dev/null &
    端口和路径都可以直接更改的.
    (当然也可以写 init 启动脚本或 systemd 启动文件)

    如果要访问的文件不在 /srv/webd/web 下面怎么办呢, 可以创建符号连接, 比如:
    ln -sv /mnt/sda1 /srv/webd/web

    by [email protected] 2018 10.15

    ![avatar]( https://imgurl.org/temp/1810/479a95ce0a8d6fb7.png)
    ![avatar]( https://imgurl.org/temp/1810/f5ef062247dd9d3c.png)
    第 1 条附言  ·  2018-10-16 08:39:40 +08:00
    第 2 条附言  ·  2019-06-19 07:47:29 +08:00
    第 3 条附言  ·  2019-06-19 07:49:19 +08:00
    各种版本这里下载 http://mydisk.ml:5156/#/latest/
    第 4 条附言  ·  2019-08-14 23:00:18 +08:00
    更新权限了
    ChangeLog 20190814:
    *增加权限控制.
    使用 -g 指定访客权限:
    -g 0 表示访客没有任何权限
    -g rl 表示访客有读取(下载)文件和列出文件的权限
    -g r 表示访客只有读取(下载)文件的权限

    使用 -u 指定登录用户的权限和用户名及密码:
    -u rulm:user:password 表示 user 用户的密码为 password 且具备全部的四种权限

    r 读取下载
    u 上传文件
    l 文件列表
    m 移动或删除文件, 新建文件夹

    *支持绑定多个端口或地址.
    使用多个 -l 参数即可监听多个端口或地址, 例如: -l 1234 -l 2345 -l 127.0.0.1:3456

    下载地址
    http://cnt2.cf:5156/#/latest/
    http://webdisk.ys168.com/
    第 5 条附言  ·  2019-12-26 12:15:21 +08:00
    132 条回复    2019-12-26 10:56:45 +08:00
    1  2  
    takemeh
        101
    takemeh  
       2019-08-23 03:12:43 +08:00
    我是 webdisk,借用账号发帖
    @rhww #92 配置文件的功能做好了, 测试一下就发出来


    @285441530 #94 现在没法单独给某个文件夹加密
    现在可以变通一下, 通过参数 -g 0 去掉访客用户的所有权限, 然后用 -u rl:user:password 让 user 只能登录后下载。
    后面会尝试增加多不同权限的用户, 来变相实现你说的功能。


    @5200 #96 用多个域名的统计防止某个域名被屏蔽。https://mydisk.ml/ 这个是预加载转换二维码的页面。
    一直转圈圈时依然能正常使用, 就是看起来很别扭。当然无法加载的这个页面已经修复了。


    @285441530 #98 播放视频和图片显示页面是会有广告的, 旧版理论上是所有页面都有广告,但是某些域名和 IP 不加载广告。广告是 Adsense 的, 显示什么内容是 Google 控制的。
    可以按着 Shift 再点开链接(移动端长按链接然后新窗口打开)就没有广告了。


    我会尝试增加没有广告的版本, 还有大文件续传(中途断了,可以断点上传)等功能。
    要获取这样的版本, 可以在一些略有人气的论坛, 或者博客,或者其它渠道发一个推荐 webd 的帖子。
    然后帖子地址发给 [email protected] 即可预订这样的版本。
    takemeh
        102
    takemeh  
       2019-08-25 06:02:43 +08:00
    去广告的版本暂时不提供了, 但是发贴推广依然能获得高级功能的版本。
    takemeh
        103
    takemeh  
       2019-08-25 06:03:49 +08:00
    所提供高级功能版本的激活码有效期不低于一年。
    285441530
        104
    285441530  
       2019-08-25 23:59:47 +08:00   ❤️ 1
    最后等来这么两句话。
    闭源+广告。
    我让了。你们上吧,我玩 kiftd
    takemeh
        105
    takemeh  
       2019-08-26 07:40:32 +08:00
    @285441530 只有视频播放页有广告。抱歉我的境界没有达到你要求的那么高。
    takemeh
        106
    takemeh  
       2019-08-26 07:47:58 +08:00
    @285441530 从来没有说过要开源啊, 广告一直有的, 但是内网使用不会显示的。承诺的权限控制这么加上了么?
    285441530
        107
    285441530  
       2019-08-26 22:20:11 +08:00
    @takemeh 之前我确实没发现有广告,可能跟我地区有问题。
    新版本一下就发现了。
    东西好用自然就帮你宣传了。
    被动宣传获得高级版本,最后还有有效期。
    G 了。
    takemeh
        108
    takemeh  
       2019-08-26 22:24:03 +08:00
    @285441530 我也很纠结这个问题。 有个打算就是根据版本来,比如不升级的话永远能用高级功能。
    285441530
        109
    285441530  
       2019-08-27 00:29:32 +08:00
    @takemeh
    你最后这个版本又回到了以前的旧版本状态,中途的几个版本,不调用你服务器的播放器了,现在又弄回来了。
    虽然解决了返回上层目录继续播放的问题。再说说这登陆功能。
    两天半就觉得这功能基本没啥用,完全可以开 2 个 exe,端口和文件目录不同就行了。一个对公,一个对私。
    返回上一层目录直接都要从最上选很累人。
    目前 kiftd 觉得挺好,希望的各种功能齐全,开源无广告。
    你加油。
    takemeh
        110
    takemeh  
       2019-08-27 05:10:07 +08:00
    @285441530 #109 不是调用服务器播放啦, 是为了显示广告放了纯静态页面来播放的。
    登录功能不就是为了解说你说的要开两个 exe 的问题么? 这不是大家一直想要的权限控制么?
    而且权限做了细化, 比如可以列出文件并下载, 也可以不能列出文件, 但是知道路径的情况下下载。
    实际中是很有用的, 群里的很多朋友这么建议的。

    和 kiftd 不是相同定位的东西, 它是 java 实现的完整网盘。
    和 webd 类似的有 chfs CuteHttpFileServer,支持 webdav 和 https, 你可以试下这个
    还有老牌的 HFS 开源的 Delphi 实现的,windows 上用的很多,功能也比较全
    还有 caddyserver 支持 HTTP2 https

    webd 主要是更轻巧, 能在内存 32M 的路由器上跑起来。

    软件这么多喜欢那个用哪个就行了, 不纠结, 不用影响自己心情。
    你喜欢 java 实现的开源的功能齐全的 kiftd, 那么用这个就好了, 自己的电脑, 还不是想用什么软件就用什么软件。
    祝你生活愉快。
    bequt
        111
    bequt  
       2019-08-28 14:38:46 +08:00
    ![bequt_20190828023744.png]( https://i.loli.net/2019/08/28/sv8xVUTItgOCRZa.png)

    看来你网站挂了, 我这边也跟着挂了, 这样子难搞呢..
    @takemeh
    bequt
        112
    bequt  
       2019-08-28 14:40:10 +08:00
    ![bequt_20190828023920.png]( https://i.loli.net/2019/08/28/3VptHzSbfTFadsl.png)
    全挂系列
    takemeh
        113
    takemeh  
       2019-08-28 17:22:58 +08:00
    @bequt 你是按“生成二维码按钮”的时候出现的这个么? 按道理说能播放啊。
    是用的新版的 Chrome 浏览器么?
    takemeh
        114
    takemeh  
       2019-08-28 17:26:19 +08:00
    @bequt 是不是路径实在太长了呢? 实在不行按 Ctrl 的同时点开视频吧。
    bequt
        115
    bequt  
       2019-08-28 17:34:54 +08:00 via Android
    @takemeh 今天下午你网站断了一波
    takemeh
        116
    takemeh  
       2019-08-28 19:35:12 +08:00
    @bequt #115 是的。 但这个和你提到的问题没有关系吧。
    8023
        117
    8023  
       2019-09-03 21:38:03 +08:00 via iPhone
    支持楼主,一直在用非常方便!

    有一个说不上来是不是 bug 的问题:
    windows 客户端运行时,使用 rdp 远程连接到这台计算机,软件闪退需要重新开启。希望后期版本可以修复这个问题。

    环境:windows10 专业版 1903,webdisk 190814
    8023
        118
    8023  
       2019-09-08 23:26:25 +08:00 via iPhone
    @8023 切换用户同样会触发这个 bug
    bequt
        119
    bequt  
       2019-09-09 20:36:54 +08:00
    @takemeh 最近视频加载有点慢.
    8023
        120
    8023  
       2019-09-23 18:53:45 +08:00 via iPhone
    希望增加拖拽上传功能
    takemeh
        121
    takemeh  
       2019-09-24 21:28:51 +08:00
    @8023 #117 你试下在 windows 下加参数 -h 再运行还会出现你说的闪退的现象么? 注意加 -h 后没有托盘图标。

    @bequt #119
    应该是播放页加载的慢吧, 视频还是本地的,播放页只是个纯静态页面。
    可以按 Ctrl 打开或者长按然后新窗口打开。
    crella
        122
    crella  
       2019-12-14 16:49:06 +08:00
    @takemeh 问一下保存帐号信息是不是通过读写配置文件?还是读取注册表?我用 procmon 也找不到在哪里读取用户帐号信息了,好奇问问。

    重装阿里云系统后,被动模式 ftp 全部连不上,只能用这些小巧的网盘了,十分感谢。
    crella
        123
    crella  
       2019-12-14 16:53:20 +08:00
    12-14 16:52,你的网站 cnt2.cf 可以 ping 通但是显示响应时间过长,文件也无法下载。
    takemeh
        124
    takemeh  
       2019-12-14 16:59:55 +08:00
    @crella #122 目前公开版本的账号信息是通过参数加载的,对其散列后保存在内存中。 下个版本可以支持配置文件。
    刚才重新拨号导致 IP 变化了,现在应该好了。
    还有个备用下载地址 http://webdisk.ys168.com/
    crella
        125
    crella  
       2019-12-14 19:15:26 +08:00
    @takemeh 我又找到 bug 啦

    平台 opensuse leap 15.1 内核 linux 4.12.14 虚拟机运行 webd,外面 win7 chrome 访问。
    不管是不是 root 权限运行,执行./webd -u:rulm:tom:lnln,然后用名称 tom 和密码 lnln 登录都显示错误的密码。
    看终端,webd 并没有报错。
    crella
        126
    crella  
       2019-12-14 19:17:58 +08:00
    win 上的 webd 也是显示这个帐号和密码不对……
    takemeh
        127
    takemeh  
       2019-12-14 19:30:27 +08:00
    @crella #125 参数是 ./webd -u rulm:tom:lnln 而不是应该是 ./webd -u:rulm:tom:lnln
    注意 -u 后面是一个空格而不是冒号
    crella
        128
    crella  
       2019-12-15 09:56:16 +08:00
    @takemeh 提个疑似的 bug。只能以./webd 的形式启动,如果是:

    ~/app > ~/app/webd/webd ...参数,加不加 sudo 都一样

    这样启动的时候无法查看文件列表。

    https://sm.ms/image/oMRk3JK61V5zlCX

    https://sm.ms/image/p91CbwUr4vV2qcn
    takemeh
        129
    takemeh  
       2019-12-15 11:23:43 +08:00
    @crella #120
    默认情况下 webd 使用 当前目录下的 web 目录作为根目录。
    当前目录下不存在 web 目录时就会出现你提到的现象。
    解决的方法是通过用类似 -w /home/user/web 的参数指定根目录。
    crella
        130
    crella  
       2019-12-16 18:05:46 +08:00
    从虚拟机下载,速度达 30MB/s 时,内存占用也不到 2MB。
    bequt
        131
    bequt  
       2019-12-16 20:47:10 +08:00
    催更了, 逃.....
    takemeh
        132
    takemeh  
       2019-12-26 10:56:45 +08:00
    @crella #130 更新了 /t/631994 速度快占用低不算什么。
    你可以测试高并发下内存占用是不是也比较少。运行前需要调整 fd 限制 ulimit -n unlimited
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3438 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 11:22 · PVG 19:22 · LAX 03:22 · JFK 06:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.