/globe

Globe is a JavaScript application to search and view details for Tor relays and bridges. Personal repo for developing patches.

Primary LanguageJavaScriptMIT LicenseMIT

Globe Logo

Build Status

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 project.

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

Use the Application

To use a hosted version of Globe, click here. 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 can download the latest archived release 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.

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 -- or, more preferably: nvm.

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.

NOTE: By default, Vagrant will expose the local Globe instance on http://localhost:1337. So if you want to view the Globe site in your browser, you can do so there.

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
  4. In your browser, visit http://localhost:1337.

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 pre-compiles 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 the server after making 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 resources.

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 MIT license @
jsSHA BSD license