Giter Site home page Giter Site logo
Lightweight Embedded Versatile User Shell 
is a shell to be run on unixoid systems. 
Levush will use Libcli to provide a Ci$co-like command-line interface
for unixoid systems.
So there will be a levush for different targets like
-openwrt (uci is first, as luci is too big) 
-OpenBSD (will be cool to have a secure router like os)
-debian linux. (maybe)
License will be BSD for the start but I am not sure if I change it to GPL3
or make a dual license BSD/GPL3 if this is possible.

The first target will be openwrt because openwrt is a nice os to be run on old
 plastic routers. Unfortunately, the openwrt project decided not to support 
small routers with only 4M flash anymore.
As there are many such routers and as the luci web gui using lua scripts takes 
a lot of flash I thought it would be nice to have a router cli "for real men"
 that mimics a $router-os like like cli with some funny extensions to get a 
shell or to execute other commands like upgrading openwrt or adding software.

The idea is to just use ssh, theoretically one can use telnet, but nobody likes 
telnet, really.
The router will have a user called admin in /etc/passwd that has /sbin/levush 
as his shell. So when the user logs in she gets the $router-os like levush. 

As libcli and uci of opernwrt are written in c levush is also plain c and it is 
not expandable by config files or the like. The functions of levush are 
hardcoded into levush and levush can be statically linked so it just runs 
and does what it is made for, administer the router in a very secure and 
reliable way. 
So for openwrt levush will use UCI which stands for Unified Configuration 
Interface, and it may be necessary to configure and build a new levush 
for a router if it has very different features. We will see.
In principle levush is stupid and holds no own config files it just knows
how to parse existing config files and how to present the content to the user.
If the user uses the config mode to change settings, levush will understand
the settings and check them for correctness (syntax) and will edit the
/etc/config uci files in case of an openwrt router.
So if one enters:
router> show vlan
levush will read /etc/config/network and display the configured vlans.

The look and feel shall be that of a "professional" router.
So admins who know how to administer big routers will feel at home and 
people not knowing to administer big routers can use levush as a playground
to learn the basics.

So hopefully I have enough time to write levush for an 19.x openwrt router
which will be the first target as uci is so well structured and because
luci is too fat for a 4M flash router.

Levush, Sat Dec 21 14:10:32 EST 2019

levush's Projects

levush doesnโ€™t have any public repositories yet.

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.