PShell is a secured shell written entirely in Perl. It has a curses menu interface and a rudimentary commandline interface. The shell has been secured by being placed into a chroot jail and allowed only certain commands or programs to be used (flexibility is added by a configuration file).
Originally based off the program qmail-masq, qmail-masq-user uses qmail and qmail-qfilter to change the From: address of outgoing emails to almost any combination of username, domain, or both. The configuration allows you to specify domain catch-alls, user catch-alls, email catch-alls, specific combinations of users and/or domains, and much more.
PsyPoster Message Board is a small yet robust message board made from scratch in Perl. It was designed to replace Matt's WWWBoard by giving users the look, feel, and functionality they wanted out of a message board. It has scaling support for topics, dynamic pages w/headers and footers, and is secured to prevent misuse.
Come And Go Encryption (CAG) is a simple program to encrypt files with a special key. This key is a random garbage file, and it is XOR-ed with the file to render it unusable by normal methods. It uses the principle of the one-time pad, but it is not unbreakable. It can stream the decrypted file to STDOUT for use in pipes (i.e., mplayer movie viewing, xv image viewing, etc.).
PlumpOS is a bootable openMosix node on a CD. Pop the CD into a 486+ computer and you have an instant openMosix node. It supports loading 3rd-party packages and adding custom kernels. It takes up very few resources. It was originally a clone of clump/os, but has evolved into something that doesn't resemble it much anymore.
The main goal of autopkg.pl is to build software and make a Slackware package without having to make a build script of some kind. A single config file can specify the compile-time options for every program compiled with autopkg.pl. The packages are created in their own build directories and never installed unless you want them installed. A setuid-root wrapper allows normal users to create packages (with proper user/group listings and permissions) and optionally install them depending upon a list of trusted users. Optional "hint files" can also help a broken or not-that-well-set-up package to be compiled and packaged properly (samples included).
etherdump is an extremely small packet sniffer. It can be used to dump raw ethernet frames for parsing (optimally with Ethereal's text2pcap), or for viewing the network traffic of a few common TCP/IP protocols. On a uClibc system a dynamically-linked version is about 8kB and a statically linked version is about 30kB because it does not depend on libpcap.
Auto-eject-cdrom is a very small C application that handles CD-ROM events in Linux. If new media is inserted in a CD-ROM drive, it is automatically mounted based on a matching entry in /etc/fstab. If a CD-ROM is mounted and the eject button is pressed, the filesystem is umounted and ejected. This allows for the same basic functionality Windows allows with the CD-ROM eject button.
caui (Configurable Audible User Interface) is a simple plugin-based audible user interface. Plugins use speech synthesis software to interact with a user and perform specific actions. The main method of input is a keyboard or number pad. This project is the successor to the Blind MP3 Player.
Car PC Development Kit is a kit for making a Linux distribution for a car PC. Unlike most distributions which come prepackaged and ready to load, this distribution requires downloading, compiling, and post-setup before you can load it into a system. The end result is a modular platform for quickly putting together a small Linux system to copy onto boot media and start using. The target platform is a mini-computer to be installed in an automobile and used either headless or with a monitor and some input device like a keyboard or remote control.
Create-dvd is a wrapper that uses MPlayer to encode any given video into a DVD-compatible format. It then uses dvdauthor to create the structure of the DVD for burning to disc. It takes care of aspect ratio math, optionally increases volume, and changes frame rates with a few simple options.
rmp2dstream will convert an RPM package to a dstream format package under Solaris. It preserves the user, group, and permissions of the RPM files as well as pre and post install scripts. It is intended for using RPM to build a package but using Solaris' tools to manage the final product.
bluelock.pl is designed to lock a display or terminal once a Bluetooth device (like a cell phone) is out of range. The script queries the RSSI (signal strength) of a Bluetooth device. Once the RSSI passes above a certain threshold a timer is started, and once the timer expires a locking program is run.
encsh is a simple tool that encrypts a shell or other interpreted script and puts a wrapper around it. The end result is an executable which, when given the correct password, will be decrypted and run through a pipe, effectively keeping the plain text of the script away from the disk.
pop3download is a script that downloads e-mail from a POP3 or IMAP mailbox. It was originally created to work around certain fetchmail bugs, and now works as a very limited and simple alternative to it. It can keep files on the server, force CRLF line endings, poll at an interval, and pass mail through an MDA for filtering.
Network Inventory Lookup Assistant (NILA) is a combination network inventory database and lookup tool. It is designed to be compact and easily extensible to provide a custom solution for your network. The backend is a Perl CGI script which processes requests and returns output. It uses a SQL server for its storage and retrieval. The frontend is a Perl script which queries the HTTP backend and returns results. It is intended to be simple enough that you can take full advantage of its querying and updating abilities from a console or shell script.
Simple Configuration Management provides lightweight configuration management when you don't want to implement a more robust tool like puppet or cfengine. It trades off functionality for simplicity and aims to only provide the bare essential functionality needed to configure a host or its software.
Re: Dependancy Issues
> A lot of dependancy issues will
> magically go away when you compile your
> binaries as static.
> Sure, your binary file will become
> large, but not significant enough for a
> user to decide not to use your package.
> Have any of you had experiences with
> this kind of thing?
Yes. For one thing, if a security hole or bug is found in a library used by the application, you must recompile the library AND the application to fix it. It also presents complications in having different applications compiled with different versions of libraries (Application A depends on Application B, but Application B was compiled with earlier versions of Libraries A & B, so it does not support the operation Application A needs, so you must upgrade Libraries A & B and Application B, ...). Not to mention those bigger binaries take up more RAM unlike the dynamically-linked libraries which are only loaded into RAM once for multiple apps.
Statically linking your apps basically works against all the reasons they thought up dynamic linking in the first place. Don't do it.
Re: Does it work with no-ip.*?
> Someone can please tell me if this
> client works for no-ip.org
> (or no-ip.com,...) too?
Version 0.3.4 now supports the no-ip.com service. Let me know if it breaks :)