DXSpider Registration Support System: Difference between revisions

From DXSpider Documentation Wiki
Jump to navigation Jump to search
EA2CW (talk | contribs)
EA2CW (talk | contribs)
Β 
(3 intermediate revisions by one other user not shown)
Line 1: Line 1:
= DXSpider Registration Support System =
= DXSpider Registration Support System =


πŸ“‘ '''DXSpider Registration Support System''' provides a user-friendly way for sysops to manage registration requests via '''email''' and/or '''Telegram''', with clear messages and configurable templates in '''Spanish and English'''.
πŸ“‘ '''DXSpider Registration Support System''' provides a user-friendly way for sysops to manage registration requests via '''email''' and/or '''Telegram''', with clear messages and configurable templates in '''Spanish and English''' (default).


== πŸ“Œ Purpose ==
== πŸ“Œ Purpose ==


This system adds simple tools to support '''registration and password management''' on a DXSpider node. It allows users to send a request, and sysops to authorize or deny it with minimal effort.
This system adds simple tools to support '''registration and password management''' on a DXSpider node. It allows users to send a request, and sysops to authorize or deny it with minimal effort, while keeping a record of all registration requests and their acceptance or denial.
It is not allowed to send more than 10 messages per day per IP.


== βš™οΈ Features ==
== βš™οΈ Features ==
Line 15: Line 16:
* Configurable templates for email content (Spanish/English)
* Configurable templates for email content (Spanish/English)


== πŸ’¬ How It Works ==
== πŸ“₯ Commands Usage ==


1. '''User''' sends a message:
The system uses three main commands for managing user registrations:
Β  <pre>
Β  msg_sysop EA0ABC-2 REGISTER name@domain.net Registration request</pre>


2. '''Sysop receives:'''
=== msg_sysop ===
Β  * πŸ“§ Email with request details
Used by the user to send a registration request.
Β  * πŸ“± Telegram notification (optional)


3. '''Sysop approves:'''
<pre>
Β  <pre>
msg_sysop <user_call> REGISTER <user_email> <comments>
Β  auth_register EA0ABC-2</pre>
</pre>
Β 
Example:
<pre>
msg_sysop EA1ZZZ REGISTER ea1zzz@example.net I would like to join the cluster
</pre>
Β 
=== auth_register ===
Used by the sysop to approve and register the user.
Β 
<pre>
auth_reg <user_call>
</pre>
Β 
Example:
<pre>
auth_reg EA1ZZZ
</pre>
Β 
=== deny_register ===
Used by the sysop to reject a registration request.
Β 
<pre>
deny_reg <user_call>
</pre>
Β 
Example:
<pre>
deny_reg EA1ZZZ
</pre>
Β 
== πŸ“’ How It Works: Full Example ==
Β 
=== REGISTRATION REQUEST (msg_sysop) ===


4. '''User receives confirmation email''', e.g.:
'''User input from Telnet:'''
Β  <pre>
<pre>
Β  Subject: Registration accepted EA0ABC-2 at EA3CV-3
msg_sysop XX0ABC REGISTER xx0abc@domain.com Requesting access
Β  User: EA0ABC-2
</pre>
Β  Password: 5B54gqGz</pre>


