|
! Facebook feed cleanup |
|
! Note: uBlock Annoyances may already catch many Suggested posts. |
|
|
|
! Suggested posts labelled near the post header |
|
www.facebook.com##:is([aria-posinset],[aria-describedby]:not([aria-posinset])) div:not(:only-child)>div:only-child>div:only-child>div:first-child[class=""]>div:not([data-0]):has-text(/^Suggested/):upward([aria-posinset],[aria-describedby]:not([aria-posinset])):style(height: 0 !important; overflow: hidden !important;) |
|
! Suggested posts without a clear label, usually with Follow/Join buttons |
|
www.facebook.com##:is([aria-posinset],[aria-describedby]:not([aria-posinset])) :is(h3,h4) [role=button]:has-text(/Follow|Join/):upward([aria-posinset],[aria-describedby]:not([aria-posinset])):style(height: 0 !important; overflow: hidden !important;) |
|
! Backup rule for posts that contain "Suggested for you" |
|
www.facebook.com##:is([aria-posinset],[aria-describedby]:not([aria-posinset])):has-text(Suggested for you):style(height: 0 !important; overflow: hidden !important;) |
|
|
|
! Feed cards Facebook tends to insert between normal posts |
|
www.facebook.com##:is([aria-posinset],[aria-describedby]:not([aria-posinset])):has([href="/friends/"]):style(height: 0 !important; overflow: hidden !important;) |
|
www.facebook.com##:is([aria-posinset],[aria-describedby]:not([aria-posinset])):has([href="/groups/discover/"]):style(height: 0 !important; overflow: hidden !important;) |
|
www.facebook.com##:is([aria-posinset],[aria-describedby]:not([aria-posinset])):has([aria-label="Reels"]):style(height: 0 !important; overflow: hidden !important;) |
|
www.facebook.com##:is([aria-posinset],[aria-describedby]:not([aria-posinset])):has([aria-label="Suggested pages"]):style(height: 0 !important; overflow: hidden !important;) |
|
|
|
! Marketplace ad card |
|
facebook.com##[aria-label*="Marketplace"] object > a[href^="/ads/"] > span:not(:empty):upward(11) |
|
|
|
! Sidebar clutter, updated Apr 2026 |
|
www.facebook.com##div[role=complementary] div[data-visualcompletion=ignore-late-mutation] |
|
www.facebook.com##div:has(> * > * > * > * > * > * > * > * > * > * > span:has-text(/^Channels$/)) |
|
www.facebook.com##div:has(> * > * > * > * > * > * > * > * > * > * > span:has-text(/^Contacts$/)) |
|
|
|
! Obfuscated ad posts, updated Jul 2026 |
|
facebook.com##div[aria-posinset]:has(span:has(> span:has-text(/^A$/) ~ span:has-text(/^d$/)):not(:has(> span:not(:has-text(/^.$/))))) |
|
|
|
! GraphQL cleanup for engagement-style inserts |
|
!#if cap_html_filtering |
|
||www.facebook.com/api/graphql/$xhr,replace=/\{"brs_content_label":[^\n]+?"category":"ENGAGEMENT[^\n]+?"cursor":"[^"]+"\}/{}/g |
|
!#else |
|
www.facebook.com##+js(trusted-replace-xhr-response, /\{"brs_content_label":[^\n]+?"category":"ENGAGEMENT[^\n]+?"cursor":"[^"]+"\}/g, {}, /api/graphql) |
|
!#endif |
|
|
|
! Reddit |
|
! Hide the advertise button |
|
reddit.com##span.contents[data-part="advertise"] |
|
|
|
! Twitter/X timeline cleanup |
|
! Hide injected timeline cards, but keep actual posts and loading states |
|
twitter.com,x.com##:is([aria-label="Timeline: Your Home Timeline"],[aria-label^="Timeline:"][aria-label$="posts"]) div[style^="transform: translateY"][style*="position: absolute;"]:not(:has(article, [href^="/i/status/"], [role="progressbar"],>div>button)) |
|
|
|
! Tweet action clutter |
|
twitter.com,x.com##article [role=group] [href$="/analytics"]:upward(div:not(:only-child)) |
|
twitter.com,x.com##[aria-label="Timeline: Conversation"] [href*="/status/"] ~ span |
|
! Remove only the Like/Retweet numbers, not the buttons |
|
twitter.com,x.com##[data-testid="retweet"] [data-testid="app-text-transition-container"], [data-testid="like"] [data-testid="app-text-transition-container"] |
|
|
|
! Retweet marker helper; left disabled for quick testing |
|
! twitter.com,x.com##[aria-label^="Timeline:"] [data-testid="cellInnerDiv"]:has([d^="M4.75 3.79l4.603"]):not(:has([data-testid="unretweet"])):style(border: 1px dashed #FEFEF533 !important) |
|
|
|
! Profile/post labels and badges |
|
twitter.com,x.com##[src$="/verified_stroke_1.png"]:upward(div:not(:empty)+div:last-of-type):style(border: dotted 2px grey !important;) |
|
|
|
! Conversation view suggestions and hidden replies |
|
twitter.com,x.com##[aria-label="Timeline: Conversation"] :is([data-testid="cellInnerDiv"]:has(h2:not(:only-child)), [data-testid="cellInnerDiv"]:has(h2:not(:only-child))~div) |
|
twitter.com,x.com##[aria-label="Timeline: Conversation"] [data-testid="cellInnerDiv"] article [role="button"]:not([aria-label]):upward([data-testid="cellInnerDiv"]) |
|
|
|
! Sidebar clutter |
|
twitter.com,x.com##[aria-label="Get Verified"] |
|
twitter.com,x.com##[data-testid="sidebarColumn"] [data-testid="placementTracking"]:last-child:upward(1) |
|
twitter.com,x.com##[data-testid="sidebarColumn"] [href="/i/topics/picker/home"]:upward(section) |
|
twitter.com,x.com##[aria-label$="trending now" i] |
|
twitter.com,x.com##[aria-label="who to follow" i]:upward(1) |