项目是什么 + 为什么现在火
knockoff 是开发者 Shpigford 开源的轻量级 Chrome 扩展,专门处理 Amazon 上「长得像但不是」的山寨品牌 listing。你搜 Anker 会冒出 Ankere、Ankarr;搜 Bose 又塞一堆 Bosse、Boswee。这些蹭品牌词的低质商品价格便宜、评分刷的、品质拉垮,严重干扰购物决策。knockoff 在你打开搜索结果页时基于 DOM 级操作把这些条目直接隐藏,只留品牌方官方与正规授权商品。它被推上 GitHub Trending ⭐1541 stars 的当口,正是社区对平台算法失灵的一种集体反弹:用户不再相信推荐流,开始用客户端脚本抢回筛选权。本教程带你拆解 knockoff 的实现思路、判定规则、以及如何 fork 出自己的版本。
Q1: knockoff 怎么判断「伪品牌」?
现象 打开 knockoff 默认 blocklist 后,Oajadeer、Vinrcss、Ankcre 这种 listing 自动从结果页消失。用户最好奇的是:它怎么识别这些是假的?为什么不是单纯按评分或销量过滤?
根因 它的判定逻辑简单粗暴——字面相似 + 不在白名单。源码里通常维护一个 whitelist(正牌词)与 blocklist(高频伪词根),匹配规则多采用 Levenshtein 编辑距离或字符集合相似度,对比 listing title 是否「接近」某个白名单词、且本身不命中任何 whitelist。评分离不开刷单,销量能被刷,但「对正牌词做了小幅变形」这种模式被反复滥用到足以形成 fingerprint,伪牌 listing 的运营成本反而是 title 必须「像」正牌才能蹭到搜索流量。
解法 你可以本地新增拦截词,直接编辑 blocklist.json 或在 popup 手动 add,重载扩展后规则即生效。一个简化版的判定函数长这样:
function isFakeBrand(title, whitelist = ['Anker', 'Bose']) {
const t = title.toLowerCase();
return whitelist.some(brand => {
const target = brand.toLowerCase();
const distance = levenshtein(t, target);
return distance > 0 && distance <= 2 && !t.includes(target);
});
}
dist ≤ 2 且不包含原词 → 视作蹭词拦截。
Q2: 真假混卖,扩展会不会「误伤」?
现象 很多品牌是官方与第三方共用 ASIN,正常搜索结果里真假 listing 穿插,knockoff 会不会把正牌官方店也屏蔽掉?
根因 它按 title 文本过滤而非按 ASIN。官方 listing 的标题天然就含品牌词、且命中 whitelist;只有把标题故意写得像正牌的假 listing 才会被拦。换句话说,knockoff 的命中条件要求是「接近但不是」,这天然区分了「我就是 Bose」和「我叫 Boswee 蹭 Bose」两种 title。
解法 配合亚马逊自带的 Brand: XXX 过滤器与 Prime 标签一起用,可进一步压缩噪声。knockoff 解决「伪词根」,原生过滤器解决「同 ASIN 多卖家」,两者不冲突。
Q3: knockoff 会被亚马逊风控盯上吗?
现象 扩展要读 DOM、注入 CSS 隐藏节点,长期高频使用会不会触发反爬?
根因 knockoff 是纯前端 DOM mutation,不参与任何 XHR 层流量伪造。亚马逊风控系统主要看请求签名、cookie 行为、设备指纹,而不是观察客户端 DOM 变化。你只在自己浏览器里消费数据,服务端侧不存在任何可观测信号,这跟传统爬虫完全不是一个攻击面。
解法 避免「开着 devtools + 频繁刷新搜索页」这种容易被风控策略盯上的用户行为。除此之外,日常使用几乎没有任何账号风险。
Q4: 如何 fork 一份做自己的过滤规则?
现象 开发者想把规则搬到日亚、乐天、eBay,或加更多本地化品牌词。
根因与解法 fork 仓库后,把 selector(如 .s-result-item)改成对应平台的 CSS 选择器即可;把 whitelist 与 blocklist 抽成外部 JSON,再开一个远程列表接口就能做成社区化维护。整体架构只有 DOM 注入、规则匹配、隐藏渲染三块,迁移成本极低。你甚至能把它变成 Firefox / Edge 扩展,WebExtension API 大体一致。
Q5: knockoff 会偷偷上传我的浏览数据吗?
现象 隐私敏感用户担心扩展回传历史记录、订单页内容。
根因 仓库源码与 manifest 显示,没有任何 analytics、tracking 或远端上报逻辑,所有规则全部打包在扩展内。即便你登录账号、查看订单,knockoff 也只读取搜索结果页的 title 字段,其他 DOM 一概不碰。这点对当下 chrome web store 上那些「免费但悄悄卖数据」的扩展形成鲜明对比。
解法 如果仍不放心,开浏览器的隐私窗口加载扩展,或在 chrome://extensions 里只授予「读取和更改你在该网站的数据」这一项最小权限。
Sources
- GitHub Trending 2026-07-10 · Shpigford/knockoff
- r/ChromeExtensions · “Block Amazon knockoff brands client-side”
- Hacker News · “When platform filters fail, users script their own”
- 项目仓库:github.com/Shpigford/knockoff