Project: new m0n0wall’s webGUI

I have used m0n0wall since years and I am very satisfied about its robustness and its focus not wanting to be a all-in-one firewall . It does its job as firewall and that is all I needed. It has a nice webGUI for administration, which is coded in PHP.

Some months ago, I looked into the webGUI code and thought that this could be done much better. The design and logic are actually implemented into the same code. There are some other quirks which i don’t like. There is not a single line of object oriented PHP code. Several other projects like pfSense, freenas and askoziaPBX are m0n0wall based. I also wanted to make a new code base for these projects. Some small new features are also planned for the final release:

  • i18n / translations
  • Minimal themes: Change style/Logo with your own CSS
  • LDAP authentication
  • Logs by RSS/ATOM

I also wanted to use a framework (don’t wanted to reinvent the wheel) which had to be under BSD license, because m0n0wall is also released under BSD license. So I took the fantastic Zend Framework. For those who not know: Zend is the big company behind PHP’s core developing.

The PHP5 OOP based new webGUI Project, called m0n0-php5, is available under the my Projects page. Thesource can be found in my GIT repo.

A release is planned on Q1 2009.

Bitflu: Daemon-like Bittorrent client in Perl

Bitflu [1] (under The Artistic License [2]) is a free BitTorrent client. The client was written in Perl and is designed to run as a daemon (7×24h , like mlnet) on Linux, *BSD and maybe even OSX.

* Multiple downloads
* Designed to run as a daemon/No GUI: You can connect to the client via telnet and/or http (AJAX)
* Security: The client can chroot itself and drop privileges
* Bandwith shaping (currently only upload)
* Crash-Proof design: Crashes or a full filesystem will never corrupt your downloads again :-)
* Non-Threading/Non-Forking design: All connections are handled in non-blocking state using a dynamic select loop

[1] http://bitflu.workaround.ch/
[2] http://www.opensource.org/licenses/artistic-license.php

OpenCRX: Professional Java based CRM

openCRX [1] is a java based open CRM solution (BSD-style license) that meets the needs of organizations requiring multifunctional, enterprise-wide coordination of sales generation, sales fulfillment, marketing and service activities to customers, partners, suppliers or intermediaries. Read more.

Version 2.2 was released on Sept 22 2008, see release notes [2].

[1] http://www.opencrx.org/
[2] http://www.opencrx.org/opencrx/2.2/new.htm

Wordpress in Java: nWordpress

nWordPress [1] is the Java counterpart of the WordPress project version 2.5.1. It is an easy to install and lightweight blogging engine with a rich administrative interface, nWordPress lets you concentrate on writing quality content.

nWordPress is an open-source project under the GPL license, same as WordPress. It currently provides almost all of the original functionality, with comparable performance.

Under the hood, nWordPress is built on the Spring MVC framework.

[1] http://nwordpress.sourceforge.net/

PHOCOA: PHP5 framework

So mal wieder was PHPiges:

PHOCOA [1] (pronounced faux-ko) is a PHP framework (licensed under the MIT License) for developing web applications. PHOCOA’s primary intent is to make web application development in PHP easier, faster, and higher-quality. The framework handles most of the “dirty work” of web application development by providing infrastructure for all of the common tasks. Most of your time writing PHOCOA apps will be spent designing your GUI and writing application-specific logic rather than dealing with form data, database calls, etc.

PHOCOA is an object-oriented, event-driven, componentized, MVC (model-view-controller) web framework inspired by Apple’s Cocoa and WebObjects technologies.

[1] http://phocoa.com/

Zivios: Consolidated management portal

Zivios [1] aims to be a consolidated management portal for providing core infrastructure services using opensource technologies. The long term goals of Zivios are:

  • Identity Management
  • Single Sign-on and Certificate authority
  • Package and Patch Management
  • Service Management
  • Network Monitoring
  • Backup provisioning
  • Core Infrastructure Services (NTP,DNS, etc)

Zivios is an n-tiered PHP-5 application. It uses MySQL and OpenLDAP as it’s datastore, with OpenLdap being the primary backend for identity management and application integration and MySQL being used for panel specific data.

Zend Framework is our framework of choice and Zivios implements its MVC design pattern.

[1] http://www.zivios.org/

I will not…

GIT: Make automated releases and daily snapshots

If you like to make automated snapshots and releases of the latest tagged version of your git repo, try the following bash script. It also generates a sha1sum and a md5sum file:

#!/bin/bash
DEST_DIR=/var/www/example.com/downloads/myproject
GIT_DIR=/var/cache/git/myproject.git
(
cd $GIT_DIR;
git archive --format=tar HEAD | gzip > ${DEST_DIR}/daily-snapshot.tar.gz
latest_tag=`git-tag | tail -n 1`;
if [ ! -f "${DEST_DIR}/${latest_tag}.tar.gz" ]
then
git archive –format=tar $latest_tag | gzip > ${DEST_DIR}/${latest_tag}.tar.gz
git-log > ${DEST_DIR}/changelog.txt
fi
cd $DEST_DIR;
echo “” > ./md5sums.txt;
ls -a *.tar.gz | xargs md5sum >> ./md5sums.txt;
echo “” > ./sha1sums.txt;
ls -a *.tar.gz | xargs sha1sum >> ./sha1sums.txt;
)

Nexenta Operating System

Fundgrube:

Nexenta Operating System [1] is a free and open source operating system combining the OpenSolaris kernel with GNU application userland. Nexenta Operating System runs on Intel/AMD 32/64bit hardware and is distributed as a single installable CD. Upgrades and binary packages not included on the CD can be installed from NexentaOS repository using Advanced Packaging Tool. In addition, source based software components can be downloaded from network repositories available at Debian/GNU Linux and Ubuntu Linux, and built as described here.

[1] http://www.nexenta.org/os

GIT: Useful Scripts

Need some useful and handy scripts for your daily git work? See this http://github.com/jwiegley/git-scripts/tree/master

« Previous PageNext Page »