RFMON is a tool that captures and processes FM radio signals. It saves these recordings and organizes them into groups, making it easier to track and follow conversations. This data is then displayed through a web application, providing a user-friendly interface to review the captured audio.
Caution
Disclaimer: Recording conversations or communications without consent may be illegal in your jurisdiction. It is the user's responsibility to ensure that they have obtained all necessary permissions from individuals being recorded. The developer(s) of RFMON are not liable for any misuse of this software.
To install RFMON, follow these steps:
-
(Clone this repository)
-
Install dependecies:
- Use another guide to install a webserver that supports PHP (Apache, NGINX, etc).
- Compile and Install RTLSDR_Airband
- Begin by compiling and installing the RTLSDR_Airband software with narrow FM support. Ensure that you enable the narrow FM option during the compilation process (
cmake -DNFM=ON ../
).
- Begin by compiling and installing the RTLSDR_Airband software with narrow FM support. Ensure that you enable the narrow FM option during the compilation process (
- Install apt dependecies
sudo apt install inotify-tools
-
Configure RFmon:
- Create RFmon configuration file by copying and renaming
RFmon/html/conf.example.php
toRFmon/html/conf.php
. Then edit the newly created file to your wanted settings. All settings are documented inside the file.
- Create RFmon configuration file by copying and renaming
-
Install RFmon service:
- Run the service installation script with
sudo service/install_service.sh
and follow the guided install.
- Run the service installation script with
-
Deploy HTML Folder:
- Add a symbolic link for the HTML folder to your deployment directory or configure site settings to point to the html folder. This allows the web application to access the necessary HTML files. Example:
sudo ln -s /path/to/RFmon/html /var/www/html/rfmon
- Add a symbolic link for the HTML folder to your deployment directory or configure site settings to point to the html folder. This allows the web application to access the necessary HTML files. Example:
-
(Optional) Configure password authentication:
- If needed, password authentication can be enabled to prevent people who do not know the password from accessing
the app. To do this, uncomment the
$PASSWORD
setting inRFmon/html/conf.php
file which sets the before mentioned variable to your wanted password.
- If needed, password authentication can be enabled to prevent people who do not know the password from accessing
the app. To do this, uncomment the
-
(Optional) Configure notifications:
-
To enable notifications, you need to configure the notification settings in
conf.php
. Adjust the configuration according to your notification preferences. -
Note: Configure Mail Settings
- Ensure that your system is configured to send mail. This is necessary for the notification feature to work correctly. You can use tools like
sendmail
,postfix
, or any other mail transfer agent (MTA) of your choice. Configure the MTA according to your system's requirements and ensure it is running properly.
- Ensure that your system is configured to send mail. This is necessary for the notification feature to work correctly. You can use tools like
-
After enabling notifications, restart the
rfmon.service
.
-
-
(Optional) Configure transcriptions
-
First install dependencies
sudo apt curl jq sox
-
To enable transcriptions, you need to enable them
conf.php
. -
Create an API token for Hugging Face that has '
Make calls to the serverless Inference API
' enabled and set it inconf.php
. (Settings > Access Tokens > Create new token).
Users on Hugging Face get 1,000 free requests per day (1 request = 1 transcription) without entering any card information. Taken Nov 2024
-
Optionaly also change the automatic speech recognition (ASR) model and/or language.
-
After enabling transcriptions, restart the
rfmon.service
. -
(Optional): Transcribe existing audio recordings by running the script
./transcribe.sh
inside the util folder.
-
By following these steps, you will have RFMON installed and configured properly.