zedeus/nitter

Tweet Not Found

AaronNybo opened this issue · 19 comments

When opening individual tweets I am getting “Tweet not found”. I verified it on avaialable public instances.

I have the same problem

Was having the same issue but I discovered that the latest docker image is not up to date with the repo. It looks like commit e40c61a fixed the issue but isn't included in the docker image. If you're selfhosting, try building the image instead of pulling.

Was having the same issue but I discovered that the latest docker image is not up to date with the repo. It looks like commit e40c61a fixed the issue but isn't included in the docker image. If you're selfhosting, try building the image instead of pulling.

Was having the same issue. This fixed it. Had to build the image from repo directly instead. Thanks!!

Me too. I just use it to power my RSS reader (QuiteRSS). All Tweets render Ok in the RSS reader - but when trying to open each Tweet in a browser - i.e. in the Nitter web interface, I get the Tweet Not Found error. I'm too dumb to do what is suggested above. Hopefully there is a fix for folks like me (new image or full instructions).

I'm too dumb to do what is suggested above. Hopefully there is a fix for folks like me (new image or full instructions).

To build the image from source, make sure you have cloned the nitter repo and are up to date. If you're using docker compose, you can replace image: zedeus/nitter:latest with

build:
      context: .
      dockerfile: Dockerfile # this is x86, replace this with Dockerfile.arm64 if on arm

If you're using plain docker you can run docker build -t nitter:latest . for x86 or docker build -t nitter:latest -f Dockerfile.arm64 . for arm. Hopefully this helps!

Thanks! - I'm using this: https://github.com/sekai-soft/guide-nitter-self-hosting which was the only thing that worked for me when all broke about 6 months ago, It has been perfect and was easy enough for me to install. I didn't do step 3 in the instructions. So, maybe I'm in the wrong place to ask questions here.

Thanks! - I'm using this: https://github.com/sekai-soft/guide-nitter-self-hosting which was the only thing that worked for me when all broke about 6 months ago, It has been perfect and was easy enough for me to install. I didn't do step 3 in the instructions. So, maybe I'm in the wrong place to ask questions here.

You can still build the image locally. Check if you already have the source code in your folder. It looks like your guide does have you clone the repo so the code could be there inside a folder named "nitter". If the source code isn't there, then in the same directory that your docker compose file is in, run git clone https://github.com/zedeus/nitter/. Now, in your docker compose you should replace image: zedeus/nitter:latest with

build:
      context: ./nitter/
      dockerfile: Dockerfile # this is x86, replace this with Dockerfile.arm64 if on arm

which will make docker build and use the new image when you start up nitter. As far as step 3 goes, nitter will not run without authentication, so if you are able to see tweets in your rss you likely have followed this step. If you have a sessions.jsonl file in your directory with a line that looks like {"oauth_token": "x", "oauth_token_secret": "x"} you have followed step 3.

Zedeus isn’t around to respond in any of our issues, is he?

OK - thanks - I'll be brave and give it a go! Yes, I do have a sessions file with the user/pwd there - so maybe I did do step 3, but I can't remember doing it (and in my Ubuntu session terminal it's not there). No source files in the nitter directory. I think I just created the sessions file myself. All I have are 3 files in the nitter directory. YML JSON ENV files. It's strange how the RSS reader still works perfectly - just that the web interface shows the No Tweet Found message. If I go up 2 levels, I can see the full X Account in my nitter instance. So, for example this works: http://192.168.1.18:8080/Reuters/ but this doesn't for the individual tweet: http://192.168.1.18:8080/Reuters/status/1947509447208620432

Thanks @BobUser432 . Btw, have you seen my issue about authorized tokens?

No issues with tokens - just the Tweet Not Found

I tried it a few times. Stopped and Deleted existing Container (nitter + redis). Installed Git (I'm on Ubuntu). Moved the 3 existing files from nitter directory to another directory. Deleted nitter directory, Create nitter directory, move to that directory. Ran the clone command. Changed the line image: zedeus/nitter:latest to the 3 lines as above. Ran the command: sudo docker compose up -d
Got the error back: yaml: line 7: found character that cannot start any token,
Added my Json file to the directory - reran command, same error.
(this is a VM, so I can revert). Line 7 is the context: line.

Without seeing your docker compose file, I can't tell for sure what is wrong. My guess is that there is an error with the indentation. Yaml only allows spaces for indentation and not tabs. Many editors will replace the tabs with spaces but not all. Try reindenting but instead of using the tab button, use 2 spaces.

Thanks - that worked - I was hand writing the code. And when I copy/pasted the command and that error disappears. But it still fails on yet a different error. It all comes down to the version I'm using. Everytime I use the zedeus version it would always make the container "restart" - ie. fail. I've tried all sorts of combinations. I'm just grateful that I found one that was simple and works (until now) - but still works for my RSS reader. I can post the Yaml file if you want, and appreciate this 1:1 support - but don't want to spoil this thread with my personal issues. The image line in my currently good working container is: image: ghcr.io/sekai-soft/nitter-self-contained

I think we've hijacked the issue already. I just looked at the commit history for the guide you used and found that the guide was pretty different before the latest commit. It looks like it had you create a json file with your username and password instead of generating an oauth token. The normal nitter container will restart itself if it can't authenticate, and to do that it needs a session token which you can generate using this guide from the wiki. The image the guide had you use must've been handling generating a session token itself. I think this would resolve your problem, but if you are happy with your current setup then no worries if you want to stay with that.

:>) Yes! I did exactly this. Ok - I will take a look. I'm grateful that my RSS Reader still works - and that was the main motivator for using Nitter. The Tweet Not Found is an annoyance when opening the Tweet in the web browser. I can live without it. But I hate it when things break, so was trying for the fix. Appreciate your attention to the matter!

@zedeus any plans to update the dockerhub image?

Thanks for the tip, I was pulling my hairs why it does not fetch newest posts. Thanks

Here is my follow up. It's not a fix, but a workaround for my needs.

I asked 2 different programmers to help setup a new instance of Nitter for me - and both couldn't do it (for various reasons). Unless someone here is willing to make me a working VMWare image of Ubuntu desktop with Nitter running on it? (I'd be happy to pay).

But then (after a few months), I had a thought, that maybe my RSS reader could be the fix. I use Nitter as the middleware to feed my RSS reader the Twitter feeds. It still works, and populates the headers of messages, but the body of the message would always just show 'Tweet Not Found'. And what I would do, after the tweet opens in a browser is just manually replace the local URL (192.168.x.x/blahblahblah) with x.com/blahblahblah. Then I realised (only today) that RSS Guard might be able to do this filtering automatically. And Yes! It is very powerful. I couldn't work out the correct format of the filter, so I asked in that forum, and the creator made one for me. Here is that post: martinrotter/rssguard#1884 and now RSS Guard is back to working fine - as a workaround where the body of the Tweet will open up in X and not my local Nitter, but that's Ok for me.