Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pong

处理 Hyperlink Auditing 请求并记录来源网页、目标网页和点击次数。

使用

假设将 Pong 部署在 https://example.pong/ 下。

Ping 一下

在来源页添加链接:

<a href="https://dest.com" ping="https://example.pong/ping" target="_blank">链接文字</a>

试一下:

链接测试 - Pong

统计数据

浏览器访问:

https://example.pong/stats

试一下:

Stats - Pong

API

统计数据可通过 API 获取,以后可能可以通过 API 作简单的管理操作。

统计数据

GET https://example.pong/api/stats

返回一个对象,样例如下:

{
    "links":[
        {
            "count":8,
            "link":"https://www.jonbgua.com/",
            "origin":"http://127.0.0.1:5500/index.html"
        },
        {
            "count":4,
            "link":"https://www.baidu.com/",
            "origin":"http://localhost:5500/index.html"
        }
    ]
}

试一下:

Stats - API - Pong

部署

按照常规的 Flask 应用部署流程即可。如希望部署到 Heroku,可参考 用 GitHub Actions 把项目部署到 Heroku - Jonbgua

环境变量

核心功能

ALLOW_PING_FROM_KEYWORD

来源地址关键字白名单。默认为 None,即不管来源网站是啥都予以记录;一旦 ALLOW_PING_FROM_KEYWORD 值不为空,则启用白名单,不包含关键字的 Origin 不予理会,以防其它网站盗用本服务。

如果需要多个关键字,则使用英文逗号 , 分隔。

注:因为只有关键字匹配这一个识别机制,所以并不能非常精准地只服务于某个网站,只是一定程度上提升了盗用服务的成本。

DISALLOW_PING_TO_KEYWORD

目标地址关键字黑名单。默认为 None,即不管目标地址是啥都予以记录。其余规则同 ALLOW_PING_FROM_KEYWORD,不再赘述。

主要是防止发小广告以及 stats 页里混进奇怪的玩意儿(比如 po*n 啥的)

数据库

MONGO_URI		# MongoDB 地址(形如 mongodb://xxxxx 的一串 URI)
DATABASE_NAME	        # 数据库名称(默认为: "pong")

网页

SITE_TITLE		# 站点标题栏(标签页上面那个, 默认为 'Stats - Pong')
SITE_H1			# 站点一级标题(如果不设置此项,则自动使用 SITE_TITLE)

参考资料

About

接受 Hyperlink Auditing 请求并作统计记录

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages