When Twitter was launched in July 2006 there was a chronological timeline and a API which allowed developers to create applications and researchers to analyze what users were posting.
Since then Twitter has replaced the chronological timeline with algorithms deciding which tweets you see and if your tweets are getting seen, has added advertising, restricted freedom of speech and access to it’s API.
Many users have already moved on to other social networks leaving the content they have created behind for X to monetize or have deactivated / deleted their accounts.
Although European GDPR gives the users the right to request a copy of their data and X provides such a download, there is currently not much use for it except to view the archive of your Tweets on your computer.
Ninkilim currently provides the ability to import the data from this archive and display your tweets on your own server / website, thereby removing the restructions placed on the X API by making your content available by a simple and open JSON and XML interface.
In the near future Ninkilim aims to provide the ability to syndicate content from other users using this software and to become a truly decentralized and open source social network.
The software is free and open source, a virtual server costs about $5/month, a domain costs about $15/year, SSL is available for free from letsencrypt.org
git clone https://github.com/RealBorg/Ninkilim.git
gh repo clone RealBorg/Ninkilim
apt-get install libcatalyst-perl \
\
libcatalyst-devel-perl \
libcatalyst-model-dbic-schema-perl \
libcatalyst-plugin-configloader-perl \
libcatalyst-plugin-session-perl \
libcatalyst-plugin-session-state-cookie-perl \
libcatalyst-plugin-session-store-dbic-perl \
libcatalyst-plugin-static-simple-perl \
libcatalyst-view-json-perl \
libcatalyst-view-tt-perl \
libdatetime-format-pg-perl \
libdbd-pg-perl \
libdbix-class-schema-loader-perl \
liblingua-identify-perl \
libtext-multimarkdown-perl \
postgresql starman
adduser ninkilim
sudo -u postgres createuser -d ninkilim
sudo -u ninkilim createdb ninkilim
sudo -u ninkilim psql -f ninkilim.sql ninkilim
unzip twitter-\*.zip
cp data/account.js data/profile.js data/tweets.js data/tweets.js data/tweets-part\*.js data/note-tweet.js Ninkilim/root
cp -r data/tweets\_media Ninkilim/root/static
sudo -u ninkilim Ninkilim/scripts/ninkilim\_test.pl /import
sudo -u ninkilim Ninkilim/scripts/ninkilim\_server.pl -f
a2enmod headers proxy proxy\_http ssl
<VirtualHost *:80>
ProxyPreserveHost On
set X-Forwarded-Port "80"
RequestHeader / http://localhost:3000/
ProxyPass / http://localhost:3000/
ProxyPassReverse</VirtualHost>
<VirtualHost *:443>
ProxyPreserveHost On
set X-Forwarded-Port "443"
RequestHeader set X-Forwarded-Proto "https"
RequestHeader / http://localhost:3000/
ProxyPass / http://localhost:3000/
ProxyPassReverse</VirtualHost>
mkdir root/articles
mkdir root/articles/title
vi root/articles/title/en.md
wget -o root/static/sitemap-1.xml https://<yoursite>/sitemap/1
wget -o root/static/sitemap-2.xml https://<yoursite>/sitemap/2
...