rmqwire

rmqwire

The parameter file in tables/wire, normally called RMQWIRE has the following
parameters :

    ; comment

    exchange-key: (FipSeq)              default: none
        exchange-name:fip_wires_\SU
    exchange-name: (FipSeq)             default: none
        one of these flavours :
            amqp.fanout
            amqp.direct
            topic
            headers (topic keys)
            system (routing key)
            x-(yourname)    your own !
    routing-key: (FipSeq) - depends on exchange-type default: none

    queue-name: (FipSeq)                default: none
        the AMQP server will generate one if you do NOT supply one
    consumerTag: (FipSeq)               default: none
        the AMQP server will generate one if you do NOT supply one

    amqp-version: (FipSeq)              default: rabbitmq
        currently either 0.9.1, rabbitmq or 1.0.1

    send-heartbeats: time in seconds in FipSeq  default: spooled=60 ; single=0/none
        No heartbeats required ? : make the value Zero or -ve

    amqp-logon: (FipSeq) logon
    amqp-password: (FipSeq) password
        Logon and password for the exchange default: fip, fip
        These can be FipSeq and be in an external LOOKUP file
            amqp-logon:\P1
            amqp-password:\P2
            fixed:P0    amqp-fanout3-auth
            lookup:P1   P0  file=AMQP.LOOKUP key=1 value=2
            lookup:P2   P0  file=AMQP.LOOKUP key=1 value=3
            ; and a line in tables/setup/AMQP.LOOKUP :
                ; auth for fanout
                amqp-fanout3-auth,dontcallme,shirley

    amqp-channel: (number) channel to use           default: next unused number - usually
1

    amqp-virtual-host: (FipSeq) Virtual host to use     default: '/'

