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

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

  •  
  •   mlyykk · 311 天前 · 2592 次点击
    这是一个创建于 311 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

    感谢建议,这个对于本地项目来讲,确实很合适。
    siweipancc
        31
    siweipancc  
       311 天前 via iPhone
    很合理的安全限制。搞个自签名证书就行,找运维
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3726 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 05:04 · PVG 13:04 · LAX 22:04 · JFK 01:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.