V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mlyykk
V2EX  ›  浏览器

不使用 SSL,如何让浏览器可以使用通知?

  •  
  •   mlyykk · 2023-05-22 17:25:03 +08:00 · 2935 次点击
    这是一个创建于 550 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需求是这样的,项目是本地自用,会用到 通知。 但 chrome 要求必须是 https 才能使用通知。

    目前尝试过的方案: 1:用 electron 封装了一下,可以 2:本地 localhost 加了证书,可以

    但总觉得本地和局域网使用,想简单点。 有没有办法就用 http ,并且还能使用通知呢?

    第 1 条附言  ·  2023-05-22 21:11:28 +08:00
    自用,没有用户,以后也不会有。
    域名一直在用,路由自动 ddns 。也只是方便自己在外面的时候好管理一些。目前是有证书的状态,在这里就是想讨论看看有没有 http 的方案。
    31 条回复    2023-05-23 09:54:26 +08:00
    codehz
        1
    codehz  
       2023-05-22 17:31:17 +08:00   ❤️ 1
    我记得 localhost 是可以不用证书也能用 pwa 的全部功能的啊
    Nazz
        2
    Nazz  
       2023-05-22 17:32:34 +08:00
    使用自签名证书 ?
    idealhs
        3
    idealhs  
       2023-05-22 17:34:51 +08:00
    蹲一下
    目前的浏览器对 http 限制了很多功能,不仅仅是通知,还包括打开外部链接,使用 webrpc 等等
    这使得一些无需域名和 SSL 的内网服务变得不完整
    mlyykk
        4
    mlyykk  
    OP
       2023-05-22 17:40:21 +08:00
    @codehz 因为局域网其他电脑也会用到,所以不是只使用 localhost 。会用到局域网 IP 访问的方式。
    mlyykk
        5
    mlyykk  
    OP
       2023-05-22 17:43:26 +08:00
    @idealhs 嗯,是这样的一个情况。
    asdjgfr
        6
    asdjgfr  
       2023-05-22 17:43:55 +08:00
    都用 electron 了就别用浏览器的通知了
    https://www.electronjs.org/zh/docs/latest/tutorial/%E9%80%9A%E7%9F%A5
    ochatokori
        7
    ochatokori  
       2023-05-22 17:50:32 +08:00 via Android
    @asdjgfr #6 认真审题,楼主都说用 electron 是一个可行的解决方法了但是想更简单点
    ochatokori
        8
    ochatokori  
       2023-05-22 17:53:53 +08:00 via Android
    如果你是自己用不是给用户用的话,可以用油猴的 api GM_notification
    装个油猴插件写个脚本把这个 api 传递到 window 上,就能让你自己的应用来调用了
    riggzh
        9
    riggzh  
       2023-05-22 17:55:23 +08:00
    @ochatokori #8 😒我猜他就是要给别人用
    ety001
        10
    ety001  
       2023-05-22 17:57:25 +08:00
    如 3L 所说,这是浏览器的强制要求。
    你只能按照浏览器的要求来。
    之前我遇到过类似问题,最终是弄了一个域名指向局域网 ip ,然后用 acme.sh 的 dns 方式给这个域名申请证书😂
    Juszoe
        11
    Juszoe  
       2023-05-22 18:30:15 +08:00
    10 楼说的对,买个域名吧,你和用户只能有一个简单
    qiyuey
        12
    qiyuey  
       2023-05-22 18:38:15 +08:00
    rsocket on http ?
    kenvix
        13
    kenvix  
       2023-05-22 18:41:58 +08:00
    这个是强制要求,没办法的,但也不需要买域名。
    自己签一个 CA ,然后让局域网所有电脑都安装、信任这个 CA 证书,然后自己用这个 CA 签发 IP SSL 证书就行了
    shyling
        14
    shyling  
       2023-05-22 18:46:49 +08:00
    上证书,改 hosts
    netnr
        15
    netnr  
       2023-05-22 18:54:32 +08:00 via Android
    浏览器设置可以加安全域白名单,类似启动参数,但也不方便
    我目前也用到这个功能,还有语音播报
    phithon
        16
    phithon  
       2023-05-22 19:09:23 +08:00
    买个域名,可以申请证书,也可以指向内网
    noqwerty
        17
    noqwerty  
       2023-05-22 19:12:11 +08:00 via iPhone
    本地开发的话可以用 chrome://flags/#unsafely-treat-insecure-origin-as-secure
    mxT52CRuqR6o5
        18
    mxT52CRuqR6o5  
       2023-05-22 19:20:24 +08:00 via Android
    对用户最友好的方案就是买个域名
    newmlp
        19
    newmlp  
       2023-05-22 19:25:59 +08:00
    自用就用自签名证书。。。
    Jirajine
        20
    Jirajine  
       2023-05-22 20:41:01 +08:00
    https 不麻烦,公网可以直接用 sslip.io 的域名签证书,或者直接签 ip 证书也行。内网像 caddy 之类的很多工具都能一键起 https 服务 /自签证书 /添加信任一条龙。
    mlyykk
        21
    mlyykk  
    OP
       2023-05-22 21:05:29 +08:00
    @ochatokori 非常感谢你的建议,我稍后试试。对的,我就是给自己用。
    mlyykk
        22
    mlyykk  
    OP
       2023-05-22 21:08:02 +08:00
    @netnr 嗯。需求类似。就像简单点,因为自己用,web 更新起来方便些。electron 的话,每次都要打包。有时候一些小改动,就想简单点处理立即更新。
    mlyykk
        23
    mlyykk  
    OP
       2023-05-22 21:10:14 +08:00
    @mxT52CRuqR6o5 自用,没有用户,以后也不会有。域名一直在用,ddns 。也只是方便自己在外面的时候好管理一些。目前是有证书的状态,在这里就是想看看有没有 http 的方案。
    lisongeee
        24
    lisongeee  
       2023-05-22 21:25:44 +08:00
    用油猴脚本把 GM_api 注入到 unsafeWindow 上即可

    我自己写的示例 https://github.com/lisonge/network-extension
    lisongeee
        25
    lisongeee  
       2023-05-22 21:27:57 +08:00
    和你相反,我的需求则是在 https 上访问 http 资源,也是本地自用,这个也可以用油猴 GM_api 实现
    mlyykk
        26
    mlyykk  
    OP
       2023-05-22 21:41:47 +08:00
    @lisongeee 嗯,https 上如果有请求 http ,也无法通知。我看看你的。
    14
        27
    14  
       2023-05-23 00:29:24 +08:00
    楼上说的 chrome://flags/#unsafely-treat-insecure-origin-as-secure 是正解,可以收到通知,还可以加载 Service Workers
    lidage
        28
    lidage  
       2023-05-23 08:24:12 +08:00 via iPhone
    找运维。
    kongkx
        29
    kongkx  
       2023-05-23 08:33:36 +08:00 via iPhone
    内网服务器做用同样的证书做个 vhost ,在路由上加个 dnsmasq 将域名解析到内网服务器
    mlyykk
        30
    mlyykk  
    OP
       2023-05-23 08:49:02 +08:00
    @14
    @noqwerty

    感谢建议,这个对于本地项目来讲,确实很合适。
    siweipancc
        31
    siweipancc  
       2023-05-23 09:54:26 +08:00 via iPhone
    很合理的安全限制。搞个自签名证书就行,找运维
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3018 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 10:50 · PVG 18:50 · LAX 02:50 · JFK 05:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.