====== Finger Service ======

The Synchronet Finger Service (''[[dir:exec]]/fingerservice.js'') supports the following protocols:
  * [[wp>Finger]] over TCP ([[RFC>1288|RFC 1288]])
  * Finger over UDP (non-standard, deprecated)
  * Active Users (a.k.a. [[wp>SYSTAT (protocol)]]) over TCP and UDP ([[RFC>866|RFC 866]])

**Note:**
Active Users over UDP is required for inter-bbs [[module:sbbsimsg|Instant Message]] support.

===== Configuration =====
Example configurations (in ''[[dir:ctrl]]/[[config:services.ini]]''):

<file>
[Finger]
Port=79
Options=NO_HOST_LOOKUP
Command=fingerservice.js
</file>

<file>
[ActiveUser-UDP]
Port=11
Options=UDP | NO_HOST_LOOKUP
Command=fingerservice.js -u
</file>

Example configurations (in ''[[dir:ctrl]]/[[config:modopts.ini]]'');

<file>
[fingerservice]
include_age = true
include_gender = true
include_location = true
include_real_name = true
findfile = false
bbslist = false
</file>


==== Command-line options ====

Add to the command lines shown above to change the behavior of the Finger service:

^ Option ^ Description ^
| ''-n''  | Eliminate user age and gender information from the query results |
| ''-a''  | Report user aliases **only** (no real names) |
| ''-ff'' | Enable the findfile feature (requires a "Guest" user account) | 
| ''-u''  | Report users currently online **only** (ignore any request), a.k.a. //Active Users// protocol |

===== Plan Files ===== 

Each BBS user may have their own finger-readable ''plan'' file stored as ''[[dir:data]]/user/####.plan'' where #### is the user's account number on the BBS. This file can be viewed, edited, or deleted on the BBS ([[server:Terminal]] Server) by using the ''PLAN'' string command (e.g. type the '';PLAN'' command, using most command shells).

===== Special Requests =====

The normal Finger protocol usage is to request information on a specific user-ID/name (sent by the client). The Synchronet Finger Service (when **not** run in //Active Users// protocol mode), supports the following //Special Requests// as well:

^ Request        ^ Description ^
| ''?ver''       | Synchronet version information |
| ''?uptime''    | Current system up-time |
| ''?time''      | Current system time |
| ''?logon.lst'' | BBS Logon list |
| ''?auto.msg''  | BBS auto-message |
| ''?sockopts''  | Current socket options |
| ''?stats''     | BBS Statistics |
| ''?nodelist''  | BBS node list |
| ''?services''  | Other TCP/IP Services enabled/running |
| ''?findfile''  | Find a file (enabled with the ''-ff'' option) |

==== Additional Special Requests ====

You can have additional files available for query via Finger //Special Request// by placing the files in the ''[[dir:data]]/finger'' directory. Such files may be request remotely with a request to finger ''?//filename//'', where //filename// is the name of the file to be sent. 

===== See Also =====
  * [[:config:services.ini]]
  * [[:module:Finger]] (Finger Client module)
  * [[:module:sbbsimsg]] (Instant Message module)
  * [[:service:msp|MSP Service]]
  * [[:service:|Services]]

{{tag>tcpip services javascript chat sbbslist instant-messaging}}
