Edbrowse, a Command Line Editor Browser

Edbrowse is a combination editor, browser, and mail client that is 100% text based. The interface is similar to /bin/ed, though there are many more features, such as editing multiple files simultaneously, and rendering html. This program was originally written for blind users, but many sighted users have taken advantage of the unique scripting capabilities of this program, which can be found nowhere else. A batch job, or cron job, can access web pages on the internet, submit forms, and send email, with no human intervention whatsoever. edbrowse can also tap into databases through odbc. It was primarily written by Karl Dahlke.

The inspiration for this program came from Karl's many years of experience as a blind computer user. He describes his command-line philosophy in a great opinion piece, formerly distributed with the edbrowse documentation. It is now available from his home page, and you are encouraged to read it by following this link. A French translation is also available.

The original version of edbrowse, version 1, was written in perl. You can download version 1.5.17 here, but it is no longer supported or documented. It also lacks many important features that are present in the C package, such as javascript support, and the aforementioned scripting capabilities. Still, the perl implementation has one overarching advantage; it is 100% portable. You can run it on Unix, Linux, Windows, Dos, Mac, OS2 - anything that has perl. So you may want to play with the perl version, as a demo, to see if you like it. Then, at your leisure, you can download the C source and build edbrowse version 2 or 3.

Karl wrote version 2 in C, and rolled his own javascript compiler and engine from scratch - not a trivial task.

The home-grown javascript engine worked, but keeping up with changes to an evolving language turned out to be a hassle. Version 3.1.1 used the Spider Monkey javascript engine from Mozilla.org, which is also open source. This allowed Karl to leverage some 30,000 lines of code - more than everything he had written to date. And somebody else was maintaining it! That's the power of open source. As of version 3.7.0, edbrowse uses the duktape javascript engine from duktape.org.

Edbrowse is now developed by a team of several people, including Karl Dahlke, Chris Brannon, Adam Thompson, and Kevin Carhart. Geoff McLane has also done quite a bit of work getting this project to run under Windows.

You can download edbrowse version 3.7.0 as a zip archive here. Or try the latest snapshot, which may have small, untested changes or minor bug fixes.

As of June 2014, we are now providing statically-linked edbrowse executables for Linux. This should be useful for people who both run a Linux distribution that does not package edbrowse and wish to get up and running without the hassle of building from source. See the static binaries page for more links.

Edbrowse is sometimes described as dense in its code and in its human interface. It contains many cryptic one and two letter commands, and few interactive help facilities. So it is important that you read the user's guide, before you take edbrowse out for a spin. (Also available in French.) Remember, this manual describes the C version of edbrowse; the perl version will be lacking in many areas.

We also have a wiki on GitHub, with tips, tricks, sample .ebrc configurations, and other edbrowse resources. Check it out at https://github.com/CMB/edbrowse/wiki. Contributions are welcome.

Even the C version is a work in progress. Our time is limited, and we are always looking for developers to help us with this project. We are particularly interested in support for Spanish, Chinese, Italian, and other languages. Please let us know if you can help.

This is intended for Unix-like platforms. You'll need the packages pcre-devel and libcurl-devel to compile this program. If you didn't say yes to "Software Development" at time of installation, these may not be present on your system, but they should be on your master disks. We also use the tidy-html5 library for parsing HTML. Get it from https://github.com/htacg/tidy-html5. We require at least version 5.1.25 of tidy-html5. The latest tagged version is 5.4.0 as of this writing. Edbrowse version 3.7.0 and later requires the Duktape JavaScript engine, available from duktape.org. All this is described in the README file.

Want to get involved? Please consider subscribing to one or more of our mailing lists. The commandline list, hosted at Yahoo Groups, is a place to discuss edbrowse, other software written by Karl Dahlke, or command-line applications in general. It is friendly and informal. You may subscribe by sending a message to commandline-subscribe@yahoogroups.com. The edbrowse-dev list is intended for traffic directly pertaining to the development of edbrowse. Patches should be sent here. You can subscribe to the list by sending a message containing the subject "subscribe" (without quotes) to edbrowse-dev-request@lists.the-brannons.com. Either list is appropriate for bug reports.

We use the git version control system for managing the edbrowse source code, and our main repository is hosted on GitHub. You may clone it via the URL <https://github.com/CMB/edbrowse>. Patches should be made against the master branch of this repository.

Send questions or comments to the maintainer, Chris Brannon. Or contact all of the developers.; Thank you.