jev-adblock
GPL-3.0 Chrome MV3 ad blocker that combines community filter rules with Jev semantic judgments on candidate elements.
Overview
Jev Ad Block by lingengyuan is a Chrome Manifest V3 extension, documented in Chinese, that layers semantic judgment on top of conventional blocking. Network rules block ad requests using declarativeNetRequest rulesets built from hand-written ad networks plus EasyList China and CJX's Annoyance List. Detection runs in layers: strong CSS markers, community cosmetic rules, site detectors and labels, overlay geometry, and scored candidates, with the last three sent to Jev for a final call. Overlay judgment distinguishes necessary UI such as login, consent and payment from ads.
High-confidence candidates are hidden optimistically and restored if Jev says they are not ads; verdicts are cached per site and slot for seven days. Defaults include an ad threshold of 0.75, a main-content guard of 0.55 and an hourly budget of 30,000. Without a key or on failures it falls back to local rules. The README reports batches of 1 and 64 candidates taking 364 ms and 406 ms. Candidate text and features may be sent to TypeSafe, but not page URLs or titles. It is GPL-3.0 licensed with unit tests and a ruleset linter.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Is this candidate element an ad?(inferred) | yes · no |
| Yes / no | Is this element part of the main content (guard against hiding it)?(inferred) | yes · no |
How it works
- Network rules block known ad requests
- Content scripts find candidates through layered detectors
- Candidates are sent to Jev in batches
- Hide above the 0.75 ad threshold, guarding main content at 0.55
- Cache verdicts for 7 days; fall back to local rules on failure
Strengths
- Works without a key using community rules
- Optimistic hiding with automatic restore
- Batches of 64 candidates in about 406 ms per the README
- Privacy: no page URLs or titles sent
Caveats
- Documentation in Chinese
- Candidate text sent to TypeSafe may include personal data
Getting started
`npm run build`, then load the dist/ folder unpacked in chrome://extensions and add a TypeSafe key in settings.At a glance
- Type
- Project
- Status
- beta
- Language
- JavaScript
- Runtime
- Chrome extension (MV3)
- Has code
- yes
- Has tests
- yes
- License
- GPL-3.0
Use cases and integrations
How curated lists describe it
Chrome MV3 ad blocker that uses Jev (TypeSafe System One) to semantically judge…
wh000wh000/awesome-jev-live
Frequently asked questions
How is it different from the other jev-adblock?
It combines community filter lists and network rules with Jev, rather than relying on Jev alone.
Does it work without an API key?
Yes, using local rules, network blocking and CSS hiding.
What data is sent to Jev?
Candidate text up to 240 characters, element features and outbound domains, not page URLs or titles.
Related projects
Privacy-first X filtering extension with local keyword and account rules, plus an optional Jev second pass on replies no rule matched.
PluginproductionChrome extension that asks Jev, sentence by sentence, whether text is what the reader came for and strikes out the filler.
Browser extensionproductionJavaScriptBrowser extension that filters your X timeline by plain-language rules, with a decision model like Jev scoring every post by default.
Browser extensionproductionTypeScriptChrome extension page guide whose small typed decisions (request type, element to click, match or not) use Jev or local Laya.
ProjectbetaJavaScriptChrome extension that labels Weibo, Threads and X posts by topic and expression style using Jev and your own label dictionary.
Browser extensionbetaTypeScriptChrome extension that sorts Hacker News comments into user-defined buckets with one Jev Choice call per comment.
Browser extensionbetaJavaScript