Giter VIP home page Giter VIP logo

huhnitor's Introduction

Huhnitor

Huhnitor Logo
An intergalactic serial monitor for the ESP8266 Deauther v3
Rust badge

New New New ✨

Check out serial.huhn.me for a web based serial monitor.
A great alternative that works with all Arduino projects and doesn't need to be installed. You just need a compatible browser, like Chrome for desktop.

But no worries, it doesn't replace this project. Huhnitor remains to be our terminal based serial monitor!

Disclaimer

Please note that while this software can be used for other serial devices and projects, it is designed to be used with the ESP8266 Deauther Version 3.

Installation

Youtube Tutorial:
Huhnitor Installation Video Tutorial

Using released binary (Recommended for Windows)

  1. Go to the release page and download a binary for your OS from the latest release.
  2. Run it by simply double clicking it or via terminal ./huhnitor or sudo ./huhnitor
    Linux & Mac users will have to make the binary executable first by running sudo chmod +x huhnitor
  3. [Optional] Add it to the PATH variable for easy use in the terminal

Using Snap (Recommended for Linux)

  1. Install snap if it doesn't already come with your Linux distribution.
  2. Open a terminal and type
    sudo snap install huhnitor --edge --devmode
  3. To start simply run sudo huhnitor in a terminal

If you get a huhnitor not found message, try adding snap to the PATH by running export PATH="$PATH:/snap/bin".

Using AUR on Arch Linux

  1. Open a terminal and type
    yay -S huhnitor
  2. To start simply run sudo huhnitor in a terminal

Using Homebrew (Recommended for macOS)

  1. Make sure Homebrew is installed
  2. Open a terminal and type
    brew tap spacehuhntech/huhnitor
    brew install huhnitor
    or as a one-liner: brew tap spacehuhntech/huhnitor && brew install huhnitor
  3. To start simply run huhnitor in a terminal

Pro tip: Homebrew can also be installed on Linux, and the Windows Subsystem for Linux.

Compiling it yourself

Precompiled binaries can be found at releases.
But if you want, you can compile the Huhnitor yourself:

  1. Install Rust using rustup
    Linux users will also need to run sudo apt install libudev-dev pkg-config
    Windows users have to install Visual C++ Build Tools 2019
  2. Download and unzip or git clone https://github.com/SpacehuhnTech/Huhnitor.git this repository
  3. In the root directory of the repo run cargo build --release, your binary will be located in target/release/ (you can use cargo run to start Huhnitor without compiling a binary)

Usage

The Huhnitor is designed to be as easy to use as possible:

  1. Open huhnitor
  2. Plug in your deauther
  3. Have fun using the command line interface of the ESP8266 Deauther 🙂

If the huhnitor has issues connecting to your deauther, try running it as administrator or via sudo huhnitor.
You can also give a user permission to access the serial ports by running sudo usermod -a -G dialout <username>.

