Distributed Open Source twitter and social media message search server that anonymously collects, shares, dumps and indexes data http://api.loklak.org
Switch branches/tags
Nothing to show
Clone or download
Orbiter introduces noio
if noio = true then an elasticsearch index is not written
This is to be tested on small devices like RPi
Latest commit 82a9f4e Nov 15, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
.bluemix Fixes #1416: Deprecated Apache Ant in bluemix one click (#1417) Aug 12, 2017
.github Fixes #865 Enforces strict rules checklist while sending pull requests Nov 14, 2016
.settings Update Master branch (#1543) Oct 3, 2017
.utility Fix #1524: Remove deploy for (#1525) Sep 10, 2017
bin Fix #1438: Add latest commit details to index page (#1447) Aug 15, 2017
conf introduces noio Nov 14, 2018
docs Fixes #1630: Broken link in architecture.md Oct 5, 2018
gradle/wrapper Update Gradle wrapper to 4.2.1 (#1545) Oct 9, 2017
html Fixes #1558: Added link to privacy page of loklak in the footer of 'a… Dec 15, 2017
installation Fixed two small typos Sep 12, 2016
kubernetes Optimize dockerfiles (#1609) Jul 12, 2018
res Gradle: Generate a usable JAR file with dependencies (#1006) Jan 17, 2017
src/org introduces noio Nov 14, 2018
ssi added server-side-includes and moved common code snippets from html to Jun 10, 2016
test refactoring - all ir classes in one place Nov 14, 2018
.classpath Update Master branch (#1543) Oct 3, 2017
.editorconfig Fix #1208: Add .editorconfig (#1209) Jun 1, 2017
.flake8 Add flake8 and fix whitespace problems Nov 1, 2016
.gitignore Fixes #1585: Update gitignore file and fix QuoraProfileScraperTest er… May 12, 2018
.project updated eclipse project to use gradle file to set up build Feb 12, 2017
.travis.yml Fixes #1578: Cache dependencies to speed up builds on Travis CI (#1579) Apr 19, 2018
.yaydoc.yml Fixes #1503 Fixed markdown issues for yaydoc (#1504) Aug 26, 2017
Dockerfile Optimize dockerfiles (#1609) Jul 12, 2018
LICENSE Initial commit Mar 4, 2015
Procfile Server uses the PORT environment variable if available Feb 7, 2016
README.md Fixes #1618: Correct master branch's heroku deployment link (#1619) Jul 24, 2018
app.json Fixes #1396: Updated the buildpacks for Scalingo and Bluemix (#1397) Aug 5, 2017
azuredeploy.json Fixes #1431: Added Azure one click deploy (#1434) Aug 20, 2017
azuredeploy.parameters.json Fixes #1431: Added Azure one click deploy (#1434) Aug 20, 2017
build.gradle enhanced concurrency for http client and upgraded client library Nov 13, 2017
build.xml Deprecation of Apache Ant (#1025) Feb 12, 2017
cloud9-setup.sh Deprecation of Apache Ant (#1025) Feb 12, 2017
docker-cloud.yml Fixes #1469: Updated docker image (#1470) Aug 18, 2017
docker-compose.yml Docker: Consistent Volume Path Apr 1, 2017
gradlew Update Gradle wrapper to 4.2.1 (#1545) Oct 9, 2017
gradlew.bat Add Gradle Wrapper Dec 24, 2016
manifest.yml Fixes #1396: Updated the buildpacks for Scalingo and Bluemix (#1397) Aug 5, 2017
metadata.json Fixes #1431: Added Azure one click deploy (#1434) Aug 20, 2017
scalingo.json Fixes #1396: Updated the buildpacks for Scalingo and Bluemix (#1397) Aug 5, 2017
settings.gradle Fixes #870 - Declare project name for Gradle Nov 30, 2016
system.properties added java 1.8 support hint for heroku and scalingo May 24, 2016



Join the chat at https://gitter.im/loklak/loklak Docker Pulls Percentage of issues still open Average time to resolve an issue Twitter Twitter Follow

Development: Build Status Master: Build Status

loklak is a server application which is able to collect messages from various sources, including twitter. The server contains a search index and a peer-to-peer index sharing interface. All messages are stored in an elasticsearch index.

Automatic deployments from GitHub are available for testing:

'Lok Lak' is also a very tasty Cambodian stir-fry meat dish (usually beef) with a LOT of fresh black pepper. If you ever have the chance to eat Beef Lok Lak, please try it. I hope not to scare vegetarians with this name, currently I am one as well.


Please join our mailing list to discuss questions regarding the project: https://groups.google.com/forum/#!forum/opntec-dev

Our chat channel is on gitter here: https://gitter.im/loklak/loklak

Why should I use loklak?

If you like to be anonymous when searching things, want to archive tweets or messages about specific topics and if you are looking for a tool to create statistics about tweet topics, then you may consider loklak. With loklak you can:

  • collect and store a very, very large amount of tweets
  • create your own search engine for tweets
  • omit authentication enforcement for API requests on twitter
  • share tweets and tweet archives with other loklak users
  • search anonymously on your own search portal
  • create your own tweet search portal or statistical evaluations
  • use Kibana to analyze large amounts of tweets for statistical data. Tweets analytics with Kibana example.

How do I install loklak: Download, Build, Run

Deploy Deploy on Scalingo Deploy to Bluemix Deploy to Docker Cloud Deploy to Azure

At this time, loklak is not provided in compiled form, you easily build it yourself. It's not difficult and done in one minute! The source code is hosted at https://github.com/loklak/loklak_server, you can download it and run loklak with:

> git clone https://github.com/loklak/loklak_server.git
> cd loklak_server
> ./gradlew build

This command may give an error while building like Unable to locate tools.jar. It means that there is no java in your system or JAVA_HOME Environment Variable is not set. Refererence to fix it and run ant again.

> bin/start.sh

After all server processes are running, loklak tries to open a browser page itself. If that does not happen, just open http://localhost:9000; if you made the installation on a headless or remote server, then replace 'localhost' with your server name.

To stop loklak, run: (this will block until the server has actually terminated)

> bin/stop.sh

A self-upgrading process is available which must be triggered by a shell command. Just run:

> bin/upgrade.sh

Where can I download ready-built releases of loklak?

Nowhere, you must clone the git repository of loklak and build it yourself. That's easy, just do

  • git clone https://github.com/loklak/loklak_server.git
  • cd loklak
  • then see above ("How do I run loklak")

How do I install loklak with Docker?

To install loklak with Docker please refer to the loklak Docker installation readme.

How do I deploy loklak with Heroku?

You can easily deploy to Heroku by clicking the Deploy to Heroku button above. To install loklak using Heroku Toolbelt, please refer to the loklak Heroku installation readme.

How do I deploy loklak on Google Cloud with Kubernetes?

To install loklak on Google Cloud with Kubernetes, please refer to the loklak Google Cloud with Kubernetes installation readme.

How do I deploy loklak with cloud9?

To install loklak with cloud9 please refer to the loklak cloud9 installation readme.

How do I setup loklak on Eclipse?

To install loklak on Eclipse, please refer to the loklak Eclipse readme.

How do I run loklak?

  • build loklak (you need to do this only once, see above)
  • run bin/start.sh
  • open http://localhost:9000 in your browser
  • to shut down loklak, run bin/stop.sh

How do I analyze data acquired by loklak

loklak stores data into an elasticsearch index. There is a front-end for the index available in elasticsearch-head. To install this, do:

  • sudo npm install -g grunt-cli
  • cd into the parent directly of loklak_server
  • git clone git://github.com/mobz/elasticsearch-head.git
  • cd elasticsearch-head
  • npm install

Run elasticsearch-head with:

  • grunt server ..which opens the administration page at http://localhost:9100

How do I configure loklak?

The basis configuration file is in conf/config.properties. To customize these settings place a file customized_config.properties to the path data/settings/ See documentation for details.

Where can I find documentation?

The application has built-in documentation web pages, you will see them when you opened the application web pages or you can simply open html/index.html or just use http://loklak.org as reference.

Where can I find showcases and tutorials?

Articles and tutorials are also on our blog at http://blog.loklak.net.

Where do I find the Java documentation?

At http://loklak.github.io/loklak_server/ or by building them via 'ant javadoc'

Where can I get the latest news about loklak?

Hey, this is the tool for that! Just put http://api.loklak.org/api/search.rss?q=%23loklak into your rss reader. Oh wait.. you will get a lot of information about tasty Cambodian food with that as well. Alternatively you may also read the authors timeline using http://api.loklak.org/api/search.rss?q=0rb1t3r or just follow @0rb1t3r (that's a zero after the at sign).

How to compile using Gradle?

  • To install Gradle on Ubuntu:

    $ sudo add-apt-repository ppa:cwchien/gradle
    $ sudo apt-get update
    $ sudo apt-get install gradle
  • To install Gradle on Mac OS X with homebrew

    brew install gradle

    Compile the source to classes and a jar file

    gradle build

    Compiled file can be found in build dir

    To remove compiled classes and jar file

    gradle clean

What is the software license?

LGPL 2.1

Where can I report bugs and make feature requests?

This project is considered a community work. The development crew consist of YOU too. I am very thankful for pull request. So if you discovered that something can be enhanced, please do it yourself and make a pull request. If you find a bug, please try to fix it. If you report a bug to me I will possibly consider it but at the very end of a giant, always growing heap of work. The best chance for you to get things done is to try it yourself. Our issue tracker is here.

How can I contribute?

There are a lot of issues you can solve. If you are here for the first time, you can look at first-timers-only issues. They are either

  • easy to do and introduce you to github and git
  • or describe clearly how to solve the problem, so you have smoother start.

If you want to solve an issue, please comment in it that you would like to solve it. In any case, if you run into problems, please report them in the issue.

Have fun! @0rb1t3r