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

a-fittest-ide icon a-fittest-ide

An integrated development enviorment with simple, sharpened open source tools

a-z80-cpu icon a-z80-cpu

fork of A-Z80 CPU core from opencores.org, found at bitbucket. I want is to add support for cliffords icecube tools (complete open source fpga flow!)

art icon art

An ardruino like board with RT-Thread operating system.

bareos icon bareos

Main repository with the code for the libraries and daemons

buildroot icon buildroot

Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation. Forked from https://git.busybox.net/buildroot/

c64rom icon c64rom

Fully Commented Commodore 64 ROM Disassembly

cleantwrptar icon cleantwrptar

Program primarily made to remove leaked strings from TWRP backup tars, but also somewhat capable of cleaning other tars that have strings leaked between data blocks.

clstm icon clstm

A small C++ implementation of LSTM networks, focused on OCR.

coreboot icon coreboot

I want to add support for some VIA C7 boards as they have padlock AES, no Intel Spy-ME, and no spectre, meltdown bug. Operation: git clone --recursive https://review.coreboot.org/coreboot.git @ Fri Mar 9 01:54:02 EST 2018

cppcoreguidelines icon cppcoreguidelines

The C++ Core Guidelines are a set of tried-and-true guidelines, rules, and best practices about coding in C++

dejavu icon dejavu

Yet another network location backend for the UnifiedNLP/microG project

electric icon electric

electric vlsi design tool. This is a fork of the "older" C version 7.00 by www.staticfreesoft.com, as java is not suitable for a VLSI tool

electric-html-doc icon electric-html-doc

Doxygen generated html documentation for electric which is a huge tar ball.

entropy-piano-tuner icon entropy-piano-tuner

Entropy Piano Tuner: tool for tuning Pianos and Grand Pianos with no musical knowledge (Mirror)

firmware icon firmware

Build system for openWRT based firmware // build firmware for distributed agents, based on Freifunk Berlin

flyback icon flyback

flyback is a calculation tool I wrote to calculate insulated flyback dc/dc converters

gist.sh icon gist.sh

Bash shell script for getting/posting code snippets (gists) from/to https://gist.github.com

gitim icon gitim

Clone all of your Github repositories, just single command from your terminal.

gitworkflow icon gitworkflow

A documentation repository for gitworkflows https://hackernoon.com/how-the-creators-of-git-do-branches-e6fcc57270fb

hackrf icon hackrf

low cost software radio platform

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.