2.3. Configuration Guide

The following sections provide detailed system configuration information.

2.3.1. Configuration Tutorial

Highwinds has tried to make the system very easy to configure. These simple step-by-step instructions will jump-start your site configuration.

2.3.2. Cyclone Configuration File Specification

Cyclone Directive Listing

2.3.3. Advanced Configuration Examples

2.3.3.1. Standard Article Filtering

The IncomingGroupFilter, IncomingSubjectFilter, SubjectFilter, and IncomingPathFilter directives, allow you to filter out inappropriate groups, subjects (such as control messages), and Usenet hosts that are known sources of inappropriate content.

Review the following examples:

	<Feed>
	# Incoming feed from news.company.com, with NO "warez"
	# groups or "cancel" messages
	#
	IncomingHostName news.company.com
	IncomingGroupFilter	*.warez*
	IncomingSubjectFilter	cmsg?cancel*
	</Feed>
	
	<Feed>
	# Outgoing feed to news.company2.com, with NO 
	#   "MAKE MONEY FAST" articles
	#
	OutgoingHostName news.company2.com
	SubjectFilter	*MAKE?MONEY?FAST*
	</Feed>
	
	<Feed>
	# Incoming feed from news.company3.com, with NO articles 
	#   which passed through the "pirates.com" domain
	#
	IncomingHostName news.company3com
	IncomingPathFilter	*.pirates.com
	</Feed>

2.3.3.5. Redundant Feeds and Disaster Recovery

By deploying multiple machines, you can provide a high level of redundancy, failover, and disaster recovery. By feeding each of your customers with a primary feed and one or more secondary feeds from alternate sites, you can provide uninterrupted service even in the face of catastrophic failures. Cyclone provides two ways to do this efficiently:

In the following example, we show an example of how to set up a primary and secondary feeds to news.company.com.
	# Primary FULL outgoing feed to news.company.com
	#  (on host news.highwinds-software.com)
	<Feed>
	OutgoingHostName news.company.com
	Subscription *
	MaxDepth 10000
	</Feed>
	
	# Example 1: On a different machine, we set up a delayed
	#  secondary feed. We delay it by 5 minutes (300 seconds)
	#  and double the MaxDepth
	<Feed>
	OutgoingFeedName news.company.com-backup-using-delaytime
	OutgoingHostName news.company.com
	Subscription *
	DelayTime 300
	MaxDepth 20000
	</Feed>
	
	# Example 2: On a different machine, we set up a duplicate
	#  of the primary feed. However, we use the "Backup" directives
	#  to tell Cyclone to only service this feed if the primary feed
	#  (on host news.highwinds-software.com) disappears. 
	<Feed>
	OutgoingFeedName news.company.com-backup-using-backuphostname
	OutgoingHostName news.company.com
	Subscription *
	MaxDepth 10000
	#
	# Monitor "news.highwinds-software.com" on port 119 every 10 minutes
	#
	BackupHostName news.highwinds-software.com
	BackupPortNumber 119
	BackupTimeInterval 600
	</Feed>

2.3.3.6. OfferedCache Example

If your system is very well connected and has many very well connected peers, you may have an article offered to your system by many sites all within a split-second of each other. As always, the system will accept the article from one site (refusing it from the others), process the article and offer it to all "interested" sites. Since you know that a site that offers you an article already has the article, it makes sense to avoid offering it back to them. By carefully using the OfferedCacheName directive, you can avoid this situation. Review the following example and analysis:

	# Feed to and from "news.isp.com"
	#
	<Feed>
	IncomingHostName news.isp.com
	OutgoingHostName news.isp.com
	OfferedCacheName isp.com
	</Feed>
	
	# Subscription-split feed to and from "news.company.com"
	#
	<Feed>
	IncomingHostName news.company.com
	OutgoingFeedName company-ALT
	OutgoingHostName news.company.com
	Subscription !*, alt.*
	
	OfferedCacheName company.com
	</Feed>
	
	<Feed>
	OutgoingFeedName company-NOTALT
	OutgoingHostName news.company.com
	Subscription *, !alt.*
	
	OfferedCacheName company.com
	</Feed>

Using the example configuration above, assume the same article is offered to the system by news.isp.com AND news.company.com within a millisecond of each other. Further assume the article was accepted from news.isp.com and refused from news.company.com.

As always, the accepted article will be enqueued and offered to remote sites that are "interested" in the article and whose Aliases do not appear on the Path: header. However, in this case, the system will avoid offering the article to news.company.com because the OfferedCache will be consulted before the article is offered. Since the article id will be in the cache, the system will know that news.company.commust already have the article and will avoid offering it.

2.3.4. GUI Configuration