Optional keywords / parameters :

    grab-every:(seconds)
        Connect, logon and check for news every X seconds.
        The default is 600 seconds (5 mins) while the minimum
        is 5 seconds.
        The '-t' input switch can also be used.

    defdest: (default Fip Destination (DU FipHdr field) default: "woops"
    chrset: (Source character set ie SC header field)   default: ascii
    connection-timeout: (timeout in seconds wanting to connect to the remote)
default: 120 secs
    connection-retries: (no of connection attempts before erroring      default: 5
    response-timeout: (timeout in seconds wanting for the remote to respond to a
command)    default: 60 secs

    extra-fiphdr: (more FipHdr information to add)      default: none
    archive: yes/no                     default: yes
        Archive the data in log/data
        This parameter will override the -Z switch of that is also specified

    output-folder: (folder name)
    output-folder1: (folder name)
    ..
    output-folder9: (folder name)
        if the folder does NOT start with a '/', it is assumed to be
        Note these override the default and '-o' input switch..

    save-data-path: (Fipseq pathname for data)
        This puts the data of the incoming file into this folder and creates a FipHdr
        file that contains 2 FipHdrs containing the full path/filename
            SX: and FTP_EXTERNAL_FILE:
        (ipbalan uses SX and ipftp uses FTP_EXTERNAL_FILE)
            eq  save-data-path:/fip/data/jpegs/\$e\$y\$i\$d/
        Use this for big files that you do not want to copy around the Fip Spool
area.
    save-data-filename: (FipSeq name)
        Use this to specify exactly what the the 'save-data-path' name should be
        default is (incoming filename).(time).(seqno)
        eg  save-data-filename:\HR-\SU.raw
    save-data-balance-group: (Balance group)
        Balance all save-data files to the following group. default: do not balance
    save-data-balance-folder: (Balance folder)
        If balancing, put the token in this folder under spool. default: 2balance

    use-oauth:yes/no
        Use OAUTH to grab/use an access-token or Bearer token eg for Gmail access
        default is NO
    use-ssl:yes/no
        default is NO

    ssl-method: (1,2,3,23,999)
        Version number to use for TLS/SSL       default: 999 for current default (2 or 3)
    ssl-password: (password)
    ssl-passwd: (password)              default: none
        Optional password if the handshake requires a shared secret
    ssl-key: (name of a certiticate key file)       default: none
    ssl-cert: (name of a certificate file)    default: none
    ssl-root-cert: (name of a root PEM certificate file)    defaunt: none
        Optional certificates are in tables/ssl unless name starts with '/'
    ssl-verify: yes/no  verify server certificates  default: yes
    ssl-ciphers: (list) acceptable ciphers
        (use 'openssl ciphers' to list)
        default:  "HIGH:!aNULL:!kRSA:!SRP:!PSK:!CAMELLIA:!RC4:!MD5:!DSS"
        (from feb2021
ECDH+AESGCM:ECDH+CHACHA20:ECDH+AES256:ECDH+AES128:!aNULL:!SHA1:!AESCCM
    ssl-display: yes/no display SSL connection details  default: no

For Socks 4/5 - use these parameters to control
    use-socks:4/5 yes/no (yes is same as 5)
    socks-host: (hostname of the socks proxy)   no default
    socks-port: (port number of the socks proxy)    default: 1080
    socks-user: (user name for the socks proxy) no default
        if nothing specified, assumed that there is none
    socks-pwd: (password for the socks proxy)   no default

For old-style HTTP Proxies :
    proxy-server: If using a proxy, these are the name and port to aim at.
    proxy-port:
    proxy-logon: This is the logon and password to get thru the firewall if
required. The format is (logon) (colon) (password) and is converted to base 64
    proxy-is-squid:yes/no   Is the proxy a Squid ?  default: no
    proxy-handshake:yes/no  Does the proxy need to CONNECT first ?  default: no
        If the proxy is a Squid, this MUST be NO

-- For accessing Oauth protected assets

    ; We need an access token
    use-oauth:yes

    ; which flavour of Oauth2 ? - only the first letter is meaningful
    ; oauth-flavour: Google (Gmail) or Microsoft (Office365)
    oauth-flavour:microsoft for office 365

    ; Current token file will be saved in /fip/fix/goauth2
    oauth-token-file:\OT

    ; Credentials file in /fip/tables/cert
    oauth-credentials-file:\OC

    ; sffoauth and rmqwire
    oauth-scope:https://outlook.office365.com/.default

    ; Script to run when token expires - approximately every 12 hours
    oauth-refresh-script: (Script in FipSeq)        script to generate the access_token
using a refresh_token
    oauth-refresh-script:/fip/bin/sffoauth -z wire/RMQ.O365.OAUTH.SEA -c \OC -t
\OT -H '#WN:\WN' -a

    These 5 FipHdrs are use to generate, check, add/renew permissions to access
the remote data - normally Gmail or Office365

    oauth-client-fiphdr: (FipHdr)   default: IC
    oauth-secret-fiphdr: (FipHdr)   default: IS
    oauth-access-fiphdr: (FipHdr)   default: IA
    oauth-refresh-fiphdr: (FipHdr)  default: IR
    oauth-expiry-fiphdr: (FipHdr)   default: IX

-- Where sections of FipHdr fields are required or changes to the output style,
use keywords : fixed, partial, combie, optional, repeat, newdate and/or style.
(see The SysAdmin manual for more information).

    They are normally specified :
        fixed:QZ    1234543
        partial:QT  ST,3,2,U,<,>
        combie:QY   ep|na,(0000000)a
        option:QE   ep,11,7,s
        repeat:QK   XK,-,3
    or  repeat:QP   PK,,4,#X
        style:QS    XN,%.03d
        replace:QN  NN  abc=DEF def=GHI
        newdate:QT  hours+3 "\ZD"

--- Input switches are :
Mandatory :
    -s : Hostname where the AMQP server is running. default: none
Optional :
    -1 : one single pass and then stop      default: continuous
    -d : display the conversation with the remote server    default: no
        and pause between files for you to hit return to continue
        valid ONLY with the -1 for single shot; used for debugging troublesome
connections
    -D : display the conversation with the remote server    default: no
    -h : extra FipHdr information           default: none
        This is in FipSeq and should normally be quoted
        Note this is the means that 'iptimer' sends variable information to rmqwire
        eg : -h"SN:hello#TC:200401031"
    -l : do NOT log anything except errors      default: log files only
    -L : log every file and every connection    default: log files only
    -n : name of the service            default: name of the parameter file
    -o : (first) output queue for incoming files    default: spool/2brouted
    -p : port number on the remote host     default: 143
    -t : sleep in seconds between connections/accesses  default: 600 secs
    -V : do NOT grab any files - used with -D -1 to test only   default: run and
grab
    -z : parameter file             default: wire/RMQWIRE
    -Z : do NOT archive any incoming files      default: archive
    -v : display version number and exit.

------------------------------------------------------------------------------
Version Control

 1b 19nov25 -h extraFH ;b amqp-virtual-host added
 0a-i   30oct25 original ;g fiphdrs from meta ;h minor ;i better size management

(copyright) 2026 and previous years FingerPost Ltd.