/globe

JS application to explore and use the Tor onionoo API

Primary LanguageJavaScriptMIT LicenseMIT

globe

JavaScript application to search and view details for Tor relays and bridges. All the data comes from the Tor onionoo API. Uses Ember.js as JavaScript framework. Inspired by the official Tor Atlas.

Tor Onionoo Search is not affiliated with the Tor project. "Tor" and the "Onion Logo" are registered trademarks of The Tor Project, Inc.

##Use the application Build Status

To use a hosted version of Globe, click here to open http://globe.rndm.de. If you want to build your own version take a look at the grunt targets section.

If you can't or don't want to build the application on your own, you could download the latest archived relase from the release page.

##Features

  • search for bridges or relays
  • advanced search with country, running, flags and other filters
  • details for a bridge or relay
  • interactive graphs using dygraphs
  • shareable links for searches or details

##License

Globe is open-sourced software licensed under the MIT license

Project License
Ember.js MIT License
Pure Yahoo! Inc. BSD license
Font Awesome - Font SIL OFL 1.1
Font Awesome - SASS files MIT License
Handlebars MIT License
dygraphs MIT License
moment MIT License
jQuery MIT License
qTip2 MIT License
DataTables MIT license @
jquery deparam none mentioned
jsSHA BSD license

##Installation

Globe is tested and build with nodejs (0.10.x). For an easy overview on how to install node on your distribution look at Installing Node.js via package manager.

In addition to that, globe can be built in a virtual machine that is managed using Vagrant. To make it easier for you, we provide a Vagrantfile that builds an ubuntu (12.04) virtual machine with everything necessary for developing and building globe. If you have vagrant installed run vagrant up and wait until everything is ready.

Connect to your running virtual machine via vagrant ssh. Using the shared folder (cd /vagrant/) you can continue building globe using the following commands.

###Summary:

  1. npm install (not necessary in the vagrant machine)
  2. grunt
  3. node app.js

###Explanation

  1. First you need all the npm dependencies. Run npm install.

  2. Now you're ready to build the application and start the server. Call grunt and wait for it to complete the build process. Grunt precompiles the handlebars templates, combines all the different JavaScript and CSS files and minifies them. This can take a while depending on your computer.

  3. If it's done start the server using node app.js. This will start a simple express.js server that handles the requests.

If you only want to get the required html, JavaScript and CSS files see the Standalone grunt target below.

###grunt targets

#####Development target - grunt dev

  • useful for local development
  • uses not minified js and css
  • uses grunt watch to update code changes

#####Standalone target - grunt standalone

  • useful to create a minified version that is easy to deploy to your server
  • minifies all the js and css files
  • creates a /build folder that has all the required resources
  • used to build the resources for the running application

#####Standalone target with archive - grunt standalone-archive

  • same as grunt standalone but creates archive of the build directory
  • used for to create release files on github

#####Continuous integration target - grunt ci

  • same targets as grunt standalone with additional testing of the generated files using karma
  • used for travis continuous integration

#####Default target - grunt

  • same as standalone except it won't create a build folder with all the ressources