5. '''Or sysop denies:'''
{| class="wikitable" style="width:100%"
Β  <pre>
|-
Β Β  deny_reg EA0ABC-2</pre>
! style="width:50%; vertical-align:top;" | Response to user
! style="width:50%; vertical-align:top;" | To sysop via email
|-
|
<pre>
Message sent to sysop.
Β Β  Call: XX0ABC
Subject: REGISTER
Β  Email: xx0abc@domain.com
Message: Requesting access
</pre>
|
<pre>
Subject: Msg received from XX0ABC (REGISTER) to EA3CV-2


6. '''User receives denial notice''', e.g.:
New message via msg_sysop command:
Β Β  <pre>
Β 
Β  Subject: Access request denied for EA0ABC-2 on EA3CV-3</pre>
Node: EA3CV-2
Call: XX0ABC
Subject: REGISTER
Email: xx0abc@domain.com
IP: 1.2.3.4
Message: Requesting access
</pre>
|-
! style="vertical-align:top;" | To user via email
! style="vertical-align:top;" | To sysop via Telegram
|-
|
<pre>
Asunto: Msg del sysop de / Msg from sysop of EA3CV-2
Β 
En breve recibira una respuesta.
Saludos.
Β 
You will receive a response shortly.
Regards,
Β 
Kin EA3CV
</pre>
|
<pre>
πŸ“‘ Message from DXSpider command:
Date: 13 April 2025 16:35:02
Call: XX0ABC
Subject: REGISTER
Email: xx0abc@domain.com
Sent by: EA3CV
IP: 1.2.3.4
Requesting access
</pre>
|}
Β 
'''Entry in pending_reg.txt:'''
<pre>
20250413-163500,00000000-000000,PENDING ,XX0ABC,u$2wGVX=,1.2.3.4,xx0abc@domain.com
</pre>
Β 
=== REGISTRATION APPROVAL (auth_register) ===
Β 
'''Sysop input from Console:'''
<pre>
auth_reg XX0ABC
</pre>
Β 
{| class="wikitable" style="width:100%"
|-
! style="width:50%; vertical-align:top;" | Sysop output
! style="width:50%; vertical-align:top;" | To user via email
|-
|
<pre>
Registration completed for XX0ABC
Email: joaquin@cronux.net
IP: Β  127.0.0.1
Pass:Β  u$2wGVX=
</pre>
|
<pre>
Asunto: Aceptada su solicitud de registro / Registration accepted XX0ABC at EA3CV-2
Β 
Se ha aceptado su solicitud de registro
Β 
Usuario: XX0ABC
Password: u$2wGVX=
Β 
Use el comando `set/password` para cambiar la contraseΓ±a si lo desea.
Disfrute.
Β 
Your registration request has been approved.
Β 
User: XX0ABC
Password: u$2wGVX=
Β 
You can use the `set/password` command to change your password if you wish.
Enjoy.
Β 
Kin EA3CV
</pre>
|}
Β 
'''Entry in pending_reg.txt:'''
<pre>
20250413-163500,20250413-164558,ACCEPTED,XX0ABC,u$2wGVX=,1.2.3.4,xx0abc@domain.com
</pre>
Β 
=== REGISTRATION DENIAL (deny_register) ===
Β 
'''Sysop input from Console:'''
<pre>
deny_reg XX0ABC
</pre>
Β 
{| class="wikitable" style="width:100%"
|-
! style="width:50%; vertical-align:top;" | Sysop output
! style="width:50%; vertical-align:top;" | To user via email
|-
|
<pre>
Registration denied for XX0ABC
Email: joaquin@cronux.net
IP:Β  Β  127.0.0.1
</pre>
|
<pre>
Asunto: Denegada su solicitud de registro / Registration denied XX0ABC at EA3CV-2
Β 
Se ha denegado su solicitud de registro.
Β 
Si cree que esto es un error, puede contactar con el administrador.
Gracias.
Β 
Your registration request has been denied.
Β 
If you believe this is a mistake, please contact the administrator.
Thank you.
Β 
Kin EA3CV
</pre>
|-
! colspan="2" style="vertical-align:top;" | To sysop via Telegram
|-
|
<pre>
❌ DENIED registration of XX0ABC from 127.0.0.1
</pre>
|}
Β 
'''Entry in pending_reg.txt:'''
<pre>
20250413-163500,20250413-165008,DENIEDΒ  ,XX0ABC,u$2wGVX=,1.2.3.4,xx0abc@domain.com
</pre>


