-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Spam in the Twitter feeds?! #3437
Comments
Ditto. I've been seeing exactly the same thing that OP describes. Today for example, my twitterBridge 'ProtonSupport' subscription returned about a dozen posts totally unrelated to Proton Support's twitter account. The weird part was that one was was timestamped Oct 2022, the rest timestamped Dec 2022. |
If this happens across rss-bridge instances it has to be coming from twitter itself. |
Ok then clearly it's not just my setup, good to know at least that much! |
Me five. Got one. Here's the info from the "plain text" generation. Spam article: ` [2] => Array 😍A look of styled-down elegance. The Relaxed Fit Denim Jacket, with its flattering boxy silhouette and vibrant color scheme, offers a welcome dose of comfort. 🛒Get it👉 holisale.co/E7866 pic.twitter.com/aAyNA2UvSO
` Here's a regular item: ` [3] => Array Knocked it out during my lunch break 😁 My day job is finishing Ghost of the Badlands this summer.
` Nothing is jumping out at me. Looking at a cURL request to the spam item URI, it sets some cookies and redirects, but when I put it in a web browser, I get 601 requests and it ends up redirecting me to the spam tweet of https://twitter.com/holisaleshop/status/1669569459022082048. Unfortunately, I don't have time to parse through all the network traffic and application JS to figure out where it's getting redirected to find a way to distinguish real tweets from ads. Here's my HAR file. |
I just feel the need to add here that the problem is growing fast. A few weeks ago I'd just see a couple of odd spam here and there. Between yesterday and today I've had several hundred spam posts showing up in my reader. This is starting to make it rather impossible to use the bridge. |
can u produce an example on https://rss-bridge.org/bridge01/ ? |
@dvikan I'm attempting to. I've just subscribed to a couple of feeds through there so now I'll have to wait and see. |
@dvikan It appears that your instance doesn't get the spam posts!! Wonder why that is. |
I've been seeing these for a while in my feeds. It seems to happen in bursts. Sometimes I get the Tweets as expected, while other times I get a burst of ads. They don't seem to correspond to real Tweets either; it's not like the real Tweet is being replaced with an ad. I am looking now at a user that tweeted once today, but I received several of these ad posts. The timestamp on them also range throughout the month, even though they all arrived today, and I have been subscribed to them for some time. |
I've also been getting this spam in my newsboat feeds. I think the ads are only shown occasionally though, I haven't gotten them to show up in rss-bridge itself yet. |
Just FYI it seems to me that the spam tweets are promoted tweets. You may actually see the same tweets on the user's twitter profile if you browser without an adblock. |
Getting a lot of them, the same ones too for multiple feeds. |
I've seen this too on one account I follow. Some speculation though... |
Maybe Twitter is causing trouble for those of us not going through "proper channels" to get API access these days? |
Well, this is likely the end of the Twitter Bridge anyways. https://www.theverge.com/2023/6/30/23779764/twitter-blocks-unregistered-users-account-tweets |
if anyone can produce a url i might be able to remove the spam. im unable to reproduce locally so i cant inspect the json im refreshing these but unable to see anything: |
It looks like the feed randomly removes these entries, my current feed does not have it. Here's an example url: https://twitter.com/Kabajisan/status/1673695794011193344 see #3437 (comment) |
I haven't looked at the code, but don't Twitter ads have a specific CSS class bit of code the script could detect and filter out? |
@adegans One issue I saw is that the ads are embedded as regular tweets in the feed--with the same username. It's only through JS that you can get to the "real" user (the ad buyer) after loading the tweet. |
Oh that's hard to filter then... Bummer. |
Well the api is now broken anyways, but just in case: |
Promotedtweet is for sticky tweets I think. |
It doesn't. I already tried. Had to actually check that the tweet's author matches the timeline author and filter out if it doesnt match. But like you said, it doesnt really matter much now. |
Is that filter part of your feed reader or rss-bridge? |
Now that the twitter feeds are back for some reason (thank you threads?), I'm not seeing spam |
Ok, I'm now seriously confused. On the public instance, which previously didn't have the spam problem, I can now once again see feed items. On my own instance, which has the latest version of the bridge, I used to get spam, and now I only get the error below. Why is that? What's the difference? Can someone explain this to me? [Bridge returned error 0! (19553)] Details Context |
EDIT: rss-bridge runs Also I have some local uncommitted changes running on rss-bridge.org: diff --git a/bridges/TwitterBridge.php b/bridges/TwitterBridge.php
index befb8064..9d53e2e2 100644
--- a/bridges/TwitterBridge.php
+++ b/bridges/TwitterBridge.php
@@ -7,7 +7,7 @@ class TwitterBridge extends BridgeAbstract
const API_URI = 'https://api.twitter.com';
const GUEST_TOKEN_USES = 100;
const GUEST_TOKEN_EXPIRY = 10800; // 3hrs
- const CACHE_TIMEOUT = 300; // 5min
+ const CACHE_TIMEOUT = 60 * 60 * 3;
const DESCRIPTION = 'returns tweets';
const MAINTAINER = 'arnd-s';
const PARAMETERS = [
@@ -223,6 +223,7 @@ EOD
// Try to get all tweets
switch ($this->queriedContext) {
case 'By username':
+ // return;
$cache = RssBridge::getCache();
$cache->setScope('twitter');
$cache->setKey(['cache']);
@@ -234,11 +235,19 @@ EOD
$screenName = trim($screenName);
$screenName = ltrim($screenName, '@');
- $data = $api->fetchUserTweets($screenName);
+ try {
+ $data = $api->fetchUserTweets($screenName);
+ } catch (HttpException $e) {
+ if ($e->getCode() === 429) {
+ return;
+ }
+ throw $e;
+ }
break;
case 'By keyword or hashtag':
+ return;
// Does not work with the recent twitter changes
$params = [
'q' => urlencode($this->getInput('q')),
@@ -250,6 +259,7 @@ EOD
break;
case 'By list':
+ return;
// Does not work with the recent twitter changes
$params = [
'slug' => strtolower($this->getInput('list')),
@@ -261,6 +271,7 @@ EOD
break;
case 'By list ID':
+ return;
// Does not work with the recent twitter changes
$params = [
'list_id' => $this->getInput('listid'), |
@dvikan Well this certainly fixed something, thank you! It appears I can now see new feed items again. I do still get this error here and there: Bridge returned error 429! (19554) And I've got a single spam post so far. |
in summary id say this is ads from twitter |
Describe the bug
I'm having a very strange issue for several weeks now. My Twitter feeds show items that don't belong, posts that were never posted by the specific account, and they seem an awful lot like advertisements, like spam. The oddest part is, when I try looking at the feed source directly, I don't see those posts in there. At first I thought it must have something to do with my reader, but after testing it out with a couple of other readers and seeing exactly the same spam, I figured it's the feed. Especially since my RSS-Bridge Twitter feeds are the only ones that do this. Other RSS-Bridge feeds don't have this issue either. It makes no sense but there it is.
To Reproduce
Subscribe to, for instance, @PaulStamets via the latest Twitter bridge.
Screenshots
Where the spam shows up:
And the account it actually belongs to, which I see when I click:
The text was updated successfully, but these errors were encountered: