/promother_project

The GUI is built on top of the osmo-nitb-scripts-calypsobts OR osmo-nitb-scripts software packages, which are used to configure and operate cellular base stations.

Primary LanguageTypeScriptMIT LicenseMIT

PR0MOTH3R v2.0 · Build Status GitHub license

This project aims to create a user-friendly web-based Graphical User Interface (GUI) for managing your base stations. The GUI is built on top of the osmo-nitb-scripts-calypsobts OR osmo-nitb-scripts software packages, which are used to configure and operate cellular base stations.


⚠️ WARNING ⚠️

First of all, you need to understand what are you doing and any possible consequences. Please note, that you can only use the frequencies you have a valid license for. In many countries you cannot operate any GSM RF equipment until a proper license from the regulatory authority is obtained. Running a BTS without such license and/or interfering with the commercial networks is out of law and may be punished!

Prerequisites

  • SDR full duplex devices (USRP, LimeSDR, BladeRF, etc.) or CalypsoBTS
  • DragonOS

Installing

First u need install nodejs and npm

$ sudo apt install nodejs npm

also you need install yarn

$ npm install yarn

or

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update && sudo apt install yarn

Then you need

cd client && yarn && yarn run build 
cd server && yarn && yarn run build 

Paths

Also u can change production config paths (defoult calypso dragonos paths) . This JS file promother_project/server/src/configs/default-config.ts :

...
// =======================================================================
// Production config paths (calypso dragonos bts)
export const bscConfigPath = '/usr/src/CalypsoBTS/openbsc.cfg'
export const btsConfigPath = '/usr/src/CalypsoBTS/osmo-bts-trx-calypso.cfg'
export const configFilePath = '/usr/src/osmo-nitb-scripts-calypsobts/config.json'
export const dataBaseLink = '/usr/src/CalypsoBTS/hlr.sqlite3'
// =======================================================================
...

And change buttons command . This JS file promother_project/server/src/logs/logs.service.ts :

...
// =======================================================================
const command = `cd /usr/src/osmo-nitb-scripts-calypsobts && sudo gnome-terminal --geometry=75x20 -- ./auto.sh && sudo ./main.py -u`
const stopCommand = `sudo killall -SIGINT "python3" ; sudo killall -9 "osmocon"`
const resetCommand = `sudo killall -SIGINT "python3" ; sudo killall -9 "osmocon" ; sudo rm -rf /usr/src/CalypsoBTS/hlr.sqlite3`
// =======================================================================
...

Start prtomother

$ cd server && sudo yarn run dev

and go to http://localhost:3000 / http://localhost:8000