OmniMix • Tutorial • Configuration • Client PreviousTopNext

Proxy Server

This section explains how to make your client application route mail and news server traffic through OmniMix (exemplarily connecting with the 'news.mixmin.net' news server).

There's a realistic chance to succeed in setting up your client software by trial and error without really knowing what's going on. But following the given instructions on integrating your client application(s) in the OmniMix system and later on avoiding mistakes while running it may be done easier with a little basic knowledge of the principles of Internet communication:

Think of the Internet with all the computers that are part of it as a large village, where a unique number is assigned to each house representing its address, called Internet protocol address (IP address). This 'number' in the true sense of the word is a sequence of 4 numbers, each within a range from 0 to 255, separated by dots, so that a total of about 4,3 billion (2564) house numbers can be defined (0.0.0.0 - 255.255.255.255). But there are some addresses with special meanings. '127.0.0.1' for example always refers to the current location ('localhost') no matter where you stay.

As it's anything but convenient to memorize and use a meaningless number sequence like '72.14.221.104', which by the way is the address of one building on the premises of the Google Headquarter (a huge terrain with similar addresses only differing in the 4th position), every building has a specific alphanumeric name as well, which consists of the actual name followed by (a shorthand expression of) the quarter (top level domain, TLD) where it stands, with dots separating those name parts. So 'miller.com' means the Miller building within the global commercial quarter, whereas 'peter.au' is the name of Peter's home in the Australian district. Moreover further hierarchic levels are allowed, e.g. 'butcher.com.au' referring to the butcher in the business sector of the Australian quarter. But remember, those domain names are not used for any communication purposes between the buildings, but only introduced to oblige the deficits of the human users. The delivery infrastructure insists on house numbers (IP addresses), so that before delivery all packets have to be endowed with them.

There is a need for domain names that can be used for creating names, which, without fear of conflicts with current or future actual names in the global domain name system (DNS), can be used for private testings, examples in documentation, invalid sender declarations within anonymous messages, or other similar uses. To safely satisfy these needs, the four top level domain (TLD) names '.test', '.example', '.invalid' and '.localhost' and the second level domain names 'example.com', 'example.net' and 'example.org' are reserved. So with the declaration of a per definition non-existent domain like 'this.is.invalid' instead of creating a phantasy term on your own you don't risk an unintentional interference with a real name.

Now every building, which offers a specific service to others, has some windows marked by numbers (ranging from 0 to 65535) through which the transaction takes place. If you're interested in calling on such a service, you have to send your request to that counter of the building awaiting a positive reply. As most of the services offered within the Internet are standardized, the numbers of the counters resp. ports that handle them are defined as well. Concerning the news system, all interaction, whether collecting present messages or posting new ones, is done through one single counter, usually 119. If you're a customer of a post office, normally your letters are sent through port 25 of the post office building, whereas you have to pick up incoming mail from your post-office box through port 110. Any PO box is sufficiently defined by a shorthand expression assigned to its owner (e.g. 'doej') and the domain name of the post office (e.g. 'postoffice.uk'), both separated by an '@' character ('doej@postoffice.uk'), and, if preceded by the real name of the owner, which isn't relevant for delivery, enclosed in brackets ('John Doe <doej@postoffice.uk>').

Since, as already mentioned, all the addressing is done based on house numbers, at least one building has to offer a service to translate house names into their numbers. That translation usually is offered by a Domain Name Server at port 53. It's obvious that the address and not the domain name of such a server has to be known right from the start, which is why it is handed over by your ISP at connection time.


Now back to your task of interposing OmniMix between your client application(s) and the Internet. To do so start your client software and go to its configuration section. There you will find entries for all three kinds of services (NNTP/SMTP/POP3) relevant in this context. To enable OmniMix to take the part of your client in communicating with the outer world, for each of these services address resp. domain name of the destination system as well as the port number dedicated to the service have to be copied from the client's configuration area to OmniMix's 'News', 'Mail S' or 'Mail P' tab. Beyond address and port it may be necessary to enter login parameters (name and password) and / or to select an encrypted communication method (SSL, TLS and for POP3 maybe APOP). After having configured the outside connections (OmniMix <-> service provider) it remains to point your client to OmniMix instead of the 'real' server. So change the 'host name' resp. 'host address' within the client application to the name / address of the computer where OmniMix resides. Take 'localhost' or '127.0.0.1' if it's the local machine. The ports of the respective services have to match those at OmniMix's 'Server' tab and usually remain unchanged as long as there are no conflicts with other servers running at the OmniMix computer. As login method for SMTP and NNTP select 'Username and password' and enter 'omnimix' for username as well as password, which is a predefined OmniMix user account. In order to make your system secure you later on have to change the password for that account or replace it completely! There's an additional account named 'nym', which allows the OmniMix administrator to send nym related configuration messages. A modification of its password has to be done server-sided within the user database and client-sided at the 'SetNym'/'Send' tab. For POP3 an alternative to the simple username / password authentication would be APOP, which means a more secure transfer of the authentication data and is automatically recognized by the OmniMix server. With NNTP and POP3 it's possible to redefine the target system for each single client connection by using the 'extended username syntax', which will be discussed later.

Here's a fictitious parameter set before and after embedding OmniMix running at the local computer and providing POP3 at the non-standard port 1100 (as 110 is supposed to be occupied by another program):

  Client
(without OmniMix)
  Client
(with local OmniMix)
OmniMix
NNTP
• host name
• port number

news.mixmin.net
119

=>

127.0.0.1
119
('News' tab)
news.mixmin.net
119
SMTP
• host name
• port number

smtp.example.com
587

=>

127.0.0.1
25
('Mail S' tab)
smtp.example.com
587
POP3
• host name
• port number

pop3.example.com
110

=>

127.0.0.1
110
('Mail P' tab)
pop3.example.com
110

If you have to configure a news client, which is capable of handling multiple news servers (like Forté Agent 3.2 ff. do), then you have two options. Either apply the 'extended username syntax' (resulting in a username like 'omnimix;ht=news.my_provider.com;pt=119;un=my_name;pw=my_pwd;tl=e;to=n') to transmit the access data for every server at connection time, or use the OmniMix news server only for posting messages, which with an anonymous message doesn't require an outbound NNTP server connection, as the resulting Mixmaster packets are anyway sent to an SMTP server. In this case enter a dot ('.') character instead of a news server address at OmniMix's 'News' tab. As with such an invalid news server entry OmniMix isn't able to provide any news data, this only works with news clients that don't require the news server they use for posting to carry the respective newsgroups (within Agent's folder properties activate 'Use all servers enabled in the plan' and not 'Use only servers known to carry the newsgroup').


Character Encoding

Particularly when sending text and data containing 8-bit non-ASCII characters you may be better off making your client software Quoted-Printable encode them, which results in plain ASCII text. This way you avoid data loss due to failed conversions between different international character sets and encoding schemes.

PreviousTopNext