proxy-based Twister client written with react-js
Go to file
Julian Steinwachs 485acfa969 Merge pull request #3 from deacix/master
supervisord implemented
2017-04-17 08:59:44 +02:00
build fix bug when navigating between profiles 2016-03-12 10:34:00 +01:00
css wysiwyg markout, yey 2016-01-28 20:08:52 +01:00
docker supervisord implemented 2017-03-19 00:53:35 +01:00
fonts dont user broken wysiwyg post editor 2016-02-29 17:07:10 +01:00
img cache is now automatically trimmed by 2 weeks 2015-05-17 19:08:10 +02:00
jsx Fixed spelling error 2016-08-15 16:23:15 -04:00
screenshots new screenshots 2015-05-31 18:49:59 +02:00
tests dont user broken wysiwyg post editor 2016-02-29 17:07:10 +01:00
.gitignore supervisord implemented 2017-03-19 00:53:35 +01:00
index.html edit profile and avatar 2016-01-12 14:17:40 +01:00
npm-shrinkwrap.json added npm-shrinkwrap.json 2017-04-01 12:44:33 +02:00
package.json export key 2016-01-27 09:13:32 +01:00
README.md Fixed typos and spelling errors 2016-08-15 16:31:25 -04:00

twister-react

A drop-in-replacement for twister-html written in React using Bootstrap with the paper theme.

It builds upon twister-lib-js which enables browser-side-cryptography meaning that the private twister key is generated in the browser and does not leave the browser. It is meant to be used together with a remote twister-proxy that is accessible from anywhere enabling a normal web-like usage. Because of browser-side-cryptography communication is secured end-to-end and the twister-proxy is highly exchangeable.

twister-react is currently in alpha phase. Use at your own risk.

Missing Features

  • User Search
  • Trending Hashtags
  • Direct Messages
  • Promoted Posts

Publicly hosted instances (use at your own risk)

Url Admin Location Note
https://twister-proxy.tschaul.com/index.html @tschaul Germany No guaranteed uptime, often used for testing purposes

Your proxy is missing? Drop me a line or make a pull request!

Setup as hosted by a public twister proxy (ubuntu 15.10)

First we install the basic dependecies.

apt-get update
apt-get install -y git curl nodejs nodejs-legacy npm
curl -sSL https://get.docker.com/ | sh

Now we pull twister-core.

git clone https://github.com/miguelfreitas/twister-core.git

mkdir ~/.twister
echo -e "rpcuser=user\nrpcpassword=pwd\nhtmldir=~/twister-react" > ~/.twister/twister.conf
chmod 600 ~/.twister/twister.conf

Next pull this repo and twister-proxy.

git clone https://github.com/Tschaul/twister-react.git
git clone https://github.com/digital-dreamer/twister-proxy.git

npm install -g forever

We setup twister-proxy and pull the settings from this repo.

cd twister-proxy
npm install
curl https://raw.githubusercontent.com/Tschaul/twister-react/master/docker/settings.json > settings.json
cd ..

Next we need the start script from this repo and set the correct rights.

curl https://raw.githubusercontent.com/Tschaul/twister-react/master/docker/run.sh > run.sh
chmod 777 run.sh 

For https to work we need certificates.

git clone https://github.com/letsencrypt/letsencrypt

./letsencrypt/letsencrypt-auto certonly --standalone

letsencrypt will ask you to provide an email address and your domain. It will then save your certificates in /etc/letsencrypt/live/example.com/ where example.com is your domain.

For last step we have to tell twister-proxy where the certificates are.

nano twister-proxy/settings.json 

Inside "Server" replace example.com by your domain in a the "ssl_*" properties. Press Crtl+O to save and then Crtl+X to exit.

Now we can start it up. When starting for the first time it will pull the twister docker-image.

./run.sh

twisterd now needs a while (10min to 1h depending on your connection) to download the blockchain. You can check top to see if twisterd is still busy. If it's not busy anymore (cpu at around 10%) it's ready to use. Go to https://example.com/index.html where example.com is your domain and start twisting :-).

To stop twisterd and the proxy, run:

killall twisterd
killall nodejs

If twister-proxy is hanging itself regularly try updating nodejs to a newer version:

http://askubuntu.com/questions/426750/how-can-i-update-my-nodejs-to-the-latest-version

Screenshots

Alt text

The home screen with two click account switching

Alt text

The new post modal

Alt text

The profile page on the posts tab

Alt text

The profile page on the following tab

Alt text

The profile page on the mentions tab

Alt text

The conversation page