View Source Agent Quick Install



This is a concise list of steps to install the agent. It is intended for users who have already read the agent guide.


1. Mix install

{:paraxial, "~> 0.0.8"}


2. Config

config :paraxial,
  paraxial_api_key: System.get_env("PARAXIAL_API_KEY"),
  paraxial_url: "",
  fetch_cloud_ips: true,
  bulk: %{email: %{trusted: 100, untrusted: 3}},
  trusted_domains:["", ""])


3. Edit endpoint.ex

  plug RemoteIp
  plug Paraxial.AllowedPlug
  plug Paraxial.RecordPlug
  plug HavanaWeb.Router
  plug Paraxial.RecordPlug


4. (Optional) To send current user, edit router.ex, add Paraxial.CurrentUserPlug

defmodule HavanaWeb.Router do
  pipeline :browser do
    plug Paraxial.CurrentUserPlug

Note: Only works with assign(conn, :paraxial_current_user,


5. (Optional) Send :paraxial_login_user_name via assigns

In your application code, determine how a user's login attempt flows through the code. You are looking for the line right before the user's provided email and password are checked against the database. Once you find that location, re-write the conn with:

conn = assign(conn, :paraxial_login_user_name, email)

Where email is the user provided string for a login attempt.


6. (Optional) Send login success true or false

conn = assign(conn, :paraxial_login_success, false)


7. (Optional) Use the Paraxial.bulk_allowed?/3 function

In your config, you can define :bulk and :trusted_domains

  bulk: %{email: %{trusted: 100, untrusted: 3}},
  trusted_domains:["", ""])

In your application code,

Paraxial.bulk_allowed?(, :email, length(list_of_emails))

will return true or false, depending on the value of the third argument (an integer), and if the email matching a trusted domain.