Synchronet v3.19b-Win32 (install) has been released (Jan-2022).

You can donate to the Synchronet project using PayPal.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
module:binkit [2018/03/30 15:49] – [Errors] Sent M_ERR command args: Encryption required digital manmodule:binkit [2020/11/11 22:06] (current) – [See Also] Added jsutil tag digital man
Line 1: Line 1:
-====== BinkIT ======+====== BinkIT - FidoNet Mailer ======
  
-BinkIT is a simple BinkP BSO/FLO-style FidoNet Mailer, written for Synchronet in JavaScript.  BinkIT may be used in place of BinkD, for example, but it does not have as many features and is still considered "experimental" at this date.+BinkIT is a simple BinkP BSO/FLO-style FidoNet [[ref:fidonet_glossary#Mailer]], written for Synchronet in JavaScript (by [[person:Deuce]]).  BinkIT may be used in place of BinkD or any other [[resource:FidoNet mailer]].
  
 ===== Features ==== ===== Features ====
  
   * BinkP 1.1 support (except for the undocumented No Dupes mode)   * BinkP 1.1 support (except for the undocumented No Dupes mode)
 +  * Supports operation over TLS (binkps) for both inbound and outbound sessions
   * Supports BinkD compatible encryption   * Supports BinkD compatible encryption
   * Supports secure CRAM-MD5 authentication   * Supports secure CRAM-MD5 authentication
-  * Full 5D support+  * Full 5D address support
   * Creates semaphore files for TIC (tickit.now) and Fido (fidoin.now) events automatically   * Creates semaphore files for TIC (tickit.now) and Fido (fidoin.now) events automatically
   * FREQIT integration for file requests from subs   * FREQIT integration for file requests from subs
   * Nodelist support, can read the hostname and port number from a nodelist   * Nodelist support, can read the hostname and port number from a nodelist
  
-===== Automated Install =====+===== Install =====
  
 If you've already configured [[util:SBBSecho]] v3, you may perform an automated install of BinkIT from a command prompt by running "''[[dir:exec]]/[[util:jsexec]] binkit install''". If you've already configured [[util:SBBSecho]] v3, you may perform an automated install of BinkIT from a command prompt by running "''[[dir:exec]]/[[util:jsexec]] binkit install''".
  
-This will create a ''[[dir:ctrl]]/binkit.ini'' file for you and setup the necessary Timed Events in [[util:SCFG]], but you may need to edit the session passwords in in ''binkit.ini'' to match those expected by your links.+This will update the ''[[dir:ctrl]]/[[config:sbbsecho.ini]]'' file for you and setup the necessary Timed Events in [[util:SCFG]], but you may need to edit the session passwords in ''sbbsecho.ini'' to match those expected by your links.
  
-If your network links are not in FidoNet, you may need to add nodelist or ''Host'' values for each linked node as well.+If your network links are not in FidoNet (i.e. reachable via the ''binkp.net'' domain), you may need to specify NodeList for that domain or specify ''Host'' values for those linked nodes.
  
 +===== Upgrade to BinkIT v2 =====
 +
 +If you've already setup BinkIT 1.x (e.g. using ''binkit.ini''), after updating your ''[[dir:exec]]/*.js'' and ''[[dir:load]]/*.js'' files to the latest (including ''binkit.js'' v2.x), you'll need to migrate your ''binkit.ini'' and ''ftn_domains.ini'' settings in ''sbbsecho.ini''. This can be done automatically by running "''[[dir:exec]]/[[util:jsexec]] binkit upgrade''".
 +
 +If you wish to perform the merge by hand, here are the changes:
 +
 +^ Old ''binkit.ini'' key     ^ New ''sbbsecho.ini'' key          ^
 +| root ''Capabilities''    | ''[BinkP] Capabilities''          |
 +| root ''Sysop''           | ''[BinkP] Sysop''                 |
 +| ''[//address//] Password'' | ''[node://address//] SessionPwd'' |
 +| ''[//address//] Host''     | ''[node://address//] BinkpHost''  |
 +| ''[//address//] Port''     | ''[node://address//] BinkpPort''  |
 +| ''[//address//] Poll''               | ''[node://address//] BinkpPoll''  |
 +| ''[//address//] AllowPlainPassword'' | ''[node://address//] BinkpAllowPlainAuth''  |
 +| ''[//address//] AllowUnencrypted''   | ''[node://address//] BinkpAllowPlainText''  |
 +| ''[//address//] SourceAddress''      | ''[node://address//] BinkpSourceAddress''  |
 +
 +The domain sections keys are unchanged, but the domain sections now require a ''domain:'' prefix:
 +
 +^ Old ''ftn_domains.ini'' section     ^ New ''sbbsecho.ini'' section         ^
 +| ''[//name//]''                      | ''[domain://name//]''               |
 +
 +Once the upgrade is complete, all of the BinkIT and [[util:SBBSecho]] configuration parameters can then be viewed and modified using the [[util:EchoCfg]] utility.
 + 
 ===== Manual Setup ===== ===== Manual Setup =====
  
Line 93: Line 118:
   * ''-P'' poll any links with the ''Poll=Yes'' option and *do not* run a normal outbound scan.   * ''-P'' poll any links with the ''Poll=Yes'' option and *do not* run a normal outbound scan.
   * ''-l'' [node] poll the specified node and *do not* run a normal outbound scan.  Cannot be used with  ''-p'' or ''-P'' Multiple ''-l'' options may be specified on the same command-line.   * ''-l'' [node] poll the specified node and *do not* run a normal outbound scan.  Cannot be used with  ''-p'' or ''-P'' Multiple ''-l'' options may be specified on the same command-line.
-===== binkit.ini ===== 
  
-The ''[[dir:ctrl]]/binkit.ini'' file holds the main configuration settings of BinkIT.+===== sbbsecho.ini =====
  
-==== Global Options ====+The ''[[dir:ctrl]]/sbbsecho.ini'' file holds the configuration settings of BinkIT. 
 + 
 +==== BinkP Options ==== 
 + 
 +In the ''[BinkP]'' section of ''sbbsecho.ini'':
  
   * ''Capabilities'' if set, changes the text in the ''M_NUL NDL'' line from the default of "115200,TCP,BINKP" This field is not well documented.   * ''Capabilities'' if set, changes the text in the ''M_NUL NDL'' line from the default of "115200,TCP,BINKP" This field is not well documented.
Line 104: Line 132:
 ==== Links ==== ==== Links ====
  
-Each link should be section with the full 5D address (e.g.: "1:103/17@fidonet") as the section name.  If you are using an ''[[config:ftn_domains.ini]]'' file, the domain should be listed there.+Each link should be specified as  ''[node:<address>]'' section with the full 5D address (e.g.: "node:1:103/17@fidonet") as the section name.
  
 === Link Settings === === Link Settings ===
  
-The following are all optional and allowed per section:+The following are all optional and allowed per ''node'' section:
  
-  * ''Password'' sets the BinkP //session password// for the link (Usually the only required option) +  * ''SessionPwd'' sets the BinkP //session password// for the link (Usually the only required option) 
-  * ''AllowPlainPassword'' allows this link to insecurely send the password on the connection.  Defaults to ''No'' **Not recommended** +  * ''BinkpPlainAuthOnly'' Forces outbound sessions with this link to use plain-password authentication (not CRAM-MD5).  Defaults to ''false''
-  * ''AllowUnencrypted'' allows this link not to encrypt the session. Defaults to ''No''**Not recommended** +  * ''BinkpAllowPlainAuth'' allows this link to insecurely send the password on the connection.  Defaults to ''false''
-  * ''SourceAddress'' the outbound **FTN** address to use for this link.  Not normally needed, but can be used if multiple addresses are used in the same net with different passwords.  Defaults to the "closest" FTN address to the link address. +  * ''BinkpAllowPlainText'' allows this link to use an unencrypted (plain-text) session. Defaults to ''true''
-  * ''Port'' TCP port to connect to when making an outbound connection on this link.  Defaults to the port specified in the nodlist if configured, or the defualt binkp port of 24554. +  * ''BinkpSourceAddress'' the outbound **FTN** address to use for this link.  Not normally needed, but can be used if multiple addresses are used in the same net with different passwords.  Defaults to the "closest" FTN address to the link address. 
-  * ''Host'' Internet host (IP address or hostname) to connect to when making an outbound connection on this link.  If not specified, will first attempt to read from the nodelist if configured in ''ftn_domains.ini'', then will use the domain suffix specified in ''ftn_domains.ini'' and use DNS with the "p.f.n.z.domain" style (e.g. binkp.net) domain name.  If there is not a ''ftn_domains.ini'' file, will use ''binkp.net'' to DNS-look up fidonet addresses+  * ''BinkpPort'' TCP port to connect to when making an outbound connection on this link.  Defaults to the port specified in the domain's nodelist, if configured, or the default BinkP port of 24554. 
-  * ''Poll'' This link will be polled any time ''-p'' or ''-P'' is specified on the command-line.  Defaults to ''No''.+  * ''BinkpHost'' Internet host (IP address or hostname) to connect to when making an outbound connection on this link.  If not specified, will first attempt to read from the nodelist if configured for the domain, then will use the DNS suffix, if specified using the "p.f.n.z.domain" style (e.g. ''binkp.net'') domain name
 +  * ''BinkpPoll'' This link will be polled any time ''-p'' or ''-P'' is specified on the command-line.  Defaults to ''false''.
  
 **Note**:\\ **Note**:\\
-For compatibility with links using the BinkP implementation in Mystic BBS version 1.12A39, you must set ''AllowUnencrypted=true''+For compatibility with links using the BinkP implementation in Mystic BBS version 1.12A39, you must set ''BinkpAllowPlainText=true''. 
-==== Example binkit.ini ====+ 
 +**Note**:\\ 
 +For more details on the BinkP session-security related settings, see the documentation for ''sbbsecho.ini'' -> [[config:sbbsecho.ini#Node Sections]]. 
 + 
 +==== Example sbbsecho.ini ====
  
 <code ini> <code ini>
 +[BinkP]
 Sysop=Henry Samueli Sysop=Henry Samueli
  
-[1:218/700@fidonet] +[node:1:218/700@fidonet] 
-Password=TopSecret +SessionPwd=TopSecret 
-Poll=yes+BinkpPoll=yes
  
-[1:2320/100@fidonet] +[node:1:2320/100@fidonet] 
-Host=livewirebbs.com+BinkpHost=livewirebbs.com
  
-[10:1/1@othernet] +[node:10:1/1@othernet] 
-Host=coolbbs.example.com +BinkpHost=coolbbs.example.com 
-Port=24556 +BinkpPort=24556 
-Password=MaxSecret +SessionPwd=MaxSecret 
-Poll=yes +BinkpPoll=yes
-OutboundRoot=/sbbs/fido/outbound+
 </code> </code>
  
Line 144: Line 177:
 In the case of 1:2320/100, let's say you have a need to route netmail to this node.  In this case there is no automated polling to this node and anything that needs to be sent to this node via crash will be sent to livewirebbs.com with no password.  If there is a nodelist, the port number will be used from the nodelist.  In this example, the hostname is being overridden, so it won't use the nodelist or DNS to connect. In the case of 1:2320/100, let's say you have a need to route netmail to this node.  In this case there is no automated polling to this node and anything that needs to be sent to this node via crash will be sent to livewirebbs.com with no password.  If there is a nodelist, the port number will be used from the nodelist.  In this example, the hostname is being overridden, so it won't use the nodelist or DNS to connect.
  
-The network "othernet" will also be polled.  In this case it will call out on port 24556 and the outbound root has been specified in the config.  You can specify a domain wide outbound root in your ''[[config:ftn_domains.ini]]'' It should be noted that "othernetshould be defined in ''ftn_domains.ini'' with either a NodeList or DNSSuffix value since it's not part of the default ftn_domains configuration used when the ''ftn_doamsin.ini'' file is not present.+The network "othernet" will also be polled.  In this case it will call out on port 24556 and the outbound root has been specified in the config.  You can specify a domain wide outbound root in your ''[[config:sbbsecho.ini]]'' It should be noted that ''[domain:othernet]'' should be defined in ''sbbsecho.ini'' with either a ''NodeList'' or ''DNSSuffix'' value.
  
-If you check your outbound directory do not be surprised if you see other outbound directories with extensions after them.  For instance ''outbound.zyx''.+If you check your outbound directorydo not be surprised if you see other outbound directories with extensions after them.  For instance ''outbound.zyx''.
  
 ===== Other Configuration ===== ===== Other Configuration =====
Line 154: Line 187:
 The first listed FTN address (in [[util:scfg]]->Networks->FidoNet->System Addresses) is used as the default address, and it's zone is used as the default zone.  All addresses configured in SCFG are used for the ''M_ADR'' command to the remote. The first listed FTN address (in [[util:scfg]]->Networks->FidoNet->System Addresses) is used as the default address, and it's zone is used as the default zone.  All addresses configured in SCFG are used for the ''M_ADR'' command to the remote.
  
-==== sbbsecho.cfg or sbbsecho.ini ====+==== sbbsecho.ini ====
  
-BinkIT reads the ''ctrl/sbbsecho.cfg'' or ''ctrl/sbbsecho.ini'' file, possibly using the following pieces of information:+BinkIT reads the ''ctrl/sbbsecho.ini'' file, possibly using the following pieces of information:
  
-  * Outbound path (''OUTBOUND'' in sbbsecho.cfg or ''Outbound'' key in sbbsecho.ini+  * Outbound path (''Outbound'' key) 
-  * Secure Inbound path (''SECURE_INBOUND'' in sbbsecho.cfg or ''SecureInbound'' key in sbbsecho.ini+  * Secure Inbound path (''SecureInbound'' key) 
-  * Insecure Inbound path (''INBOUND'' in sbbsecho.cfg or ''Inbound'' key in sbbsecho.ini+  * Insecure Inbound path (''Inbound'' key) 
-  * Mailer type (''FLO_MAILER'' in sbbsecho.cfg, or ''BinkleyStyleOutbound'' in sbbsecho.ini).  BinkIT will exit with an error if this is not set. +  * Mailer type (''BinkleyStyleOutbound'').  BinkIT will exit with an error if this is not set. 
-  * Packer configuration (''PACKER'', ''PACK'', and ''UNPACK'' in sbbsecho.cfg, ''SigOffset'', ''Sig'', ''Pack'', and ''Unpack'' keys in a ''archive:*'' section in ''sbbsecho.ini'').+  * Packer configuration (''SigOffset'', ''Sig'', ''Pack'', and ''Unpack'' keys in a ''archive:*'' sections).
  
 ==== freqit.ini ==== ==== freqit.ini ====
  
-BinkIT integrates [[util:freqit|util:freqit]] functionality, so the ''freqit.ini'' file is used.+BinkIT integrates [[FreqIT]] functionality, so the ''freqit.ini'' file is used. 
 + 
 +==== binkstats.ini ====
  
-==== ftn_domains.ini ====+Not technically a configuration file, the ''[[dir:data]]/binkstats.ini'' file contains cumulative statistics about all inbound and outbound BinkP connections made by BinkIT. 
 +==== Domains ====
  
-This file is used for 5D support in BinkIT.  Each section name is an FTN domain.  If this file doesn't exist, zones 1-6 are set to 'fidonet' with a DNSSuffix of 'binkp.net'.+The ''domain:'' sections in ''sbbsecho.ini'' are used for 5D support in BinkIT.  Each ''domain:'' section defines an FTN domain.  If no domains are specified, zones 1-6 are set to 'fidonet' with a DNSSuffix of 'binkp.net'.
  
-Each domain can have the following keys:+Each domain section can have the following keys:
  
   * ''Zones'' a comma-separated list of zones present in this domain.  When only a single domain lists a specific zone, that domain is used as the "default domain" for that zone.   * ''Zones'' a comma-separated list of zones present in this domain.  When only a single domain lists a specific zone, that domain is used as the "default domain" for that zone.
Line 179: Line 215:
   * ''NodeList'' Full path to a nodelist file to use for this domain.   * ''NodeList'' Full path to a nodelist file to use for this domain.
  
-=== Example ftn_domains.ini ===+=== Example Domains  ===
  
 <code ini> <code ini>
-[fidonet]+[domain:fidonet]
 Zones=1,2,3,4,5,6 Zones=1,2,3,4,5,6
 OutboundRoot=/sbbs/fido/outbound/ OutboundRoot=/sbbs/fido/outbound/
 DNSSuffix=binkp.net DNSSuffix=binkp.net
  
-[othernet]+[domain:othernet]
 Zones=10 Zones=10
 NodeList=/sbbs/fido/OTHERNET.234 NodeList=/sbbs/fido/OTHERNET.234
Line 199: Line 235:
 </file> </file>
  
-This error means that the linked node (3:330/1@fidonet in the example) is not DNS-resolvable. You'll need to use a nodelist or a "Host=key for that node (with the IP address or hostname of the node) in your ''binkit.ini'' file.  +This error means that the linked node (3:330/1@fidonet in the example) is not DNS-resolvable. You'll need to use a nodelist for the ''fidonet'' domain or a "BinkpHostvalue for that node (with the IP address or host name of the node) in your ''sbbsecho.ini'' file.  
  
 <file> <file>
Line 205: Line 241:
 </file> </file>
  
-This error means that the remote/peer doesn't support encryption and encryption is required (by default). To loosen this requirement and allow a plain-text/un-encrypted session with this link, ''AllowUnecrypted=true'' for that linked node in your ''binkit.ini'' file.+This error means that the remote/peer doesn't support encryption and encryption is required. To loosen this requirement and allow a plain-text/un-encrypted session with this link, set ''BinkpAllowPlainText=true'' for that linked node in your ''sbbsecho.ini'' file.
 ===== See Also ===== ===== See Also =====
   * [[:module:|Modules index]]   * [[:module:|Modules index]]
-  * [[util:freqit|FREQIT]] +  * [[module:FreqIT]] (file request module) 
-  * [[util:tickit|TickIT]] +  * [[module:TickIT]] (TIC file processor) 
-  * [[util:hatchit|HatchIT]]+  * [[module:HatchIT]] (TIC file hatcher) 
 +  * [[util:SBBSecho]] (EchoMail program) 
 +  * [[config:sbbsecho.ini]] (SBBSecho configuration file) 
 +  * [[util:EchoCfg]] (SBBSecho configuration utility)
  
-{{tag>fidonet binkp mailer}}+{{tag>fidonet binkp sbbsecho mailer jsutil}}