|
curn: Customizable Utilitarian RSS Notifier |
Links
Related Links
Products and Sites that use curn
|
Introductioncurn is an RSS reader. It scans a configured set of URLs, each one representing an RSS feed, and summarizes the results. By default, curn keeps track of individual items within each RSS feed, using an on-disk cache; when using the cache, it will suppress displaying information for items it has already processed (though that behavior can be disabled). Unlike many RSS readers, curn does not use a graphical user interface. It is a command-line utility, intended to be run periodically in the background by a command scheduler such as cron(8) (on Unix-like systems) or the Windows Scheduler Service (on Windows). curn is written entirely in Java and can read RSS feeds from any URL that's supported by Java's runtime. When querying HTTP sites, curn uses the HTTP If-Modified-Since and Last-Modified headers to suppress retrieving and processing feeds that haven't changed. By default, it also requests that the remote HTTP server gzip the XML before sending it. (Some HTTP servers honor the request; some don't.) These measures both minimize network bandwidth and ensure that curn is as kind as possible to the remote RSS servers. Extensibilitycurn can be extended in a number of ways. Use an RSS Parser of your Choicecurn can be adapted to use any RSS parser; by default, it uses the the Rome parser, which can handle RSS feeds in Atom format and RSS formats 0.91, 0.92, 1.0 and 2.0. curn can easily be adapted to work with other Java-based RSS parsers. Adding an adapter for a new underlying RSS parser technology is generally as simple as implementing a Java interface and extending two Java abstract classes. Choice of Output Formatscurn supports several output formats; you can configure one or more output handlers in curn's configuration file. A sample of curn's HTML output is here. A sample of curn's plain text output is here. curn supports, and uses internally, the FreeMarker template engine; you can easily generate another output format by writing your own FreeMarker template. In addition, you can write your own output handlers, in Java or in any scripting language supported by the Apache Jakarta Bean Scripting Framework (BSF) or (in Java 6) the javax.script API. See Writing Your Own Output Handler in the curn User's Guide for more details. Plug-insAs of version 3.0, curn supports plug-ins. curn plug-ins can intercept various phases of curn processing and can enhance or modify curn's behavior. See Plug-ins in the curn User's Guide for more details. InstallationPlease see the separate Installation page for installation instructions. Using curnFor complete instructions on configuring and using curn, see the curn User's Guide. Keeping Up to DateThere are currently two ways that you can automatically be notified when new versions of curn are posted to this web site:
I post information about each new curn release to both places. AuthorBrian M. Clapper, <bmc @ clapper . org> AcknowledgementsMy friend, former co-worker, and (to our mutual surprise) fourth cousin, Steve Sapovits, suggested the name curn. MiscellaneousI use curn myself, every day, to poll a variety of RSS feeds. I develop, test and run curn on Mac OS X, FreeBSD 4.11 and Fedora Core Linux (FC 6). I have successfully built it on:
I routinely run curn on Mac OS X, Fedora Core 6, and FreeBSD. I have also tested it on Windows 2000. Copyright© 2004-2009 Brian M. Clapper LicenseThis software is released under a BSD-style license. Copyright © 2004-2009 Brian M. Clapper. All rights reserved. |