A powerful and lightweight amateur radio beacon indexer supporting reports listing and custom beacon add by mainteners
This project was originally developed by IU3GNB and IU2FRL in 2019 (yes, the pandemic year)
- IU2FRL
- IU3GNB
- Show beacons list by frequency
- Show beacons list by mainteners approval
- Manual approval of beacons
- Manual toggle of beacon status
- Map of beacons list
- Map for single beacon
- Telegram notifications adding beacon
- Telegram notifications adding report
- Telegram notifications changing beacon status
- Telegram notifications changing beacon confirmation
- Protected by reCAPTCHA V3
- Database duplicates and empty rows check
- Backups of beacons and reports
- Multiple languages support
- Language selection in index.php
- Language change in index.php
- Language change site-wide
- Supports importing XLS files from ARI website
- Telegram control via Bot API
- Automatic bad words filtering
- Importing CSV from BeaconSpotUK
- Please note that CSV from this website have no specific standard,
status
is defined as a string and can contain any value
- Please note that CSV from this website have no specific standard,
- Automatic send of received reports to cluster
- Automatic changelog generation
- Clone repo to your web server
- PHP Config
- Tested PHP versions:
7.4.29
8.0
- No special modules required
- Tested PHP versions:
- SQL Config
- Make sure you have MySQL reachable by the WebServer
- Create a new Database (any name is fine, you can use same DB for other applications)
- Create two tables called
bs_beacon
andbs_report
- Create a new user with read and write access
- reCAPTCHA V3 Config
- Open this link
- Insert a lable for this project (any name you like)
- Select CAPTCHA V3
- Add your domain(s)
- Add users that will handle settings
- Send request
- Copy the
SECRET_KEY
provided by Google in the config file (see below) - Copy the
PUBLIC_KEY
provided by Google in the config file (see below)
- Telegram Config:
- Creating a new Telegram Bot
- Open Telegram APP
- Create a new chat with @BotFather
- Create a new Bot following the instructions
- Copy the
API KEY
in the last step and paste it in the config file (see below)
- Create a new group chat
- Add @myidbot
- Add the Bot you created before
- Send a message containing
/getgroupid
- Copy the Group ID in the config file (see below)
- Creating a new Telegram Bot
- Create a config file in
config/bs_config.php
as follows:
<?php
// Do not put any 'require ...' here
// ---------------------------------------------------------------------
// --- Website configuration
// Main Database name
$masterDbName = 'DATABASE-NAME-HERE';
// Database host/domain
$masterDbHost = 'DATABASE-HOST-HERE';
// Database username
$masterDbUserName = 'DATABASE-USER-HERE';
// Database password
$masterDbPassword = 'DATABASE-PASSWORD-HERE';
// Telegram BOT token
$telegramBotToken = 'TELEGRAM-API-TOKEN-HERE';
// Telegram chat ID to send notifications
$telegramChatId = 'TELEGRAM-CHAT-HERE';
// Google reCaptchaV3 API KEY
$captchaSecretKey = 'CAPTCHA-SECRET-HERE';
$captchaPublicKey = 'CAPTCHA-PUBLIC-KEY';
// ---------------------------------------------------------------------
// --- Advanced configuration, do not touch if you're not sure
// Enable debug mode
$debug = false;
// Enable mobile devices appearence
$enableMobile = true;
// Change the main title of the website
$masterSiteName = "Beaconstat";
- Create APIs to interact with Telegram commands
- Create file
api/keys.php
as follows - Populate the different keys using long and complicated strings
- Create file
<?php
return array (
"TelegramKey1",
"TelegramKey2",
"..."
);
- Upload the result to your preferred host
Final result can be seen here: IU2FRL Beaconstat project
- SimpleXLSX php class v0.6.8 by Sergey Schuchkin
- DB_Backup by daniloaz
- reCAPTCHA v3 by Google
- Minixed by lorenzos
This project has been released under the GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007