twister HTML + Javascript User Interface
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
twisterarmy 712bfc1e3e implement connection info 1 week ago
.github remove deprecated data 7 months ago
css implement connection info 1 week ago
img update client icon 7 months ago
js implement connection info 1 week ago
licenses add group messages icon 9 years ago
sound add fade out effect to 485837 3 years ago
theme_calm implement optional posts translation API 2 years ago
theme_nin implement connection info 1 week ago
theme_nin_night implement connection info 1 week ago
theme_nin_original implement connection info 1 week ago
theme_original/js move theme-specific JS to theme-related files 10 years ago
AUTHORS fix typo in AUTHORS 9 years ago
LICENSE update license date 7 years ago fix official link address 2 years ago
abort.html update client icon 7 months ago
home.html fix default post-area-remaining value 3 weeks ago
index.html update client icon 7 months ago
network.html implement connection info 1 week ago
options.html update client icon 7 months ago
tmobile.html update client icon 7 months ago
twister-crypto-test.html get javascript crypto code into repository (not used though) 10 years ago


HTML interface for twister core.

See git repo here. Official (currently unmaintained) version

Stable releses available on this page.

To use development version, clone this repo under ~/.twister/html like this:

git clone ~/.twister/html

If you're on Mac OS X — clone to ${HOME}/Library/Application\ Support/Twister/html instead of ~/.twister/html

Switch the edition

TA Edition includes official Blaster updates and alternative features. To switch it, use followig commands:

git pull && git checkout twisterarmy

If you want to switch blaster branch:

git checkout blaster

If the master branch:

git checkout master

Get updates:

git pull


Feel free to fork and send pull requests!

To make it easier for us to accept your patches, please follow the conventional GitHub workflow and keep in mind that your pull requests should have twisterarmy branch as both the origin and target.

  1. After forking, clone your repo:

     rm -rf ~/.twister/html  # in case you already have it cloned from not your repo
     git clone ~/.twister/html
     cd ~/.twister/html
  2. Switch to 'twisterarmy' branch:

     git checkout twisterarmy
  3. CREATE A NEW BRANCH, specific to the branch prefix and fix you're implementing:

     git checkout -b twisterarmy-my-awesome-fix
  4. Make your changes.

  5. Commit and push:

     git commit -m "fix of #12345: bad foobarizer" && git push --set-upstream origin twisterarmy-my-awesome-fix
  6. Now open a pull request from branch 'YOURNICKNAME:twisterarmy-my-awesome-fix' to 'twisterarmy:twisterarmy' on GitHub.

  7. Once the request is accepted, switch back to 'twisterarmy' and track changes in upstream repo:

     git remote add upstream  # this is one-off setup
     git fetch upstream && git checkout twisterarmy
     git merge upstream/twisterarmy  # you should get a fast-forward message here
     git push
  8. Alternatively, make your contribution into the official project:


If you want to add your own translation, edit interface_localization.js like this:

  1. Fork the repo and create a new branch from 'twisterarmy' one:

     git clone ~/.twister/html
     cd ~/.twister/html && git checkout twisterarmy
     git checkout -b Klingon-translation
  2. Add your language to the list of available choices. You should use your ISO code here, it should match what the browser reports. The Klingon ISO is 'tlh', so:

     var knownLanguages = ['en', 'nl', 'it', 'fr', ... , 'ru', 'tlh'];

For multi-region languages, if you want to catch them all, use only the first half (e.g. to match it and it-ch, specify 'it').

  1. Add a new wordset block after existing ones:

     if (preferredLanguage === 'tlh') {
         wordset = {
             'Insults': 'mu\'qaD',
  2. Stage all changes in file interface_localization.js:

     git add interface_localization.js
  3. Commit & push:

     git commit -m 'Klingon translation'
     git push origin Klingon-translation
  4. Then open the pull request from branch 'YOURNICKNAME:Klingon-translation' to 'twisterarmy:twisterarmy' or 'twisterarmy:twisterarmy' on GitHub.

Community support Official support