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

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

  •  
  •   WittBulter · 2020-03-15 05:27:17 +08:00 · 3527 次点击
    这是一个创建于 1749 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近把自己的博客重构成静态的,但是一些需求 (比如浏览量) 就解决不是很优雅,每次写文档写个新页面都要重新设置服务器、DB、缓存等等很麻烦,就想到是不是可以把这些东西集合成公共服务。
    
    本来是自己在用,后来发现优化的太好了🤣,实际流量和压力都很低,不如开源给大家用用...
    

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


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

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

    文档和效果预览

    preview

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

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

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

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

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

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