Here I Am
Description
Here I Am is a Phoenix application that monitors devices connecting to your local network and plays a text-to-speech message using espeak when a new device is detected. The application uses arp-scan to identify devices on the network.
Prerequisites
Erlang and Elixir
In this project, these are managed by asdf. You will need to install 'https://github.com/asdf-vm/asdf, ['https://github.com/asdf-vm/asdf-erlang](ASDF Erlang), and ['https://github.com/asdf-vm/asdf-elixir](ASDF Elixir). Be sure to read on what the Erlang / Elixir ASDF prerequisites are before installing the plugins.
Alternatively, you can install erlang/elixir without a version manager but that won't be covered here.
Installing espeak
Install espeak on your system:
# On Debian/Ubuntu-based systems
sudo apt-get install espeak
# Fedora/RHEL
sudo dnf install espeak
Installing arp-scan
Install arp-scan on your system:
# On Debian/Ubuntu-based systems
sudo apt-get install arp-scan
# Fedora/RHEL
sudo dnf install arp-scan
Configuring sudo for arp-scan
To allow arp-scan to run without a password, edit the sudoers file:
sudo visudo
Add the following line to allow your user to run arp-scan without a password (replace yourusername with your actual username):
yourusername ALL=(ALL) NOPASSWD: /usr/sbin/arp-scan
Your arp-scan installation may not be in /usr/sbin/arp-scan. Please run whereis arp-scan to find the correct path for the above config.
Setup
To start your Phoenix server:
- Run
mix setupto install and setup dependencies - Start Phoenix endpoint with
mix phx.serveror inside IEx withiex -S mix phx.server
Now you can visit localhost:4000 from your browser.
Ready to run in production? Please check the deployment guides.