#list #web-services #sharing #actors #bad #service #source

bin+lib felicia

用于访问和共享不良行为者列表的服务

8 个版本 (4 个重大更改)

0.5.1 2023年9月17日
0.5.0 2023年9月17日
0.4.1 2023年9月14日
0.3.1 2023年9月13日
0.1.0 2023年9月13日

异步 中排名 #551

每月下载量 49

AGPL-3.0

33KB
876 代码行

felicia

共享不良行为者列表的 web 服务。最初为 fediverse 制作,但足够灵活,可以在其他环境中使用。

配置

felicia 通过环境变量进行配置

  • PORT: 服务端口,默认为 8090
  • LOCAL_LIST_PATH: 本地列表文件的路径,见下文
  • SOURCES_PATH: 源文件的路径,见下文
  • SOURCES_LIFETIME: 列表缓存寿命,默认为 10 分钟

您必须提供至少 LOCAL_SOURCESSOURCES_PATH。当然,您也可以设置两者。

felicia 会自动在设定的时间间隔内使缓存的列表(无论是本地还是远程的)无效,并在必要时重新获取它们,因此不需要重启服务即可反映更改。

请注意,目前本地源列表本身不会自动刷新,因此如果您添加了新的源,您确实需要重启。

模型

列表

域名列表及其相关信息。

{
  "domains": [
    {
      "domain": "example.org",
      "level": "low|medium|high"
      "reason": "<...>",
      "notes": "<...>",
      "source": "<source where this domain entry originates from>"
    }
  ]
}

获取更多列表的源。

{
  "sources": [
    "http://example.org/list.json"
  ]
}

API

GET /list/all

获取所有可用的条目,本地和/或远程。

请求

  • 查询参数
    • dedup -- 如果存在且设置为 true,则返回去重后的条目

响应

  • 类型:application/json
  • 模型:List

GET /list/all/mastodonCsv

以 Mastodon 兼容的域名黑名单格式获取所有可用的条目,本地和/或远程。

响应

  • 类型:text/csv

GET /list/search

过滤特定域名和/或其在不同源中出现的次数的所有可用条目。

请求

  • 查询参数
    • domain -- 如果存在,通过给定的子字符串过滤域名
    • threshold -- 如果存在,并且给定一个整数 n,过滤至少在 n 个不同源中出现的域名
    • source -- 如果存在,通过给定的子字符串过滤域名源
    • level -- 如果存在,则通过条目严重级别进行过滤(严重
    • dedup -- 如果存在且设置为 true,则返回去重后的条目

响应

  • 类型:application/json
  • 模型:List

注意事项

felicia旨在方便聚合和共享潜在的去中心化恶意行为者列表。它本身并不能解决与来源本身信任相关的问题。

您仍然必须验证您的来源,包括间接来源,并确保您可以信任它们。

许可证

(C)ariela Wenner,2023

除非另有说明,所有代码均根据AGPL 3.0许可。

依赖项

~14–27MB
~424K SLoC