DXSpider Registration Support System: Difference between revisions
No edit summary |
|||
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. | ||
== βοΈ Features == | == βοΈ Features == | ||
Line 15: | Line 15: | ||
* Configurable templates for email content (Spanish/English) | * 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. | |||
<pre> | |||
msg_sysop <user_call> REGISTER <user_email> <comments> | |||
</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) === | |||
'''User input from Telnet:''' | |||
<pre> | |||
msg_sysop XX0ABC REGISTER xx0abc@domain.com Requesting access | |||
</pre> | |||
{| class="wikitable" style="width:100%" | |||
|- | |||
Β Β | ! 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 | |||
New message via msg_sysop command: | |||
Β Β <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 245: | ||
$email_from = 'you@example.com'; | $email_from = 'you@example.com'; | ||
$email_smtp = 'smtp.example.com'; | $email_smtp = 'smtp.example.com'; | ||
$email_port = 587; | $email_port = 587; | ||
$email_user = 'your_user'; | $email_user = 'your_user'; | ||
$email_pass = 'your_pass'; | $email_pass = 'your_pass'; | ||
Line 78: | Line 255: | ||
* <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> β | * <code>/spider/local/DXvars.pm</code> β Email and Telegram variables | ||
== π§ Installation == | == π§ Installation == | ||
Line 95: | Line 272: | ||
cpan Net::SMTP::SSL | cpan Net::SMTP::SSL | ||
cpan Net::MQTT::Simple | cpan Net::MQTT::Simple | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 105: | Line 281: | ||
my $msg_text_ok = <<"EMAIL"; | my $msg_text_ok = <<"EMAIL"; | ||
... | ... | ||
EMAIL</syntaxhighlight | EMAIL | ||
Β | </syntaxhighlight> | ||
Β | |||
Β | |||
Β | |||
Β | |||
Β | |||
Β | |||
Β | |||
Β | |||
Β | |||
Β | |||
Β | |||
Β | |||
Β | |||
Β | |||
Β | |||
Β | |||
Β | |||
Β | |||
Β | |||
Β | |||
Β | |||
Β | |||
Β | |||
== β
Commands Summary == | == β
Commands Summary == | ||
Line 185: | Line 289: | ||
! Command !! Description | ! Command !! Description | ||
|- | |- | ||
| <code>msg_sysop</code> || User sends registration request | | <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 297: | ||
== π€ Author == | == π€ Author == | ||
'''Kin EA3CV''' β [mailto:ea3cv@cronux.net ea3cv@cronux.net] April 2025 | '''Kin EA3CV''' β [mailto:ea3cv@cronux.net ea3cv@cronux.net] April 2025 |
Revision as of 18:01, 13 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.
βοΈ 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;
$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
- Copy the scripts to
/spider/local_cmd/
- Edit
/spider/local/DXVars.pm
with your email and Telegram settings - Install required Perl modules (see below)
- Restart the DXSpider node
π¦ Required Perl Modules
Install with CPAN (from Linux shell):
cpan Net::SMTP
cpan Net::SMTP::SSL
cpan Net::MQTT::Simple
βοΈ 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