V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
WittBulter

写了一个无服务器的浏览量统计服务,适合静态博客和文档用

  •  
  •   WittBulter · Mar 15, 2020 · 4091 views
    This topic created in 2237 days ago, the information mentioned may be changed or developed.
    最近把自己的博客重构成静态的,但是一些需求 (比如浏览量) 就解决不是很优雅,每次写文档写个新页面都要重新设置服务器、DB、缓存等等很麻烦,就想到是不是可以把这些东西集合成公共服务。
    
    本来是自己在用,后来发现优化的太好了🤣,实际流量和压力都很低,不如开源给大家用用...
    

    这是一个无服务器的浏览量统计服务,也无需下载安装没有依赖包,只是引入一个 SVG,服务会通过来源、cookie、key 等等信息验证页面的唯一性,再返回一个包含阅读量的图片。


    • 开源,免费的服务
    • 只提供一张图片,没有包
    • 适合文档和博客
    • 项目地址请看 Github

    如果你有很好的想法也可以留言聊聊喔
    
    我也写了其他的一些开源项目,也许你会有兴趣~
    

    文档和效果预览

    preview

    29 replies    2020-03-16 17:29:19 +08:00
    soli
        1
    soli  
       Mar 15, 2020
    我是来看『无服务器』的。
    cname
        2
    cname  
       Mar 15, 2020 via Android
    见过一个类似的项目,借助的谷歌统计
    Trim21
        3
    Trim21  
       Mar 15, 2020 via Android
    第一眼注意到的是 github 的 id…
    mayx
        4
    mayx  
       Mar 15, 2020 via Android
    这个不能在目录页显示阅读次数吧?
    lhx2008
        5
    lhx2008  
       Mar 15, 2020 via Android
    域名不错
    mineV
        6
    mineV  
       Mar 15, 2020 via Android
    Matomo 也可以实现类似的效果吧。官方文档中也有提供也用 img 统计浏览数据的功能。
    heiheidewo
        7
    heiheidewo  
       Mar 15, 2020
    我想用,万一把你的服务去拉挂了怎么办
    xiri
        8
    xiri  
       Mar 15, 2020
    这个无服务器到头来是用的你提供的服务?
    ihipop
        9
    ihipop  
       Mar 15, 2020 via Android
    @xiri 我猜说的是 server less ?
    dcalsky
        10
    dcalsky  
       Mar 15, 2020 via Android
    应该叫 saas
    xiri
        11
    xiri  
       Mar 15, 2020
    @ihipop
    我不是说服务是怎么实现的,你点到项目地址去看看,使用方式是“创建一个 pull request 提交自己的域名来获取使用许可”
    WittBulter
        12
    WittBulter  
    OP
       Mar 15, 2020
    @mayx 也可以,因为 key 是自己设定的
    WittBulter
        13
    WittBulter  
    OP
       Mar 15, 2020
    @heiheidewo 🤣应该不会
    wolfan
        14
    wolfan  
       Mar 15, 2020 via Android
    早年间的统计好像比这个强。
    WittBulter
        15
    WittBulter  
    OP
       Mar 15, 2020
    @xiri 当然。这也没有什么不妥的。jsorg 和 jsdelivr 不都是由发起者提供服务吗?
    opengps
        16
    opengps  
       Mar 15, 2020
    我的做法是网页内嵌一个引用地址,指向自己的专门采集日志的 url
    mayx
        17
    mayx  
       Mar 15, 2020 via Android
    @WittBulter 不行,你的网站调用一次图片数字就会加 1,没有只读的选项
    BFDZ
        18
    BFDZ  
       Mar 15, 2020
    还以为真是无服务器,话说现在卜蒜子统计非常慢,可能你这个用的人多了也慢,想找个真正的无服务统计
    WittBulter
        19
    WittBulter  
    OP
       Mar 15, 2020
    @mayx 看文档,加上 `unique=1` 会按用户 cookie 统计。
    WittBulter
        20
    WittBulter  
    OP
       Mar 15, 2020
    @BFDZ

    > 还以为真是无服务器,话说现在卜蒜子统计非常慢,可能你这个用的人多了也慢,想找个真正的无服务统计

    这个服务实现上是在 Serverless 上实现的, 没有快和慢的说法,用多少,容器就唤醒多少,用多久就唤醒多久,容器本身是无状态的。
    WittBulter
        21
    WittBulter  
    OP
       Mar 15, 2020
    @wolfan

    > 早年间的统计好像比这个强。

    好吧。不过从功能评判价值不太科学,如果是一个静态博客或者自己写文档,加入一个图片作为阅读数来说是非常简单且有较高的开发体验,可以不用烦心各种问题,但如果和专业的统计服务比功能和稳定性自然是不能相比的,几乎所有服务都是在特定的场景下才有自己的核心价值。

    如果你未来正在写一个文档,可能只想要在短短几分钟内生成一些页面,这可能是非常合适而且舒适的解决方案,有机会你也可以尝试一下。
    mayx
        22
    mayx  
       Mar 15, 2020 via Android
    @WittBulter 不是,我的意思是在不打开文章的情况下查看阅读数,然后在查看的时候不要增加阅读数
    mgrddsj
        23
    mgrddsj  
       Mar 16, 2020 via Android
    这个好像还可以用作邮件已读状态追踪?
    hoythan
        24
    hoythan  
       Mar 16, 2020
    你的服务器不是服务器吗。。。。。。。。。。。
    hoythan
        25
    hoythan  
       Mar 16, 2020
    标题看的我都高潮了,我以为是什么新的互联网技术呢
    hoythan
        26
    hoythan  
       Mar 16, 2020
    你还是改成 jsonp 格式吧,调用 js 返回一串 json,还能让开发者方便自定义样式。图片总有问题的,比如高度宽度,未加载时的占位等
    WittBulter
        27
    WittBulter  
    OP
       Mar 16, 2020
    @hoythan 主要是用在 markdown 和第三方的文档里面,这里面禁止写 js
    hoythan
        28
    hoythan  
       Mar 16, 2020
    @WittBulter 噢 这样啊,那确实挺好
    hoythan
        29
    hoythan  
       Mar 16, 2020
    @WittBulter 家电参数支持定义字体大小背景色和文字颜色就更好了,暗黑模式比较多
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5317 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 209ms · UTC 07:56 · PVG 15:56 · LAX 00:56 · JFK 03:56
    ♥ Do have faith in what you're doing.