A command line interface for dealing with HighFleet radio intercepts.
- captures clear text or cipher text via OCR.
- track the frequency of words in clear text.
- generate cipher code differences by matching frequent word differences vs cipher words.
- helps translate a code difference to a code.
What are these messages, and how do they work? Check out this guide on YouTube:
- download the source or clone the repo
- For Windows, install tesseract, https://tesseract-ocr.github.io/tessdoc/Installation.html and add
C:\Program Files\Tesseract-OCRto yourPATHin your environment variables. - install
python3.11 or later - install
uv, https://docs.astral.sh/uv/getting-started/installation/ - use
uv syncto create an environment and install dependencies.
$ uv run python highfleet_decoder.py
- Follow onscreen prompts to
- capture message
- fix OCR
- confirm if the message is clear or cipher text (it knows)
- review code suggestions.
The project is a rough prototype.
- Valid word characters are
strings.ascii_uppercase + strings.digits + "=-". I haven't dealt with dashed locations yet, probably will be treated as multiple words. - HighFleet messages are in all caps. When correcting OCR text, your input will be transformed into uppercase.
- When correcting senders or receivers, the equals sign must be in the right place to be detected. Receivers and senders are kept separate from body words.
- Senders and receivers must be last and first. If there is OCR text after, you should blank it or swap positions with other text.
1andIlook the same in HighFleet's font. The project tries to deal with this by determining if the rest of the word is primarily numbers or letters.- Are the suggestions actually solutions?
- Depends on the frequency list being populated somewhat.
- Assuming that unique words have unique difference patterns
- Finding edge cases by running campaigns.
- Ability to have different frequency sets for starting clean with a new campaign, if desired.
- Add unit tests.
- Add CI, preferably in CircleCI, since I've used it.
- Refactor code into not one big file.
- Screenshots.
- Colour output.
- Arguments and argument parsing?
pypipackage?
words_alpha.txt used under "Unlicense license", dwyl/english-words


