{"id":26844297,"url":"https://github.com/filipspl/bash-igate-rtl_sdr","last_synced_at":"2026-05-07T13:42:36.663Z","repository":{"id":284881549,"uuid":"956361887","full_name":"filipsPL/BASH-iGate-rtl_sdr","owner":"filipsPL","description":"Super-simple implementation of APRS iGate in BASH","archived":false,"fork":false,"pushed_at":"2025-04-19T07:42:22.000Z","size":169,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-09T03:02:33.089Z","etag":null,"topics":["aprs","bash-script","ham","igate","multimon-ng","rtl-sdr"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/filipsPL.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-03-28T05:59:16.000Z","updated_at":"2025-04-19T07:42:25.000Z","dependencies_parsed_at":"2025-06-09T03:02:34.184Z","dependency_job_id":"656fc646-7201-45d6-8512-d4b63b3e4b75","html_url":"https://github.com/filipsPL/BASH-iGate-rtl_sdr","commit_stats":null,"previous_names":["filipspl/bash-igate-rtl_sdr"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/filipsPL/BASH-iGate-rtl_sdr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/filipsPL%2FBASH-iGate-rtl_sdr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/filipsPL%2FBASH-iGate-rtl_sdr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/filipsPL%2FBASH-iGate-rtl_sdr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/filipsPL%2FBASH-iGate-rtl_sdr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/filipsPL","download_url":"https://codeload.github.com/filipsPL/BASH-iGate-rtl_sdr/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/filipsPL%2FBASH-iGate-rtl_sdr/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263784889,"owners_count":23510992,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aprs","bash-script","ham","igate","multimon-ng","rtl-sdr"],"created_at":"2025-03-30T19:19:25.931Z","updated_at":"2026-05-07T13:42:36.577Z","avatar_url":"https://github.com/filipsPL.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BASH-iGate-rtl_sdr\n\n## Overview\nBASH-iGate-rtl_sdr is a simple, lightweight APRS Internet Gateway (iGate) implemented in Bash. It uses RTL-SDR hardware to receive APRS packets over the radio and forwards them to the APRS-IS network.\n\n![screenshot](obrazki/obrazek-README.png)\n\n## Features\n- Super simple - BASH implementation\n- Receives APRS packets using rtl_fm and multimon-ng\n- Forwards packets to APRS-IS servers\n- Sends position and status reports\n- Automatically reconnects on connection failure\n- Error handling for the RTL-SDR pipeline (not sure)\n- Minimal dependencies (uses standard Linux tools)\n\n## Requirements\n- Bash shell\n- RTL-SDR dongle\n- `rtl_sdr` and `multimon-ng` installed\n- Standard Unix utilities (grep, stdbuf)\n\n## Installation\n1. Clone this repository\n2. Install dependencies (in debian-like it should be something like: `apt install rtl-sdr multimon-ng`)\n3. Copy `aprs-bash-igate.conf.example` to `aprs-bash-igate.conf`\n4. Edit the configuration file with your callsign, location, and APRS-IS credentials\n\n## Configuration\nEdit `aprs-bash-igate.conf` with your settings:\n```\nPORT=14580\nUSERNAME=\"ANDY\"\nCALLSIGN=\"SP0ABC-1\"         # Your full callsign with SSID\nPASSCODE=\"11223\"            # Your APRS-IS passcode\nFILTER=\"r/52.001/21.001/50\" # Optional filter for your area\nLATITUDE=\"5200.00N\"         # This should be 7 digits plus N - check precision\nLONGITUDE=\"02100.00E\"       # This should be 8 digits plus E - check precision\nSYMBOL=\"r\"                  # https://blog.thelifeofkenneth.com/2017/01/aprs-symbol-look-up-table.html\nppm_error=-1                # ppm_error (default: 0) estimate eg using `rtl_test -p`\n#SERVER=\"radom.aprs2.net\"\nSERVER=\"rotate.aprs2.net\"\n\n# RTL-SDR Settings\nRTL_SDR_FREQUENCY=\"144800000\"\nRTL_SDR_SAMPLE_RATE=\"22050\" # You can add this too if needed\n```\n\n## Usage\n```bash\n./aprs-bash-igate.sh\n```\n\nThe script will:\n1. Connect to the APRS-IS server\n2. Send an initial position and status report\n3. Start listening for APRS packets on 144.800 MHz (configurable)\n4. Forward received packets to APRS-IS\n5. Automatically reconnect if the connection fails\n\n## Error Handling\nThe script includes error handling to:\n- Detect and report failures in the RTL-SDR pipeline\n- Automatically reconnect to APRS-IS if needed\n- Validate configuration settings\n\n## License\nThis project is open source and available under the MIT License.\n\n## Author\nCreated by Filip SP5FLS\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffilipspl%2Fbash-igate-rtl_sdr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffilipspl%2Fbash-igate-rtl_sdr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffilipspl%2Fbash-igate-rtl_sdr/lists"}