• Stars
    star
    2
  • Language
    Crystal
  • License
    GNU General Publi...
  • Created over 8 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

http server which allows sneaky http request though it.

http_distributor

http server which allows sneaky http request though it.

Installation travis

Be sure you have crystal > 0.18

crystal deps
crystal compile ./src/http_distributor --release

Deploy on heroku

according to crystal-lang.org

cd http_distributor/
heroku create --buildpack https://github.com/crystal-lang/heroku-buildpack-crystal.git
git push heroku master

Usage

Start

./http_distributor [--port=PORT]

### Configuration

#### Environment variables

  • change_agent_probability
  • wait_fixed
  • wait_random_min and wait_random_max
  • wait_delay_coefficient

Routes

  • /get/url_base64_encoded
  • /config
  • /domains
  • /ping

Important

You need an authentication token to do any request. This token may be specified in an environment variable AUTH_TOKEN. If the token is not specified, it is automatically created when the server starts, randomly, and wrote on the stderr.

The auth token must be specified in query parameter. Example: /get/xxx?auth_token=xxx

Development

The project is divided in 3 parts.

Proxy

This directory contains the http rules, and use Kemal.

Helpers

This part contains only the helper used by the proxy part.

http_distributor

This is the main library. It contains every important classes oft he project.

Contributing

  1. Fork it ( https://github.com/Nephos/http_distributor/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

  • Nephos Arthur Poulet - creator, maintainer