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

轻量级 webd 网盘更新了

  •  4
     
  •   takemeh · 2019-12-24 21:51:13 +08:00 · 17806 次点击
    这是一个创建于 1825 天前的主题,其中的信息可能已经有所发展或是发生改变。

    面试获得键盘的翘楚 /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
    个人认为略好看一点的界面
    修复统计链接失效后转圈的问题, 目前可在完全无外网的情况下使用了
    部分代码的优化重构
    支持两个不同权限的用户(实现真正多用户前折中的实用方案)

    谢谢大家一直以来的支持和反馈,大家节日快乐!
    第 1 条附言  ·  2019-12-26 12:51:41 +08:00

    webd 后续完善的文档和新版会放这里 --> https://webd.cf

    任何问题都可以给作者发邮件 [email protected]

    若觉得好用请推荐给朋友, 这是完善下去的最大动力

    在本帖留言的会在新版发布时得到 @ 通知, 所以不要只收藏不留言

    第 2 条附言  ·  2019-12-31 22:36:31 +08:00
    • 请注意 47 楼提到的方法有漏洞,并不能限制在 chroot 目录内, 参考 84 85 楼

    111 条回复    2022-10-17 18:50:50 +08:00
    1  2  
    eluotao
        1
    eluotao  
       2019-12-24 21:56:13 +08:00
    不错 不错 支持你.
    下好周末试试
    jngke931126
        2
    jngke931126  
       2019-12-24 21:57:22 +08:00
    多谢分享
    看了下, 虽然没有真正多用户, 但有两种灵活权限对我来说很实用了.
    Bbird
        3
    Bbird  
       2019-12-24 22:00:21 +08:00
    演示地址怎么上传文件显示红色的,刷新又没了。
    takemeh
        4
    takemeh  
    OP
       2019-12-24 22:02:09 +08:00   ❤️ 3
    @eluotao @jngke931126 多谢支持
    @Bbird 只读演示,所在文件系统是只读的
    xingso
        5
    xingso  
       2019-12-24 22:09:03 +08:00
    如果有个简单的搜索功能就好了
    where2go
        6
    where2go  
       2019-12-24 22:10:10 +08:00
    我可以把这个集成到路由器固件里再发布吗?
    takemeh
        7
    takemeh  
    OP
       2019-12-24 22:17:08 +08:00   ❤️ 3
    @xingso 设想了下,简但的话可以可以遍历文件夹搜索,会比较慢。或者记录到数据库索引后搜索。
    @where2go 在不改变程序外观界面和功能的条件下个人或商业公司或产品可以自由使用和再次发布以及集成到产品。
    where2go
        8
    where2go  
       2019-12-24 22:57:50 +08:00
    @takemeh #7 好的, 非常感谢你的慷慨
    takemeh
        9
    takemeh  
    OP
       2019-12-24 23:00:50 +08:00
    @where2go 不客气 如果想制定某些功能或开发类似软件的话可以联系我 [email protected]
    DaCong
        10
    DaCong  
       2019-12-24 23:21:02 +08:00
    能问问创作这个软件所需要的技术栈有哪些吗?以及有没有开源的可能?想要学习一下。
    takemeh
        11
    takemeh  
    OP
       2019-12-24 23:23:28 +08:00   ❤️ 3
    @DaCong C 语言 以及 windows linux 网络编程,一些系统调用。再就是前端 html javascript css 了。 暂不开源。
    takemeh
        12
    takemeh  
    OP
       2019-12-24 23:25:58 +08:00   ❤️ 3
    @DaCong 还有就是各种功能的整合。你可以参考一下 lighttpd 和 nginx,现在的版本代码多的话,可以看早期的版本。
    DaCong
        13
    DaCong  
       2019-12-24 23:29:15 +08:00
    @takemeh 感谢指点
    takemeh
        14
    takemeh  
    OP
       2019-12-24 23:56:27 +08:00
    @DaCong 不客气,希望能帮到你。
    k9982874
        15
    k9982874  
       2019-12-24 23:59:38 +08:00 via iPad
    楼主是后端开发吧 这 ui 辣眼睛
    takemeh
        16
    takemeh  
    OP
       2019-12-25 00:01:29 +08:00
    @k9982874 我觉得这 UI 挺好看啊
    takemeh
        17
    takemeh  
    OP
       2019-12-25 00:03:51 +08:00
    @k9982874 也确实简陋了些,够用就行吧。
    luhe
        18
    luhe  
       2019-12-25 00:20:04 +08:00
    这官网真是,清流
    takemeh
        19
    takemeh  
    OP
       2019-12-25 00:23:06 +08:00   ❤️ 1
    @luhe 原来是个 txt, 然后包了一层 <pre></pre>放上去了, 等有空再好好弄弄
    luhe
        20
    luhe  
       2019-12-25 00:40:03 +08:00
    @takemeh 我觉得很有个性,不改也挺好的
    loading
        21
    loading  
       2019-12-25 01:30:51 +08:00 via Android   ❤️ 1
    完全可以用 golang 肝一个开源
    jadec0der
        22
    jadec0der  
       2019-12-25 01:56:52 +08:00
    和女同事怎么样了
    QMore
        23
    QMore  
       2019-12-25 02:11:08 +08:00
    果然简洁易用,支持多平台不错。后续考虑分享一些不一样的 UI 模版么?
    takemeh
        24
    takemeh  
    OP
       2019-12-25 07:46:11 +08:00   ❤️ 2
    @luhe #20 准备改成这种风格的 https://bellard.org/ 和大牛看齐
    @loading #21 看这个 /t/628911 @Smash 另外还有很多 golang 开源的
    @jadec0der #22 没进展,她好像有个理不清的前男友经常来公司
    @QMore #23 可以考虑再加些 UI,但是不要对我的美工水平期望太高。
    oneisall8955
        25
    oneisall8955  
       2019-12-25 09:05:34 +08:00 via Android
    键盘和耳机帖子原来是 webd 老哥你啊😂
    takemeh
        26
    takemeh  
    OP
       2019-12-25 09:17:19 +08:00   ❤️ 1
    @oneisall8955 #25 是我是我,人生何处不惊喜
    Immemorial
        27
    Immemorial  
       2019-12-25 09:40:59 +08:00
    之前看旧网址没了还以为停了……
    takemeh
        28
    takemeh  
    OP
       2019-12-25 10:20:36 +08:00   ❤️ 1
    @Immemorial 不会停的, 之前域名规划的不好,顾此失彼,现在重新弄了
    where2go
        29
    where2go  
       2019-12-25 10:46:10 +08:00
    @takemeh #9 我就是自己用和公司内部分享东西给别人用,不是集成到产品。
    tokune
        30
    tokune  
       2019-12-25 10:48:28 +08:00
    看这名字还以为支持 webdav 呢
    where2go
        31
    where2go  
       2019-12-25 10:50:09 +08:00
    @takemeh 就是偶尔在群里发一些编译好的固件,打算宅这些固件里集成这个。
    一般人做不到在路由器里装软件。
    takemeh
        32
    takemeh  
    OP
       2019-12-25 10:52:06 +08:00   ❤️ 2
    @where2go #31 这样没问题,可以自由使用
    @tokune #30 是 webdisk 缩写 webd, 准备后续在弄哦 webchat 缩写成 webc
    ferock
        33
    ferock  
       2019-12-25 11:07:56 +08:00
    虽然不打算开源,但是可以找个 git 站,收集 issues
    建议。
    takemeh
        34
    takemeh  
    OP
       2019-12-25 11:42:35 +08:00
    @ferock #33 这个建议很好, 谢谢
    songjx1992
        35
    songjx1992  
       2019-12-25 12:52:22 +08:00
    在路由器用上了,windows 上也可以。
    目前发现的问题是,openwrt 上通过 ntfs-3g 挂载 ntfs 格式的硬盘,通过 webd 上传文件建文件夹。
    然后把硬盘接到 windows 机器上看是乱码的。
    ferock
        36
    ferock  
       2019-12-25 12:54:21 +08:00
    @songjx1992 #35

    ntfs 各种奇怪的问题。。。
    songjx1992
        37
    songjx1992  
       2019-12-25 12:56:56 +08:00
    还有路由器映射端口设置防火墙什么的,最好能写个教程,不然一般人搞不定。
    最值得说的是 IPv6 用起来很爽啊,出门后手机可以把照片视频传回家里了,完全不依赖公有云。
    设置方法应该是你发到这里的
    https://www.newsmth.net/bbstcon.php?board=NewSoftware&gid=247321
    songjx1992
        38
    songjx1992  
       2019-12-25 12:57:53 +08:00
    @ferock #35 直接挂载路由器上不管它了,就没这么多事了。甚至干脆不用 ntfs 了
    stille
        39
    stille  
       2019-12-25 13:02:51 +08:00
    问下,有最简单的存静态的目录程序么? 就索引列出本目录下的所有子目录和文件...就像老式 ftp 列表那种?
    songjx1992
        40
    songjx1992  
       2019-12-25 13:05:29 +08:00
    @stille #39 楼主这个程序默认不做设置恰好就是你要的功能。
    takemeh
        41
    takemeh  
    OP
       2019-12-25 13:14:50 +08:00   ❤️ 1
    @stille #39
    编辑配置文件 webd.conf 里面的
    # Webd.Root "D:\my share"
    去掉 # 并改成你的目录
    重新启动就是你想要的功能了。

    @songjx1992 #35
    在 linux 下 webd 文件系统编码是 utf-8, 貌似能通过某个 mount 参数解决你遇到的问题, 但没仔细深究过。
    在 windows 下 webd 用的是 unicode

    @songjx1992 #37
    谢谢你这个建议,我会把一些相关的资料整理一下。
    stille
        42
    stille  
       2019-12-25 15:06:20 +08:00 via iPhone
    @songjx1992 #40 @takemeh #41 谢谢,我去尝试下
    liang96
        43
    liang96  
       2019-12-25 15:06:35 +08:00 via Android
    @takemeh #32 期待老哥的 webchat 正需要这种东西
    Davidwg
        44
    Davidwg  
       2019-12-25 15:58:08 +08:00
    能 docker 搞么,上周刚 docker 装了 nextcloud,非常的简单
    podel
        45
    podel  
       2019-12-25 17:54:41 +08:00
    支持在线看漫画自动翻页,在线看视频么。
    takemeh
        46
    takemeh  
    OP
       2019-12-25 18:04:17 +08:00   ❤️ 1
    @Davidwg #44 只有一个几十 KB 的可执行文件,直接运行就行了, 用不着上 docker
    @podel #45 能在线看图片但不能自动翻页,pdf 也可以在线开,大部分 mp4 格式电影可以在线看。
    takemeh
        47
    takemeh  
    OP
       2019-12-25 21:01:11 +08:00
    @Davidwg #44

    如果是出于信任或者安全考虑可以让 webd 在隔离环境(chroot jail)下运行

    执行 ldd webd 会发现它依赖三个系统文件
    linux-vdso.so.1 # 这个不用管
    libdl.so.2 => /lib/libdl.so.2
    libc.so.6 => /lib/libc.so.6
    /lib64/ld-linux-x86-64.so.2

    复制依赖文件和 webd 到另一位置,目录结构如下
    /tmp/webdroot/webd
    /tmp/webdroot/lib/libdl.so.2
    /tmp/webdroot/lib/libc.so.6
    /tmp/webdroot/lib64/ld-linux-x86-64.so.2

    再这样运行 webd
    sudo chroot /tmp/webdroot /webd -w /
    这样就把 webd 的活动范围限制在 /tmp/webdroot 里面了

    该方式也可运行其他不太信任的软件,能起到基本的防护作用。
    类似于 docker 隔离环境,但更简单原始粗暴。
    不过防不住能利用内核漏洞的恶意软件。
    takemeh
        48
    takemeh  
    OP
       2019-12-25 22:03:25 +08:00
    @bequt 看到你收藏了 再麻烦编辑这个贴再顶一下 http://bbs.pceva.com.cn/thread-146143-1-1.html
    这样编辑,谢谢了

    ---------------- 标题 ----------------
    极轻量级自建网盘软件 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

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

    谢谢大家一直以来的支持和反馈,觉得好用请推荐给朋友,谢谢
    bequt
        49
    bequt  
       2019-12-26 08:58:08 +08:00
    @takemeh 更新新网页了 http://bbs.pceva.com.cn/thread-146830-1-1.html
    上次说好的高级功能呢
    takemeh
        50
    takemeh  
    OP
       2019-12-26 10:14:26 +08:00
    @bequt 感谢更新
    目前内容还都是一样的。
    djyde
        52
    djyde  
       2019-12-26 13:39:07 +08:00
    我为啥会被 @ 到
    takemeh
        53
    takemeh  
    OP
       2019-12-26 13:54:17 +08:00
    @djyde 因为你以前回过关于 webd 的贴
    ETO
        54
    ETO  
       2019-12-26 15:50:25 +08:00
    下次更新请继续 @ 我,谢谢
    8023
        55
    8023  
       2019-12-26 20:54:40 +08:00 via iPhone
    正在长期使用,希望更新后收到通知。
    顺便麻烦作者解决远程登录电脑后软件自动退出的问题,加了 h 参数后也不是 100%稳定。
    takemeh
        56
    takemeh  
    OP
       2019-12-26 21:48:21 +08:00
    @8023 #55 你能再精确详细的描述下这个问题吗?

    还有同时打开一个计算机和一个记事本不要输入任何东西就放在那里,
    然后执行会导致 webd 退出的操作,那两个软件也会退出吗?
    takemeh
        57
    takemeh  
    OP
       2019-12-26 21:50:36 +08:00
    @8023 更正 计算机 ==> 计算器
    c0011
        58
    c0011  
       2019-12-27 08:49:44 +08:00
    不开源说个"得"呢? 不用。
    lqzhgood
        59
    lqzhgood  
       2019-12-27 08:50:46 +08:00 via Android
    考虑一个搜索?
    不过感觉这个功能有点重~

    生成一个 list 让前端处理好了~
    takemeh
        60
    takemeh  
    OP
       2019-12-27 08:55:35 +08:00 via Android
    @lqzhgood 如果纯前端做搜索都不用动后端代码,直接用获取目录列表的接口然后递归处理。
    Immortal
        61
    Immortal  
       2019-12-27 10:32:55 +08:00   ❤️ 1
    刚在小鸡里部署了下 挺方便的 支持下
    会在周围朋友安利~
    takemeh
        62
    takemeh  
    OP
       2019-12-27 10:33:43 +08:00 via Android
    @Immortal #61 多谢安利给朋友。
    Immortal
        63
    Immortal  
       2019-12-27 10:35:40 +08:00
    @takemeh
    考虑加个拖拽上传么
    takemeh
        64
    takemeh  
    OP
       2019-12-27 10:35:55 +08:00 via Android
    @c0011 #58 这个体积开不开源差异不大了,反汇编很容易搞清楚。
    takemeh
        65
    takemeh  
    OP
       2019-12-27 10:42:42 +08:00 via Android
    @Immortal #63 可以的,现在也可以一次选中的多个文件上传。
    Immortal
        66
    Immortal  
       2019-12-27 10:44:45 +08:00
    @takemeh
    下次更新了 请 @我一下 最好每次更新有一个 log 方便查看多了哪些新功能
    takemeh
        67
    takemeh  
    OP
       2019-12-27 10:49:21 +08:00 via Android
    @Immortal 好的。
    no1xsyzy
        68
    no1xsyzy  
       2019-12-27 13:20:57 +08:00
    一些毫无卵用的小建议:我觉得你官网可以直接用网盘界面做,官网即演示的风格就很棒
    no1xsyzy
        69
    no1xsyzy  
       2019-12-27 13:26:54 +08:00
    比如如果有 readme.txt/readme.html/index.html 则在下方添加一个 iframe 且 src 属性指向之,或者在下方嵌入之
    takemeh
        70
    takemeh  
    OP
       2019-12-27 13:37:45 +08:00 via Android
    @no1xsyzy #63 好的,谢谢你的建议。
    miaomiao0323
        71
    miaomiao0323  
       2019-12-27 15:53:22 +08:00
    .cf 的域名在哪能注册,看了几家都没有呢
    guxin0123
        72
    guxin0123  
       2019-12-27 17:15:10 +08:00
    新建文本文件并在线编辑
    前端能再加个代码高亮编辑器
    takemeh
        73
    takemeh  
    OP
       2019-12-27 19:49:03 +08:00
    @miaomiao0323 #71
    我同事转到我的 he.net 里面的,没说哪来的。说永远给我用,让我每年请他吃大餐,是不是被骗了?

    @guxin0123 #72
    这个注意很好,可以直接对接上传文件的接口,只做前端就行了。
    SCaffrey
        74
    SCaffrey  
       2019-12-27 23:53:51 +08:00
    @miaomiao0323 freenom
    ppgame
        75
    ppgame  
       2019-12-28 20:38:14 +08:00 via iPhone
    请问在宝塔下如何操作
    takemeh
        76
    takemeh  
    OP
       2019-12-28 20:43:22 +08:00
    @SCaffrey #74 原来我被坑了。

    @ppgame #75 没有用过宝塔,不知道。
    用这个 webd-linux-x86_64.tar.gz 包加几条 linux 命令就能装。
    你可以发到群里问问的。
    Immortal
        77
    Immortal  
       2019-12-30 15:41:10 +08:00
    老哥 用了几天发现个问题
    1.对文件夹的状态操作有个 bug,有时候会变成只有剪切和删除,触发流程不明,一定要 F5 刷新下就正常了
    2.貌似对 dotfile 不太友好,今天在备份的时候发现.开头的文件上传后就是红色的,刷新就没了
    takemeh
        78
    takemeh  
    OP
       2019-12-30 15:49:40 +08:00
    @Immortal #77

    1. 我也发现过,前端代码是开始边学边写的,还有些杂乱,有时间重新清理下吧。

    2.点开头的文件都是隐藏的,你去对应目录下看看文件在不在?
    上传变红色可能是已经存在同名文件了,不能覆盖。
    Immortal
        79
    Immortal  
       2019-12-30 16:01:59 +08:00
    @takemeh
    可能已经存在 我没去服务器里看
    能把.开头的文件显示出来的么..这个隐藏有点麻烦
    takemeh
        80
    takemeh  
    OP
       2019-12-30 16:13:48 +08:00
    @Immortal 需要改代码,这是当初专门用来隐藏文件的特性,按照 linux 显示文件的习惯来的。
    Immortal
        81
    Immortal  
       2019-12-30 16:25:33 +08:00
    @takemeh
    那要不成为配置项之一?或者加入到前端选择显示不显示
    因为今天在备份系统配置,我主要在 linux 下工作,发现比较麻烦
    takemeh
        82
    takemeh  
    OP
       2019-12-30 16:26:57 +08:00
    @Immortal 好的,下一版尽量把这个弄成可配置的。
    takemeh
        83
    takemeh  
    OP
       2019-12-31 19:24:28 +08:00
    @Immortal #81 你给我发邮件, 我给你发个修正了这个问题的版本。
    codehz
        84
    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
        85
    takemeh  
    OP
       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
        86
    takemeh  
    OP
       2019-12-31 22:41:28 +08:00
    @codehz #84 我自己的程序都是这样启动的
    1. 用 root 运行
    2. 绑定监听端口
    3. 设置 fd 限制
    4. 获取目标用户 gid uid
    5. chroot 到目标目录
    6. 切换到指定用户
    codehz
        87
    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
        88
    takemeh  
    OP
       2019-12-31 23:10:21 +08:00
    @codehz #87
    你说的这些 cgroup namespace 都是现代 linux 上的高级玩法。
    我那个方法也不怎么折腾,一个公用的函数而已,好多年没管它了。
    Nott
        89
    Nott  
       2020-01-03 18:25:43 +08:00
    如果能密码访问就好了
    takemeh
        90
    takemeh  
    OP
       2020-01-03 20:53:32 +08:00
    @Nott 当然可以啦,仔细看说明文件
    hutng
        91
    hutng  
       2020-01-04 16:45:58 +08:00
    很不错的程序,支持一下,。。。。。。MP4 播放也页面有广告。。。。。
    有空还是自己 nginx 搭建一个哇
    takemeh
        92
    takemeh  
    OP
       2020-01-04 18:15:28 +08:00
    @hutng #91
    是的,二维码页和音视频图片的页面有广告。
    按着 Ctrl 点开就没有广告了。
    Lonfrank
        93
    Lonfrank  
       2020-01-06 09:38:04 +08:00
    安全性怎么样
    takemeh
        94
    takemeh  
    OP
       2020-01-06 09:53:01 +08:00 via Android
    @Lonfrank #93 权限控制检查都很完善了,溢出攻击的情况也都处理。但是没有实现 https,需要的话可以用别的软件套一层。
    hutng
        95
    hutng  
       2020-01-06 18:03:41 +08:00 via Android
    @takemeh 老哥,搞个捐赠去广告?
    takemeh
        96
    takemeh  
    OP
       2020-01-06 19:14:08 +08:00
    @hutng #95 对待大家要一视同仁
    NickyPP
        97
    NickyPP  
       2020-01-06 19:29:06 +08:00 via iPhone
    观望,最近在物色类似软件
    hutng
        98
    hutng  
       2020-01-06 19:39:29 +08:00 via Android
    @NickyPP 有合适的类似软件么?
    这个带广告比较麻烦,自己用倒是无所谓,你给别人分享个东西,谁知道它弹什么广告,会比较尴尬
    takemeh
        99
    takemeh  
    OP
       2020-01-06 20:29:02 +08:00
    @hutng #98 Google 的广告不会太离谱的, 当然它也是根据个人浏览器习惯展示的。
    ragnaroks
        100
    ragnaroks  
       2020-01-09 14:23:13 +08:00
    尝试以子进程方式启动会立刻退出,退出代码"1(功能不正确)"
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5455 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 07:06 · PVG 15:06 · LAX 23:06 · JFK 02:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.