The Huhnitor can run scripts (a series of pre-written commands) if you enter huhn read [filename] once you are connected to a deauther. The file paths are relative to your current command line location (not the executable's) and are essentially a series of newline separated deauther commands.

To stop running a command on the deauther, you can hit ctrl + c, which is in theory more convenient and should help to prevent accidental disconnects. This does, however, also mean that you cannot exit the Huhnitor with ctrl + c, therefore once a serial connection has been opened, entering exit must be used to exit the Huhnitor.

Arguments

Argument Description
--help or -h print this help screen
--port or -p enter port as argument
--driver or -d open driver page
--no-auto or -a disable automatic port connect
--no-color or -c disable colored output
--no-welcome or -w disable welcome message

Drivers

Your deauther is not detected when plugged in?
Make sure the USB connection is working. Some cables can only charge but not transmit data.
Depending on the serial chip that is used on the ESP8266 development board you have, you might need to install the right driver:

Not sure which one to install? A lot of ESP8266 based development boards use a chip from the CP210x family, try starting there.

Credits

Made with ❤️ by Jamz with help from Selicre
in cooperation with Spacehuhn Technologies

License

This software is licensed under the MIT License. See the license file for details.

huhnitor's People

Contributors

jahway603 avatar the-jamz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

huhnitor's Issues

Help argument

After #2 and #3 it makes sense to add a help argument.

Running huhnitor --help should print all parameters and what they do, like you'd expect form any other terminal application.

But running huhnitor with a unsupported argument for example huhnitor make me a sandwich should tell you something like
Parameter "make me a sandwich" not found. or Parameter "make" not found. depending on how the argument parsing works.
and then continue printing the help page.

operation without PC

can Huhnitor run without PC?
like when we program the command through pc and it run automatically after we unplug it from pc and just powering it with battery

Huhnitor on phone

I was wondering if huhnitor can be installed on phone or do you have a huhnitor version that supports android phones

This could be useful as some people does not have a laptop to work with.

Looking forward to your response.

Input Color Bug

DE:
Wenn ich einen Befehl ausführe, der mit einer gefärbten Ausgabe arbeitet, dann wird meine Eingabe mit der selben Farbe angezeigt.
Könnt ihr es bitte fixen? Es ist eigentlich einfach, aber mit Rust kenne ich mich leider zu schlecht aus.
EN:
When I run a command that works with colored output, my input is displayed with the same color.
Can you please fix it? It's actually easy, but unfortunately I don't know enough about Rust.

Better serial port picker

This is how I imagine it:

  1. Application starts
  2. Lists all available ports (line by line) with some sort if ID/numerbing
  3. User either types in the port name, the ID/number or plugs in a new device
  4. When a new serial device was detected or the manual port selection was successful, print the connected message and continue the program.

A parameter, maybe --no-auto disables to auto connect feature. So that if a new port was detected, it just gets added/printed to the previous port selection list.

Link to drivers

On startup, the Huhnitor should say something like

Having problems connecting? Try installing drivers from:
https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers

And running huhnitor --driver could automatically open that URL for you in the default browser.

This feature is especially important for those "poor" Apple users that don't get an OS equipped with common drivers. To be fair, older versions of windows or some linus distributions probably have the same problem though.

History

The huhnitor could save all sent commands by the user into a history list.
When the user presses arrow up or down, it would scroll through the command history.
Just like you know it from a OS terminal.

Auto exit after 3 CTRL+C in a row

Automatically close the huhnitor if the user presses CTRL+C (and only that) 3 times in a row.
Thtat way it's more idiot safe but also convinient.

Run command on connect

When the huhnitor connected to a deauther, it could send a command like welcome automatically.
That would have the advantage, that the user directly sees if the connected deauther is flashed with the latest version and functioning correctly.
But we'd also need a --no-welcome argument to disable this feature.

Win11 Terminal Display Issue

Hello, I'm currently using Windows 11 22H2 (OS Build 22621.1848).

Huhnitor version: 2.0.0_windows.exe

The CLI Ascii Display seems to be not really working with the new Terminal. I got it working with manually changing back to the WIndows Console Host (old cmd).

WindowsTerminal_J0F9XeDO00

If anyone else has this bug, here's the fix.

huhnitor connected, but no commands or communication.

Information

  • huhnitor sees esp8266 Dev board with deauther V3. installed via esp.huhn and the comport shows up. it crashed at first when I plugged it in, but after installing the CP210x driver it worked.

  • After selecting the correct COM port I get a python like ">>>" that does nothing. Not a single command does anything. image

  • Running as admin does the same.

  • Flipping the "On-board switch to select UART mode or firmware update mode" helped with flashing the .bin I think, but it does nothing. Changing the comport manually now crashes the program, autodetect does work.
    image

I also have a Dstrike oled mini evo, that should guarenteed work right? I'm only afraid that i break it by flashing v3 on it. but will update if i did it.

For now, can this be resolved by something i dont know yet because at this moment it is not the same as in your video

Better terminal UI with seperation of input and output

Sometimes it can happen that you type out a command while the Deauther is still printing output.
Here you can see the user typed stop and it got merged with the output, breaking the formatting of the table.
grafik

It's not a huge deal, but it would be really nice to have a seperate input field for typing commands and a window only for the output. Kinda like the Arduino serial monitor.
I would imagine it like this:
grafik
On a quick search I found this crate: https://github.com/fdehau/tui-rs. But not sure if there are better/easier ones out there.

Goodbye message

Not sure if and how possible, but instead of CTRL+C resulting in

error: process didn't exit successfully: `target\debug\huhnitor.exe` (exit code: 0xc000013a, STATUS_CONTROL_C_EXIT)

we should think about a proper goodbye message. Maybe also a proper way to exit without CTRL+C.

little issue with "start" montage order

start_montage_issue

Once you use "start" and try an "alias"
Following "start" steps lead to incorrect order of parameters

Just switching the order of "-name xxxx" "-mac xx:xxx:xxxxxx" solve it

Sory for bady engilish~

Flash Deauther over Huhnitor

A way of flashing bin files through the huhnitor.
This could be achieved by either implementing the necesary protocol ourselfs, or by packaging the esptool as part of the huhnitor.
One step further, I can imagine the huhnitor auto recognizing the deauther version that is flashed and offering an autoamted update process.

Error Device not configured (os error 6)

As discussed in rC3 Talk here is the problem description.

Describe the error
I often get the error message ,, Error Device not configured (os error 6)" after executing commands.
I have not yet been able to see a pattern of when the message appears. However, Hunitor then exits automatically.
Often, when restarting, it then seems as if the previous input arrives delayed.
I have set up the controller with the epsTool, as described in your udemy course.

The strange thing is that the scan command works, for example, but then the program suddenly terminates without further input.

Screenshots
1
2

**Environment **
ESP8266 D1Mini NodeMcu
MacBook Pro
MacOS Big Sur

If there is anything I can do to help, I'll be glad.
:)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.