SkillAgentSearch skills...

AllScan

AllStar Favorites Management & Scanning Web App

Install / Use

/learn @davidgsd/AllScan
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

AllScan

AllStar Favorites Management & Scanning Web App

See screenshot.png for an example of the AllScan GUI. AllScan is a free and open-source web app that provides Favorites Management features, AllStarLink Stats integration, and connection monitoring and control functions.

  • Shows your favorites in a Dashboard summary table with Keyed status, Connected Node count and other statistics.
  • Continually scans the status of each favorite using ASL's Statistics API and shows which favorites are active and have recently been active.
  • Allows favorites to be connected with a single click (optionally automatically disconnecting any currently connected nodes first).
  • Allows the Favorites Table to be sorted by Node#, Name, Description or Location.
  • Favorites can be added/deleted simply by entering the node# and clicking a button.
  • Favorites files/groups can be easily created, copied, backed up, uploaded, downloaded and switched between

These features give AllStar nodes similar memory management and scan capabilities that analog radios have had for decades. AllScan is mobile-friendly and optimized for ease of use on both small and large screens. AllScan follows the latest web development standards, with PHP, JavaScript, SQL, HTML, and CSS cleanly partitioned, runs on ASL and HamVOIP, and is simple to install, configure, and update.

AllScan supports favorites.ini file entries that refer to connecting to nodes eg. 'cmd[] = "rpt cmd %node% ilink 3 [node#]"' but may also support other types of commands in the future.

As AllScan receives data from the ASL stats server it updates the Favorites Table rows with color coded details showing the following:

Color codes for '#' column:

  • Red: Node is keyed or was recently keyed (transmitting audio). Brighter shades indicate a higher percentage of time keyed over the past few minutes
  • Medium Green: Node Active, Web-Transceiver enabled (may be more likely to accept connections)
  • Dark Green: Node Active (registered and reporting to AllStarLink Network)

Color codes for 'Node' column:

  • Dark Green: Node is currently connected

'Rx%' column: The remote node's reported TxTime divided by its Uptime, provides a general indication of how busy the node tends to be.

'LCnt' column: The reported number of Connected Links (ie. user nodes, hubs, bridges, or other links).

ASL's stats APIs are limited to 30 requests/minute per IP Address. AllScan uses a dynamic request timing algorithm to prevent exceeding this limit, even if multiple web clients are using AllScan on one node.

AllScan also implements User Authentication, User Account Administration, Login/Logout, User Settings and Cfg Management functions. After install AllScan will automatically create its database and necessary tables, and when you first visit the allscan/ url will prompt you to create an Admin user account. By default, public (not logged-in) users will have Read-Only access and will be able to see the Connection Status and Favorites data, but will not be able to make changes or view any admin (Cfgs / Users) pages. To change this setting, Log in, click the "Cfgs" link, and edit the "Public Permission" parameter.

Additional screenshots: init.png cfgs.png users.png settings.png

Multiple copies of AllScan can be installed on one node (server) if desired, each with their own separate configuration, Favorites, and/or different node numbers. Just make copies of the /var/www/html/allscan/ dir eg. to "allscan2" and update the config settings accordingly on the Cfgs Tab.

Pre-Install Notes

It is highly recommended to use ASL3. AllScan works great on HamVOIP and older ASL versions but ASL3 has numerous major improvements and supports x64 platforms. If you have Supermon installed AllScan will give you the option to use the favorites.ini file in the supermon directory. See the Supermon groups.io page for details on how to install Supermon. If you use Supermon2 instead of Supermon or want to put your favorites.ini file in some other folder, the favorites.ini search location(s) can be set on the AllScan Cfgs Page.

Install / Update

The AllScan Install/Update script automatically checks system configuration details, checks if AllScan is already installed and what version, and if a newer version is available will prompt you to continue with the Install/Update. Just enter 'y' and seconds later the install/update will be complete.

Log into your node by SSH and run the following commands:

sudo apt update; sudo apt install php php-sqlite3 php-curl unzip avahi-daemon asl3-tts -y
cd ~; rm AllScanInstallUpdate.php 2>/dev/null
wget 'https://raw.githubusercontent.com/davidgsd/AllScan/main/AllScanInstallUpdate.php'
chmod 755 AllScanInstallUpdate.php
sudo ./AllScanInstallUpdate.php