== πŸ“‚ Scripts Included ==
== πŸ“‚ Scripts Included ==
Line 68: Line 246:
$email_from = 'you@example.com';
$email_from = 'you@example.com';
$email_smtp = 'smtp.example.com';
$email_smtp = 'smtp.example.com';
$email_port = 587; Β  Β  Β  # Port 587 for STARTTLS/Port 465 for SSL)
$email_port = 587; Β  Β  # Port 587 for STARTTLS/Port 465 for SSL)
$email_user = 'your_user';
$email_user = 'your_user';
$email_pass = 'your_pass';
$email_pass = 'your_pass';
Line 78: Line 256:
* <code>/spider/local_cmd/*.pl</code> β€” Command scripts
* <code>/spider/local_cmd/*.pl</code> β€” Command scripts
* <code>/spider/local/Local.pm</code> β€” Email & Telegram logic
* <code>/spider/local/Local.pm</code> β€” Email & Telegram logic
* <code> /spider/local/DXvars.pm</code> β€” email and Telegram variables
* <code>/spider/local/DXvars.pm</code> β€” Email and Telegram variables


== πŸ”§ Installation ==
== πŸ”§ Installation ==
Line 95: Line 273:
cpan Net::SMTP::SSL
cpan Net::SMTP::SSL
cpan Net::MQTT::Simple
cpan Net::MQTT::Simple
cpan JSON
cpan List:Util
</syntaxhighlight>
</syntaxhighlight>


Line 105: Line 283:
my $msg_text_ok = <<"EMAIL";
my $msg_text_ok = <<"EMAIL";
...
...
EMAIL</syntaxhighlight>
EMAIL
Β 
</syntaxhighlight>
You can change these to fit your tone and language.
Β 
== πŸ“§ Example Messages ==
Β 
=== Request Received ===
<pre>
Subject: Message received for EA3CV-3 sysop
Β 
En breve recibira una respuesta.
Saludos.
Β 
You will receive a response shortly.
Regards,
Β 
Kin EA3CV</pre>
Β 
=== Confirmation Message ===
<pre>
Subject: Registration accepted EA0ABC-2 at EA3CV-3
Β 
Se ha aceptado su solicitud de registro
Β 
Usuario: EA0ABC-2
Password: 5B54gqGz
Β 
Use el comando `set/password` para cambiar la contraseΓ±a si lo desea.
Disfrute.
Β 
Your registration request has been approved.
Β 
User: EA0ABC-2
Password: 5B54gqGz
Β 
You can use the `set/password` command to change your password if you wish.
Enjoy.
Β 
Kin EA3CV</pre>
Β 
=== Denial Message ===
<pre>
Subject: Access request denied for EA0ABC-2 on EA3CV-3
Β 
Lamentamos informarle que su solicitud de acceso para EA0ABC-2 ha sido denegada en EA3CV-3.
Β 
No cumple con los criterios requeridos.
Puede intentarlo mΓ‘s adelante si lo desea.
Β 
We regret to inform you that your access request for EA0ABC-2 has been denied on EA3CV-3.
Β 
It does not meet the required criteria.
You may try again later if you wish.
Β 
Kin EA3CV</pre>
Β 
=== Telegram Notifications ===
Β 
* Incoming request:
Β  <pre>
Β  πŸ“‘ Message from DXSpider command:
Β  Call: EA0ABC-2
Β  Subject: REGISTER
Β  Email: name@domain.net
Β  Sent by: EA3CV
Β  IP: 1.2.3.4</pre>
Β 
* Approval:
Β  <pre>
Β  βœ… Registered EA0ABC-2 in EA3CV-3</pre>
Β 
* Denial:
Β  <pre>
  ❌ Registration denied for EA0ABC-2 on EA3CV-3</pre>


== βœ… Commands Summary ==
== βœ… Commands Summary ==
Line 185: Line 291:
! Command !! Description
! Command !! Description
|-
|-
| <code>msg_sysop</code> || User sends registration request (and anothers)
| <code>msg_sysop</code> || User sends registration request
|-
|-
| <code>auth_register</code> || Sysop approves and registers the user
| <code>auth_register</code> || Sysop approves and registers the user
Line 193: Line 299:


== πŸ‘€ Author ==
== πŸ‘€ Author ==
'''Kin EA3CV''' β€” [mailto:ea3cv@cronux.net ea3cv@cronux.net] April 2025
'''Kin EA3CV''' β€” [mailto:ea3cv@cronux.net ea3cv@cronux.net] April 2025

Latest revision as of 10:08, 14 April 2025

DXSpider Registration Support System

πŸ“‘ DXSpider Registration Support System provides a user-friendly way for sysops to manage registration requests via email and/or Telegram, with clear messages and configurable templates in Spanish and English (default).

πŸ“Œ Purpose

This system adds simple tools to support registration and password management on a DXSpider node. It allows users to send a request, and sysops to authorize or deny it with minimal effort, while keeping a record of all registration requests and their acceptance or denial. It is not allowed to send more than 10 messages per day per IP.

βš™οΈ Features

  • Users send requests via a simple command: msg_sysop
  • Sysops receive Telegram alerts and emails
  • Sysops can approve (auth_register) or reject (deny_reg) registrations
  • Sends multilingual confirmation/denial messages to users
  • Configurable templates for email content (Spanish/English)

πŸ“₯ Commands Usage

The system uses three main commands for managing user registrations:

msg_sysop

Used by the user to send a registration request.

msg_sysop <user_call> REGISTER <user_email> <comments>

Example:

msg_sysop EA1ZZZ REGISTER ea1zzz@example.net I would like to join the cluster

auth_register

Used by the sysop to approve and register the user.

auth_reg <user_call>

Example:

auth_reg EA1ZZZ

deny_register

Used by the sysop to reject a registration request.

deny_reg <user_call>

Example:

deny_reg EA1ZZZ

πŸ“’ How It Works: Full Example

REGISTRATION REQUEST (msg_sysop)

User input from Telnet:

msg_sysop XX0ABC REGISTER xx0abc@domain.com Requesting access
Response to user To sysop via email
Message sent to sysop.
   Call: XX0ABC
Subject: REGISTER
  Email: xx0abc@domain.com
Message: Requesting access
Subject: Msg received from XX0ABC (REGISTER) to EA3CV-2

New message via msg_sysop command:

Node: EA3CV-2
Call: XX0ABC
Subject: REGISTER
Email: xx0abc@domain.com
IP: 1.2.3.4
Message: Requesting access
To user via email To sysop via Telegram
Asunto: Msg del sysop de / Msg from sysop of EA3CV-2

En breve recibira una respuesta.
Saludos.

You will receive a response shortly.
Regards,

Kin EA3CV
πŸ“‘ Message from DXSpider command:
Date: 13 April 2025 16:35:02
Call: XX0ABC
Subject: REGISTER
Email: xx0abc@domain.com
Sent by: EA3CV
IP: 1.2.3.4
Requesting access

Entry in pending_reg.txt:

20250413-163500,00000000-000000,PENDING ,XX0ABC,u$2wGVX=,1.2.3.4,xx0abc@domain.com

REGISTRATION APPROVAL (auth_register)

Sysop input from Console:

auth_reg XX0ABC
Sysop output To user via email
Registration completed for XX0ABC
Email: joaquin@cronux.net
IP:    127.0.0.1
Pass:  u$2wGVX=
Asunto: Aceptada su solicitud de registro / Registration accepted XX0ABC at EA3CV-2

Se ha aceptado su solicitud de registro

Usuario: XX0ABC
Password: u$2wGVX=

Use el comando `set/password` para cambiar la contraseΓ±a si lo desea.
Disfrute.

Your registration request has been approved.

User: XX0ABC
Password: u$2wGVX=

You can use the `set/password` command to change your password if you wish.
Enjoy.

Kin EA3CV

Entry in pending_reg.txt:

20250413-163500,20250413-164558,ACCEPTED,XX0ABC,u$2wGVX=,1.2.3.4,xx0abc@domain.com

REGISTRATION DENIAL (deny_register)

Sysop input from Console:

deny_reg XX0ABC
Sysop output To user via email
Registration denied for XX0ABC
Email: joaquin@cronux.net
IP:    127.0.0.1
Asunto: Denegada su solicitud de registro / Registration denied XX0ABC at EA3CV-2

Se ha denegado su solicitud de registro.

Si cree que esto es un error, puede contactar con el administrador.
Gracias.

Your registration request has been denied.

If you believe this is a mistake, please contact the administrator.
Thank you.

Kin EA3CV
To sysop via Telegram
❌ DENIED registration of XX0ABC from 127.0.0.1

Entry in pending_reg.txt:

20250413-163500,20250413-165008,DENIED  ,XX0ABC,u$2wGVX=,1.2.3.4,xx0abc@domain.com

πŸ“‚ Scripts Included

All scripts go in /spider/local_cmd/

Also required:

  • Local.pm β†’ to /spider/local/Local.pm

🧩 Configuration: DXVars.pm

Append to /spider/local/DXVars.pm:

# Telegram config
$id = "123456789";
$token = "123456789:ABCDEF-TOKEN";

# Email SMTP config
$email_enable = 1;
$email_from = 'you@example.com';
$email_smtp = 'smtp.example.com';
$email_port = 587;      # Port 587 for STARTTLS/Port 465 for SSL)
$email_user = 'your_user';
$email_pass = 'your_pass';

πŸ“‘ Files Used

  • /spider/local_data/pending_reg.txt β€” Automatically created
  • /spider/local_cmd/*.pl β€” Command scripts
  • /spider/local/Local.pm β€” Email & Telegram logic
  • /spider/local/DXvars.pm β€” Email and Telegram variables

πŸ”§ Installation

  1. Copy the scripts to /spider/local_cmd/
  2. Edit /spider/local/DXVars.pm with your email and Telegram settings
  3. Install required Perl modules (see below)
  4. Restart the DXSpider node

πŸ“¦ Required Perl Modules

Install with CPAN (from Linux shell):

cpan Net::SMTP
cpan Net::SMTP::SSL
cpan Net::MQTT::Simple
cpan List:Util

✏️ Template Customization

Each script includes variables where you can modify the bilingual message content. Look for blocks like:

my $msg_text_ok = <<"EMAIL";
...
EMAIL

βœ… Commands Summary

Command Description
msg_sysop User sends registration request
auth_register Sysop approves and registers the user
deny_reg Sysop denies the request

πŸ‘€ Author

Kin EA3CV β€” ea3cv@cronux.net April 2025