realfakene.ws is a joke started during the first term of Donald Trump's unique American leadership. As he has/had a propensity for posting foreign and domestic policy on social media at all hours, we thought it might be comical to ingest the bulk of his social media posts and horf out some Markov chains that vaguely identified as English Sentences. After the 2020 election, rfn was shutdown, but seeing as we're back in the saddle after 2024, it has been resurrected. https://realfakene.ws
  • HTML 55.9%
  • Python 32.5%
  • Witcher Script 4.1%
  • CSS 3.5%
  • Shell 2.3%
  • Other 1.7%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-04 12:14:12 -04:00
api fixing a typo 2026-10-04 12:14:12 -04:00
bskybot@cf68da65aa bluesky post bot 2025-05-15 15:14:24 -04:00
error adding some selfhosted analytics code 2025-02-26 16:03:10 -05:00
static i forgor to update sources.txt 2026-10-04 10:57:36 -04:00
templates adding more favicons for OpenGraph stuff 2025-06-26 11:40:28 -04:00
trump-truth-social-archive@40a8834237 2026-10-01 truth updates and a time interview 2026-10-04 10:53:29 -04:00
whoops not quite initial state, but close enough 2025-01-20 18:52:56 -05:00
.gitignore bluesky post bot 2025-05-15 15:14:24 -04:00
.gitmodules bluesky post bot 2025-05-15 15:14:24 -04:00
.lasttruth 2026-10-01 truth updates and a time interview 2026-10-04 10:53:29 -04:00
bot.py bluesky post bot 2025-05-15 15:14:24 -04:00
clean.sh adding new sources in the wrong branch; fixing up the cleaning system to work on both truth and text 2025-02-28 13:49:52 -05:00
cleansource.py Got TruthSocial parsing to work 2025-02-27 21:01:55 -05:00
quote.bak im so tired 2025-02-14 17:12:15 -05:00
rdt_tweets.txt not quite initial state, but close enough 2025-01-20 18:52:56 -05:00
README.md oh right theres a bsky bot. 2026-10-04 11:17:18 -04:00
realfakene.ws not quite initial state, but close enough 2025-01-20 18:52:56 -05:00
rfn-api.service Adding Readme, systemd service file. 2025-02-28 09:07:20 -05:00
UPDATE.md adding UPDATE.md to remind myself how to pull in new noise 2026-10-04 11:05:54 -04:00

Real Fake News

realfakene.ws is a joke started during the first term of Donald Trump's unique American leadership. As he has/had a propensity for posting foreign and domestic policy on social media at all hours, we thought it might be comical to ingest the bulk of his social media posts and horf out some Markov chains that vaguely identified as English Sentences. After the 2020 election, rfn was shutdown, but seeing as we're back in the saddle after 2024, it has been resurrected.

Important bits

We picked Markovify for the chain generation, not for a specific reason, but it absolutely does work, which is important. The whole thing runs as a Flask app, behind both gunicorn and nginx as a reverse proxy.

You'll need sqlite for database stuff, we might eventually refactor for postgres or mysql at some point, but probably don't expect that any time soon. Otherwise, a SystemD service file is included because that's what our server (and our admin) prefers.

Before starting this for the first time, you'll want to initialize the sqlite db in the api folder, probably as follows:

sqlite3 aFile.db "CREATE TABLE quotes (id integer primary key, hash varchar(64) not null, quote text not null, real bool default 0);"

Sources

Ok so here's the fun part: random people on the internet have done the work to get both all of the djt tweets and (very recently) truth social posts into a pair of github repos (see the bottom of static/sources.txt). For interviews, press gaggles, speeches, and rallies, Factba.se is used and then manually parsed. One day, we might automate this, but don't expect that any time soon (or, frankly, ever); we've regex'd the absolute nuts off of this and it perpetually sucks.

Cleaning up the truth posts is currently mostly automated, but that's a work in progress still. Effectively, the only part not done by script is actually importing the new entries into the quote.db.

Part of the "cleaning" process is removing links in posts, as well as posts that are JUST 'Media post's, because this is a basically text only website tyvm and we do not entirely trust whatever is being posted from those accounts to be something we want to have represented anywhere.

Some sources are distinctly shortened from the actual source; this is just because we've removed duplicate lines (sometimes there are 12-20 different lines that ONLY read "Hello" or "Thank you" or [various campaign words], so... yea).

But Wait, There's More!

There's also code here for a Bluesky bot that posts random ... uh... news items? that include links back to the quote in question. Currently live, it can be found @realfakene.ws.

Contact

If you desperately need to ask a question about this repo, I guess contact help@oddte.ch and put RealFakeNe.ws in the subject.