(HamVOIP only: The first line above should instead be: sudo pacman -Syu; sudo pacman -Sy php php-sqlite3 php-curl unzip avahi-daemon)

The Install/Update script will provide detailed status messages on each step of the process. Carefully review all output messages and confirm no errors occur.

Now open a browser and go to your node's mDNS or IP address followed by /allscan/, eg. http://[hostname].local/allscan/ and be sure to add a browser bookmark. (It is recommended to set your node's host name to 'node' followed by your node# eg. 'node567890'. You can check the host name with the 'hostname' command, and can change the host name by running 'sudo hostnamectl set-hostname [new hostname]'.) If the node's http port is forwarded in your router AllScan can be accessed from the internet at http://[node#].nodes.allstarlink.org/allscan/.

If you did a new install AllScan will prompt you to create an admin account. Be sure to do this right away. You can then configure the permission settings for AllScan. These default to Read-Only for public (not logged-in) users. This setting can be changed on the "Cfgs" page.

If you did an update, force a browser reload by pressing CTRL-[F5] or clearing your browser cache, or in mobile browsers do a long-press of the reload button, so your browser will load any updated JavaScript and CSS files.

NOTES:

  1. You may need to uncomment/add the following lines in /etc/php/php.ini (make sure they do not have a ';' in front)<br> extension=pdo_sqlite<br> extension=sqlite3
  2. Then restart the web server or restart the node

AllScan Nodes, Accessories and How-To-Guides

If you do not yet have a node or might like to upgrade your node, see AllScan.info for How-To Guides, Nodes, USB Radio Interfaces, Radio modules, Radio-less interfaces, Accessories and more.

AllScan nodes, node modules, and USB interfaces provide extensive features and outstanding audio quality - see the Products Page for details.

Configuration Files and Parameters

Files used by AllScan:

  1. astdb.txt: The ASL database file with the list of all nodes provisioned on the AllStarLink network. In ASL3 this is maintained by the asl3-update-nodelist service which will be set up automatically by the AllScan Install/Update script. In ASL2/HV this file should already exist in ../supermon/astdb.txt or /var/log/asterisk/astdb.txt. If the file is not found it will be automatically downloaded into the allscan directory. AllScan shows the status of these files and their last modification times in the status messages box (below the Favorites Table).
  2. favorites.ini: The favorites file can be found in the supermon directory or in the allscan directory. Or if you have the file somewhere else (eg. ../supermon2/) you can set that location in the 'Favorites.ini Locations' Cfgs Parameter. A sample favorites file is also included.
  3. (optional) asdb.txt: If you have private nodes or want to override the description text in astdb.txt for certain node #s you can create a file named asdb.txt in /etc/allscan/, and enter lines in the same format used in astdb.txt (Node#|CallSign|Desc|Location) eg. "1999|W1AW|Private Node #1|Los Angeles, CA"

All AllScan Cfg parameters can be viewed and set on the Cfgs page if you are logged in as an Admin user. Just click the 'Cfgs' link and all Cfgs are then shown along with an Edit form.

Troubleshooting

For any issues including directory/file permissions issues or issues with SQLite not being available it is recommended to run the update script, which will check if you have the latest version of AllScan, update your install if not, and validate all directory and file permissions. Refer to the "Install / Update" section above, run the update script, reboot the node, and then see if the issue was resolved.

If you have somehow corrupted your install and running the install/update script does not fix it, run "sudo rm -rf /etc/allscan /var/www/html/allscan /srv/http/allscan 2>/dev/null" to completely uninstall AllScan, and then run the installer again.

A common fix for many issues is simply to reboot your node. You might be surprised how many issues end up being resolved with nothing more than a reboot.

Be sure to check out the Ham Radio Crusader YouTube channel AllScan videos for more details and a walkthrough of how to install, set up and use AllScan on ASL3, HamVOIP or DVSwitch.

HamVOIP users: See this Blog Post by KJ7T for detailed steps on how to enable the SQLite3 extension in php.ini.

If you have other issues with your node that are not related to the AllScan web app itself be sure to review the ASL config file settings listed in my How-To Guides at [AllScan.info]

Related Skills

View on GitHub
GitHub Stars47
CategoryDevelopment
Updated1d ago
Forks10

Languages

PHP

Security Score

95/100

Audited on Apr 8, 2026

No findings