Projects
→ Standalone software
→ VyOS
A GNU/Linux distribution for routers/firewalls/VPN concentrators.
Unlike GUI-oriented projects like pfSense or IPcop, we belive in the power of the command line interface, so VyOS provides access to all system functions through a unified CLI somewhat similar to that of JunOS.
It was forked from the abandoned Vyatta Core project in 2013.
- Website: vyos.io
- Source code: it's a bit complicated, in a nutshell, github.com/vyos/vyos-build and github.com/vyos/vyos-1x is where active development is going on.
- Distrowatch: distrowatch.com/table.php?distribution=vyos
→ soupault
A static website generator based on HTML rewriting. Think DOM manipulation, but without a browser.
Instead of inserting template processor directives inside pages, you write a set of HTML manipulation
rules using CSS selectors (e.g. “insert includes/menu.html
in the element that matches div#menu
”).
Extensible with Lua plugins and external helper programs.
Perfect for Web 1.0 enthusiasts since you can make all pages look different and still have an automated workflow.
- Website: www.soupault.app
- Git: github.com/dmbaturin/soupault
→ ipaddrcheck
An ipcalc for use in scripts. Allows you to do things like ipaddrcheck --is-ipv4-net 192.0.2.0/25 to find out if the argument is a network address rather than a host address and much more.
Primary motivation is to allow fine-grained user input checking in configuration utilities and startup scripts.
Requires libcidr by Matthew D. Fuller.
- Source code: github.com/vyos/ipaddrcheck
→ hvinfo
Yet another hypervisor detection utility, this time cross-platform (Linux and FreeBSD) and written in a high level compiled language (Ada 2005) rather than a mix of C and shell.
- Source code: github.com/dmbaturin/hvinfo
→ Libraries and plugins
→ ocaml-tsort
A topological sort library that isn't annoying to use and gives clear errors about missing dependencies and dependency cycles. See /code/ocaml-tsort for discussion.
OPAM page: opam.ocaml.org/packages/tsort.
→ pytaf
Aviation weather forecast parser and decoder. TAF stands for Terminal Aerodome Forecast.
The format is not very well specified and machine friendly, so the library heavily relies on nasty backtracking. The other problem is that the format is not exactly the same in all countries, but there is no indication which flavour is it in the reports.
Even though the library works pretty well, there is no guarantee that your report will be decoded correctly, so if you need it for anything serious, learn to read it yourself, it's easier than it looks at first.
You can read about the US format here.
- Source code: github.com/dmbaturin/pytaf
- PyPI: pypi.python.org/pypi/pytaf
Note: this package is not related to the Python Test Automation Framework, it's just an unfortunate three-letter acronym collision.
It's not very actively maintained these days, so if you are interested in it and want to be a maintainer, let me know.
→ Web tools
→ encapcalc
A protocol overhead and maximum transmission unit calculator.
Allows you to easily calculate the MTU and TCP MSS for tunnels with different combinations of encapsulating and encapsulated protocols. Just select protocols by clicking on their buttons and see the header size and structure.
To my surprise, second most popular page on this website where people come by searching for “MTU calculator” and similar.
- The tool: tools/encapcalc
- The git repo: github.com/dmbaturin/encapcalc
This is what it looks like:
→ All other software projects
Look here: github.com/dmbaturin.
→ Misc
→ FluxCDE
CDE/Motif-inspired theme for the FluxBox window manager.
Download from box-look.
Local copy here: fluxcde.tar.gz
Works best with Motif-like themes for GTK/Qt/whatever else widget toolkits you use. And no, this is not a joke, I actually like Motif's look and feel and it had been my default theme for a good while. Fluxbox is not very good at reproducing the feel though. Also, actual CDE allows changing the color of window decorations, while FluxBox doesn't, this theme only exist in the Solaris color scheme.
I haven't used FluxBox in a long time, so it's kept here mostly for historical/sentimental reasons. I'm not even sure if it works anymore, if it doesn't, let me know.
Also, if you are a CDE fan, you should know that The Open Group finally released it under LGPL in 2012 and you can have the real thing now.
→ Obsolete projects
→ EMRK
EMRK was the EdgeMax Rescue Kit, a TFTP-bootable rescue image for the Ubiquiti EdgeRouter Lite, allowed the user to reinstall EdgeOS from scratch or mount the filesystem and do some recovery by hand.
Made it to the Ubiquiti documentation and its forum thread was alive after over two years from the first post.
I'm no longer involved in the Ubiquiti community and don't even use their hardware myself anymore, so I have no idea if it still works. It also never supported any hardware but the original EdgeRouterLite (er100) because Cavium never made freely available SDKs for those. You may still try it at your own risk, or take up its maintenance.
- The image: packages.vyos.net/tools/emrk/
- Usage guide in the Ubiquiti knowledge base.
- Source code (scripts only, the rest is from the Cavium SDK and EdgeOS itself): github.com/vyos/emrk