Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tcort/callsigns
Query the Canadian Amateur Radio Callsign Database
https://github.com/tcort/callsigns
amateur-radio callsign ham-radio
Last synced: about 2 months ago
JSON representation
Query the Canadian Amateur Radio Callsign Database
- Host: GitHub
- URL: https://github.com/tcort/callsigns
- Owner: tcort
- License: isc
- Created: 2015-10-04T13:05:51.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-11-04T10:58:31.000Z (about 7 years ago)
- Last Synced: 2024-11-21T20:09:01.780Z (2 months ago)
- Topics: amateur-radio, callsign, ham-radio
- Language: JavaScript
- Size: 94.7 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Deprecated
This project has ended. I've taken down the website and ceased development
of this application. I'm leaving the code up on github in the hope that
it's useful for someone. Enjoy looking at this little piece of history.-----------
# callsigns
This is the code that powers [callsigns.ca](https://www.callsigns.ca).
It started with the simple desire for a simple mobile friendly way of
searching the Canadian Callsign Database and ended with me developing
my own website.## Features
* mobile friendly design that also works on the desktop and in the terminal
* bilingual user interface (English and French)
* no advertisements nor any form of monetization (strictly non-commercial)
* no login required to access any part of the site
* no social media buttons to distract you
* no cookies beyond an ephemeral session cookie for language preference
* free and open source code## Requirements
* systemd
* iptables
* nginx
* openssl
* mysql
* wget
* unzip
* node.js
* npm
* letsencrypt## Installation
Grab the source code:
mkdir -p /var/node && cd /var/node
git clone git://github.com/tcort/callsigns.git && cd callsignsInstall the dependencies:
npm install
Configure iptables:
iptables-restore < ./etc/iptables/rules.v4
ip6tables-restore < ./etc/iptables/rules.v6
apt-get install iptables-persistentConfigure:
$EDITOR config.json
Populate the database:
/var/node/callsigns/db/refresh.sh
Add a cron job to refresh the database:
crontab -e
15 1 * * * /var/node/callsigns/db/refresh.sh >/dev/null 2>&1Configure `rsyslog`:
sudo -e /etc/rsyslog.conf
local5.* /var/log/callsigns.log
sudo service rsyslog restart
logger -p local5.info "Test"Get SSL Certificates:
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
./letsencrypt-auto --agree-dev-preview --server \
https://acme-v01.api.letsencrypt.org/directory certonlyGenerate DHE Parameters:
openssl dhparam -out /etc/ssl/certs/dhparam.pem 4096
Configure nginx:
cp /var/node/callsigns/etc/nginx/sites-available/callsigns.ca /etc/nginx/sites-available/callsigns.ca
$EDITOR /etc/nginx/sites-available/callsigns.ca
systemctl restart nginxConfigure the service:
cp /var/node/callsigns/etc/systemd/system/callsigns.service /etc/systemd/system/callsigns.service
systemctl enable callsigns
systemctl start callsigns## Testing
Once the service is up and running, execute `npm test` to perform some end-to-end tests.
## License
Code License: see [LICENSE.md](https://github.com/tcort/callsigns/blob/master/LICENSE.md)
Data License: see [Terms and Conditions](http://www.ic.gc.ca/eic/site/icgc.nsf/eng/h_07033.html)
on the Industry Canada website.