direwolf
brew install direwolf
v1.8.1_1
GPL-2.0-or-later AND ISC AND LicenseRef-Homebrew-cannot-represent
Software "soundcard" AX.25 packet modem/TNC and APRS encoder/decoder
27
30-day installs · #6081
101
90-day · #5557
587
365-day · #4794
2.0k
★ GitHub stars · updated 2mo ago
Runtime dependencies
Build dependencies
GitHub topics
aprs
ax25
digipeater
ham-radio
igate
packet-radio
raspberry-pi
tnc
Links
- https://github.com/wb2osz/direwolf
- GitHub: wb2osz/direwolf
- Brew formula source: Formula/d/direwolf.rb
Raw metadata
{
"aliases": [],
"alternatives": [],
"build_dependencies": [
"cmake"
],
"categories": [],
"caveats": null,
"conflicts_with": [],
"dependencies": [
"gpsd",
"hamlib",
"hidapi",
"portaudio"
],
"deprecated": 0,
"deprecation_reason": null,
"desc": "Software \"soundcard\" AX.25 packet modem/TNC and APRS encoder/decoder",
"disable_reason": null,
"disabled": 0,
"enrichment_fetched_at": "2026-06-20T23:36:58+00:00",
"first_seen": "2026-06-20T23:34:18+00:00",
"full_name": "direwolf",
"github_default_branch": "master",
"github_last_commit_at": "2026-05-27T21:41:24Z",
"github_readme_excerpt": "# Dire Wolf\n\n### Decoded Information from Radio Emissions for Windows Or Linux Fans\n\nIn the early days of Amateur Packet Radio, it was necessary to use an expensive \"Terminal Node Controller\" (TNC) with specialized hardware. Those days are gone. You can now get better results at lower cost by connecting your radio to the \"soundcard\" interface of a computer and using software to decode the signals.\n\nWhy waste $200 and settle for mediocre receive performance from a 1980\u0027s technology TNC using an old modem chip? Dire Wolf decodes over 1000 error-free frames from Track 2 of the [WA8LMF TNC Test CD](https://github.com/wb2osz/direwolf/tree/dev/doc/WA8LMF-TNC-Test-CD-Results.pdf), leaving all the hardware TNCs, and first generation \"soundcard\" modems, behind in the dust.\n\n\n\nDire Wolf includes [FX.25](https://en.wikipedia.org/wiki/FX.25_Forward_Error_Correction) which adds Forward Error Correction (FEC) in a way that is completely compatible with existing systems. If both ends are capable of FX.25, your information will continue to get through under conditions where regular AX.25 is completely useless. This was originally developed for satellites and is now seeing widespread use on HF.\n\n\n\nVersion 1.7 adds [IL2P](https://en.wikipedia.org/wiki/Improved_Layer_2_Protocol), a different method of FEC with less overhead but it is not compatible with AX.25.\n\n### Dire Wolf is a modern software replacement for the old 1980\u0027s style TNC built with special hardware.\n\nWithout any additional software, it can perform as:\n\n- APRS GPS Tracker\n- Digipeater\n- Internet Gateway (IGate)\n - [APRStt](http://www.aprs.org/aprstt.html) gateway\n\nIt can also be used as a virtual TNC for other applications such as [APRSIS32](http://aprsisce.wikidot.com/), [Xastir](http://xastir.org/index.php/Main_Page), [APRS-TW](http://aprstw.blandranch.net/), [YAAC](http://www.ka2ddo.org/ka2ddo/YAAC.html), [PinPoint APRS](http://www.pinpointaprs.com/), [UI-View32](http://",
"github_repo": "wb2osz/direwolf",
"github_stars": 1991,
"github_topics": [
"aprs",
"ax25",
"digipeater",
"ham-radio",
"igate",
"packet-radio",
"raspberry-pi",
"tnc"
],
"homepage": "https://github.com/wb2osz/direwolf",
"homepage_og_description": null,
"homepage_og_image": null,
"homepage_title": null,
"installs_30d": 27,
"installs_365d": 587,
"installs_90d": 101,
"keg_only": 0,
"keg_only_reason": null,
"last_seen": "2026-06-20T23:34:18+00:00",
"license": "GPL-2.0-or-later AND ISC AND LicenseRef-Homebrew-cannot-represent",
"llm_generated_at": null,
"llm_model": null,
"name": "direwolf",
"oldnames": [],
"one_liner": null,
"optional_dependencies": [],
"rank_30d": 6081,
"rank_365d": 4794,
"rank_90d": 5557,
"raw_hash": "11a6f8157b1a4b38",
"recommended_dependencies": [],
"revision": 1,
"ruby_source_path": "Formula/d/direwolf.rb",
"tap": "homebrew/core",
"test_dependencies": [],
"uses_from_macos": [],
"version_head": "HEAD",
"version_stable": "1.8.1",
"versioned_formulae": [],
"why_use_this": null
}