binkd 1.0 How-To
****************

How Can BinkD Work via HTTP-proxy?
**********************************

It is not a rare case when users go out to the internet from their corporate LAN exclusively via the proxy server based at the only computer connected to the internet. Thus BinkD cannot make a direct connection to the remote node and one must use the proxy server.  Proxy servers support was included in versions 0.9.3.https, 0.9.4 and the later ones.

One can use BinkD via a HTTP proxy only if CONNECT host 24554 command is allowed in the proxy server or the CONNECT command is allowed for all remote ports.  The command is usually used for the secure HTTP protocol (URLs of the "HTTPS://..." type), it is also known as S-HTTP. Because of that such a proxy is quite often referred as a HTTPS proxy.

If BinkD reports of an authorization error then the necessary command is prohibited in the proxy configuration or it is allowed for the port 443 only (that is inessential for us).

Suppose the connected to the Internet computer has the IP address 192.168.0.1 in its LAN and the proxy server at the computer responds on port 3128. Here is the line in BinkD configuration file necessary for working via the HTTP proxy.

1. A proxy server without user authorization (no login and password are demanded):

         proxy 192.168.0.1:3128

2. A proxy server with user authorization (it is necessary to type login and password, e.g. login "user", password "password"):

         proxy 192.168.0.1:3128/user/password

3. Microsoft proxy server with NTLM protocol of user authorization (one must be inside a domain).  Suppose login is "user", password is "password", the user computer is "host" and the domain name is "ntdomain":

         proxy 192.168.0.1:3128/user/password/host/ntdomain

If the proxy server administrator has allowed connection only to some selected ports (usually to port 443) then BinkD reports "Connection rejected by proxy". Here is an example:

      31 Mar 16:48:43 [59987] BEGIN, binkd/0.9.3/SOCKS/HTTPS -p BINKD.CFG
      31 Mar 16:48:43 [59987] clientmgr started
    + 31 Mar 16:48:43 [40423] call to 2:5000/44@fidonet
      31 Mar 16:48:43 [40423] trying 195.209.235.3, port 24554...
      31 Mar 16:48:43 [40423] connected to proxy.osu.ru:24554
      31 Mar 16:48:44 [40423] Connection rejected by proxy (HTTP/1.0 403 Forbidden)
    ? 31 Mar 16:48:44 [40423] unable to connect: {13} Permission denied

In such a case you may try to use http tunnelling for instance with the help of httport (one can take it at http://www.htthost.com/).

How Can BinkD Work via SOCKS-proxy?
***********************************

It is not a rare case when users go out to the internet from their corporate LAN exclusively via the proxy server based at the only computer connected to the internet. Thus BinkD cannot make a direct connection to the remote node and one must use the proxy server. Proxy servers support was included in version 0.9.4 and the later ones.

BinkD works with a SOCKS proxy version 4 and 5. The first one does not demand an authorization (no login and password), the second one demands it as a rule.

Suppose the connected to the Internet computer has the IP address 192.168.0.1 in its LAN and the SOCKS server at the computer responds on port 1080. Here is the line in BinkD configuration file necessary for working via the SOCKS proxy.

1. A SOCKS server without user authorization (no login and password are demanded):

         socks 192.168.0.1:1080

2. A proxy server with user authorization (it is necessary to type login and password, e.g. login "user", password "password"):

         socks 192.168.0.1:1080/user/password

If the proxy server administrator has allowed connection only to some selected ports (usually to port 443) then BinkD reports "Connection rejected by proxy". See example in a chapter see 01.

How Can I Add BinkD To a Fidonet Box Working With a Modem?
**********************************************************

1. You must configure your modem mailer and tosser for BSO (binkley-style outbound) mode so that all of them including BinkD would have the same inbound directories (and also the same outbound directories). If your mailer can work with AMA (arcmail-attach) only you have to change your mailer. You also have to configure packing netmail to BSO. Usually you have to install and configure a special program for that purpose: a simple netmail packer (bip or another one), or a more function rich netmail tracker (rntrack or another one. Some mailers know themselves how to pack netmail to BSO. If you use fileboxes, then the path to fileboxes directory used by your modem mailer must be set in the BinkD configuration file.

Here is a working example of a configuration file for the joint work of BinkD and T-mail (only the tokens necessary for the joint work of the mailers are shown):

    t-mail.ctl:
    Address             2:5080/102.1@fidonet
    Address             7:1500/102.1@fidonet
    BinkStyle_Pack_For  All
    Busy_Flags_Scan     Bink
    Busy_Flags_Create   Bink
    BinkOutbound        \ftn\outbound\fidonet
    Inbound             \ftn\inbound\
    InboundUnProtected  \ftn\inbound\uncheck\
    FileBoxes           \ftn\outbound\fboxes\
    Security            \ftn\t-mail\password.ctl

    binkd.cfg:
    address             2:5080/102.1@fidonet 7:1500/102.1@fidonet
    domain fidonet      \\ftn\\outbound\\fidonet 2
    inbound             \\ftn\\inbound
    inbound-nonsecure   \\ftn\\inbound\\uncheck
    filebox             \\ftn\\fboxes
    passwords           \\ftn\\t-mail\\password.ctl

How Does BinkD Process the Link Descriptions and a Password File.
*****************************************************************

The configuration file definitions with tokens node, defnode and also a password file defined by passwords token contain information about links. If several node tokens are present in the configuration file or several lines with passwords are present in the password file for the same link, then the first entry is valid. All the rest entries are ignored. The node lines, i.e. the definitions of nodes and defnode entry, i.e. the default link are handled first. Then the password file is read. Hence for explicitly defined links the node lines give the actual node parameters. In order to use passwords from the password file you have to place a hyphen (or minus) character instead of a password in the node line for the link. For the other links a password in the password file is valid.