abiosoft / ishell

Library for creating interactive cli applications.
MIT License
1.68k stars 195 forks source link

More practical examples in /example folder #66

Open firebitsbr opened 6 years ago

firebitsbr commented 6 years ago

In the /examples folder have more practical examples in separate files, for example, in the smod project: https://github.com/enddo/smod

SMOD > show modules Modules Description


modbus/dos/arp DOS with Arp Poisoning
modbus/dos/galilRIO DOS Galil RIO-47100
modbus/dos/writeAllCoils DOS With Write All Coils
modbus/dos/writeAllRegister DOS With Write All Register Function
modbus/dos/writeSingleCoils DOS With Write Single Coil Function
modbus/dos/writeSingleRegister DOS Write Single Register Function
modbus/function/fuzzing Fuzzing Modbus Functions
modbus/function/readCoils Fuzzing Read Coils Function
modbus/function/readCoilsException Fuzzing Read Coils Exception Function
modbus/function/readDiscreteInput Fuzzing Read Discrete Inputs Function
modbus/function/readDiscreteInputException Fuzzing Read Discrete Inputs Exception Function
modbus/function/readExceptionStatus Fuzzing Read Exception Status Function
modbus/function/readHoldingRegister Fuzzing Read Holding Registers Function
modbus/function/readHoldingRegisterException Fuzzing Read Holding Registers Exception Function modbus/function/readInputRegister Fuzzing Read Input Registers Function
modbus/function/readInputRegisterException Fuzzing Read Input Registers Exception Function
modbus/function/writeSingleCoils Fuzzing Write Single Coil Function
modbus/function/writeSingleRegister Fuzzing Write Single Register Function
modbus/scanner/arpWatcher ARP Watcher
modbus/scanner/discover Check Modbus Protocols
modbus/scanner/getfunc Enumeration Function on Modbus
modbus/scanner/uid Brute Force UID
modbus/sniff/arp Arp Poisoning

Structure in linux filesystem: /scada/tools/smod/Application# tree . └── modules └── modbus ├── dos │   ├── arp.py │   ├── arp.pyc │   ├── galilRIO.py │   ├── galilRIO.pyc │   ├── writeAllCoils.py │   ├── writeAllCoils.pyc │   ├── writeAllRegister.py │   ├── writeAllRegister.pyc │   ├── writeSingleCoils.py │   ├── writeSingleCoils.pyc │   ├── writeSingleRegister.py │   └── writeSingleRegister.pyc ├── function │   ├── fuzzing.py │   ├── fuzzing.pyc │   ├── readCoilsException.py │   ├── readCoilsException.pyc │   ├── readCoils.py │   ├── readCoils.pyc │   ├── readDiscreteInputException.py │   ├── readDiscreteInputException.pyc │   ├── readDiscreteInput.py │   ├── readDiscreteInput.pyc │   ├── readExceptionStatus.py │   ├── readExceptionStatus.pyc │   ├── readHoldingRegisterException.py │   ├── readHoldingRegisterException.pyc │   ├── readHoldingRegister.py │   ├── readHoldingRegister.pyc │   ├── readInputRegisterException.py │   ├── readInputRegisterException.pyc │   ├── readInputRegister.py │   ├── readInputRegister.pyc │   ├── writeSingleCoils.py │   ├── writeSingleCoils.pyc │   ├── writeSingleRegister.py │   └── writeSingleRegister.pyc ├── scanner │   ├── arpWatcher.py │   ├── arpWatcher.pyc │   ├── discover.py │   ├── discover.pyc │   ├── getfunc.py │   ├── getfunc.pyc │   ├── uid.py │   └── uid.pyc └── sniff ├── arp.py └── arp.pyc

6 directories, 46 files

I would like to create a form of file structure in the filesystem of my project and that it would be called inside the source code in golang in ishell. An example in the / examples folder would be cool, even because the current example would already be the next step to this.

The more practical examples you have, the more developers will certainly use your project, which by the way is a great project.

@firebitsbr

scotws commented 5 years ago

I would like to second the request for more examples. For instance, I'm a bit hazy on how NewWithConfig() is supposed to work, because we need to access the readline stuff. I'm sure it's really simple, but for those of us new to Go and whatnot, that would be very useful.