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
sh
git clone https://github.com/RealBorg/Ninkilim.git
gh repo clone RealBorg/Ninkilim
sh
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
sh
adduser ninkilim
sudo -u postgres createuser -d ninkilim
sudo -u ninkilim createdb ninkilim
sudo -u ninkilim psql -f ninkilim.sql ninkilim
sh
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
sh
a2enmod headers proxy proxy\_http ssl
apache
<VirtualHost *:80>
ProxyPreserveHost On
RequestHeader set X-Forwarded-Port "80"
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
</VirtualHost>
<VirtualHost *:443>
ProxyPreserveHost On
RequestHeader set X-Forwarded-Port "443"
RequestHeader set X-Forwarded-Proto "https"
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
</VirtualHost>
sh
mkdir root/articles
mkdir root/articles/title
vi root/articles/title/en.md
- Open http://localhost:3000/articles/title?lang=en
sh
wget -o root/static/sitemap-1.xml https://<yoursite>/sitemap/1
wget -o root/static/sitemap-2.xml https://<yoursite>/sitemap/2
...