DXSpider Registration Support System: Difference between revisions

From DXSpider Documentation Wiki
Jump to navigation Jump to search
EA3CV (talk | contribs)
Created page with " = 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**. == πŸ“Œ 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..."
Β 
EA2CW (talk | contribs)
Β 
(10 intermediate revisions by 2 users 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''' (default).
πŸ“‘ **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**.


== πŸ“Œ 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 ==


* Users send requests via a simple command: `msg_sysop`
* Users send requests via a simple command: <code>msg_sysop</code>
* Sysops receive Telegram alerts and emails
* Sysops receive Telegram alerts and emails
* Sysops can approve (`auth_register`) or reject (`deny_reg`) registrations
* Sysops can approve (<code>auth_register</code>) or reject (<code>deny_reg</code>) registrations
* Sends multilingual confirmation/denial messages to users
* Sends multilingual confirmation/denial messages to users
* Fully configurable templates for email content
* 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.


== πŸ’¬ How It Works ==
<pre>
1. **User** sends a message from telnet:
msg_sysop <user_call> REGISTER <user_email> <comments>
Β  Β  ```
</pre>
Β  Β  msg_sysop EA0ABC-2 REGISTER name@domain.net Registration request
Β  Β  ```
2. **Sysop receives:**
Β  * πŸ“§ Email with request details
Β  * πŸ“± Telegram notification (optional)
3. **Sysop approves from console:**
Β  Β  ```
Β  Β  auth_register EA0ABC-2
Β  Β  ```
4. **User receives confirmation email**, e.g.:
Β  Β  ```
Β  Β  Subject: Registration accepted EA0ABC-2 at EA3CV-3
Β  Β  User: EA0ABC-2
Β  Β  Password: 5B54gqGz
Β  Β  ```
5. **Or sysop denies from console:**
Β  Β  ```
Β  Β  deny_reg EA0ABC-2
Β  Β  ```
6. **User receives denial notice**, e.g.:
Β  Β  ```
Β  Β  Subject: Access request denied for EA0ABC-2 on EA3CV-3
Β  Β  ```


== πŸ“‚ Scripts Included ==
Example:
All scripts go in `/spider/local_cmd/`
<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.


* [`msg_sysop.pl`](https://github.com/EA3CV/dxspider_info/blob/main/msg_sysop.pl)
<pre>
* [`auth_register.pl`](https://github.com/EA3CV/dxspider_info/blob/main/auth_register.pl)
deny_reg <user_call>
* [`deny_register.pl`](https://github.com/EA3CV/dxspider_info/blob/main/deny_register.pl)
</pre>


Also required:
Example:
<pre>
deny_reg EA1ZZZ
</pre>


* [`Local.pm`](https://github.com/EA3CV/dxspider_info/blob/main/Local.pm) β†’ to `/spider/local/Local.pm`
== πŸ“’ How It Works: Full Example ==


== 🧩 Configuration: DXVars.pm ==
=== REGISTRATION REQUEST (msg_sysop) ===
Append to `/spider/local/DXVars.pm`:


```perl
'''User input from Telnet:'''
<pre>
msg_sysop XX0ABC REGISTER xx0abc@domain.com Requesting access
</pre>


# Telegram config
{| 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


$id = "123456789"; $token = "123456789:ABCDEF-TOKEN";
New message via msg_sysop command:


# Email SMTP config
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


$email_enable = 1;
En breve recibira una respuesta.
Saludos.


$email_from = 'you@example.com';
You will receive a response shortly.
Regards,


$email_smtp = 'smtp.example.com';
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>
|}


$email_port = 587;Β  Β  Β  Β  Β  Β  # Use 465 for SSL
'''Entry in pending_reg.txt:'''
<pre>
20250413-163500,00000000-000000,PENDING ,XX0ABC,u$2wGVX=,1.2.3.4,xx0abc@domain.com
</pre>


$email_user = 'your_user';
=== REGISTRATION APPROVAL (auth_register) ===


$email_pass = 'your_pass'; ```
'''Sysop input from Console:'''
<pre>
auth_reg XX0ABC
</pre>


== πŸ“‘ Files Used ==
{| 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


* `/spider/local_data/pending_reg.txt` β€” Automatically created
Se ha aceptado su solicitud de registro
* `/spider/local_cmd/*.pl` β€” Command scripts
* `/spider/local/Local.pm` β€” Email & Telegram logic


== πŸ”§ Installation ==
Usuario: XX0ABC
1. Copy the scripts to `/spider/local_cmd/`
Password: u$2wGVX=


2. Edit `/spider/local/DXVars.pm` with your email and Telegram settings
Use el comando `set/password` para cambiar la contraseΓ±a si lo desea.
Disfrute.


3. Install required Perl modules (see below) 4. Restart the DXSpider node
Your registration request has been approved.


== πŸ“¦ Required Perl Modules ==
User: XX0ABC
Install with CPAN (or cpanm from Linux shell):
Password: u$2wGVX=


```cpan Net::SMTPΒ  Net::SMTP::SSLΒ  Net::MQTT::SimpleΒ  ```
You can use the `set/password` command to change your password if you wish.
Enjoy.


== ✏️ Template Customization ==
Kin EA3CV
Each script includes variables where you can **modify the bilingual message content**. Look for blocks like:
</pre>
|}


```perl my $msg_text_ok = <<"EMAIL"; ... EMAIL ```
'''Entry in pending_reg.txt:'''
<pre>
20250413-163500,20250413-164558,ACCEPTED,XX0ABC,u$2wGVX=,1.2.3.4,xx0abc@domain.com
</pre>


You can easily customize the tone and language to suit your needs.
=== REGISTRATION DENIAL (deny_register) ===


== πŸ“§ Example Messages ==
'''Sysop input from Console:'''
<pre>
deny_reg XX0ABC
</pre>


=== Request Message ===
{| class="wikitable" style="width:100%"
``` msg_sysop EA0ABC-2 REGISTER name@domain.net Registration request ```
|-
! 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


=== Email to User (Request Received) ===
Se ha denegado su solicitud de registro.
``` Subject: Message received for EA3CV-3 sysop


En breve recibira una respuesta. Saludos.
Si cree que esto es un error, puede contactar con el administrador.
Gracias.


You will receive a response shortly. Regards,
Your registration request has been denied.


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


=== Email to User (Accepted) ===
Kin EA3CV
``` Subject: Registration accepted EA0ABC-2 at EA3CV-3
</pre>
|-
! colspan="2" style="vertical-align:top;" | To sysop via Telegram
|-
|
<pre>
❌ DENIED registration of XX0ABC from 127.0.0.1
</pre>
|}


Se ha aceptado su solicitud de registro
'''Entry in pending_reg.txt:'''
<pre>
20250413-163500,20250413-165008,DENIEDΒ  ,XX0ABC,u$2wGVX=,1.2.3.4,xx0abc@domain.com
</pre>


Usuario: EA0ABC-2 Password: 5B54gqGz
== πŸ“‚ Scripts Included ==


Use el comando `set/password` para cambiar la contraseΓ±a si lo desea.
All scripts go in <code>/spider/local_cmd/</code>


Your registration request has been approved.
* [https://github.com/EA3CV/dxspider_info/blob/main/msg_sysop.pl msg_sysop.pl]
* [https://github.com/EA3CV/dxspider_info/blob/main/auth_register.pl auth_register.pl]
* [https://github.com/EA3CV/dxspider_info/blob/main/deny_register.pl deny_register.pl]


User: EA0ABC-2 Password: 5B54gqGz
Also required:


You can use the `set/password` command to change your password if you wish. Enjoy.
* [https://github.com/EA3CV/dxspider_info/blob/main/Local.pm Local.pm] β†’ to <code>/spider/local/Local.pm</code>


Kin EA3CV ```
== 🧩 Configuration: DXVars.pm ==


=== Email to User (Denied) ===
Append to <code>/spider/local/DXVars.pm</code>:
``` 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.
<syntaxhighlight lang="perl">
# Telegram config
$id = "123456789";
$token = "123456789:ABCDEF-TOKEN";


No cumple con los criterios requeridos. Puede intentarlo mΓ‘s adelante si lo desea.
# 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';
</syntaxhighlight>


We regret to inform you that your access request for EA0ABC-2 has been denied on EA3CV-3.
== πŸ“‘ Files Used ==


It does not meet the required criteria. You may try again later if you wish.
* <code>/spider/local_data/pending_reg.txt</code> β€” Automatically created
* <code>/spider/local_cmd/*.pl</code> β€” Command scripts
* <code>/spider/local/Local.pm</code> β€” Email & Telegram logic
* <code>/spider/local/DXvars.pm</code> β€” Email and Telegram variables


Kin EA3CV ```
== πŸ”§ Installation ==


=== Telegram ===
# Copy the scripts to <code>/spider/local_cmd/</code>
# Edit <code>/spider/local/DXVars.pm</code> with your email and Telegram settings
# Install required Perl modules (see below)
# Restart the DXSpider node


* Incoming request:
== πŸ“¦ Required Perl Modules ==


Β  ```
Install with CPAN (from Linux shell):
Β  πŸ“‘ Message from DXSpider command:
Β  Call: EA0ABC-2
Β  Subject: REGISTER
Β  Email: name@domain.net
Β  Sent by: EA3CV
Β  IP: 1.2.3.4
Β  ```


* Approval:
<syntaxhighlight lang="bash">
cpan Net::SMTP
cpan Net::SMTP::SSL
cpan Net::MQTT::Simple
cpan List:Util
</syntaxhighlight>


Β  ```
== ✏️ Template Customization ==
Β  βœ… Registered EA0ABC-2 in EA3CV-3
Β  ```


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


Β  ```
<syntaxhighlight lang="perl">
  ❌ Registration denied for EA0ABC-2 on EA3CV-3
my $msg_text_ok = <<"EMAIL";
Β  ```
...
EMAIL
</syntaxhighlight>


== βœ… Commands Summary ==
== βœ… Commands Summary ==
| Command Β  Β  Β  Β  Β  | Description Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  Β  | |------------------|------------------------------------| | msg_sysopΒ  Β  Β  Β  | User sends request Β  Β  Β  Β  Β  Β  Β  Β  | | auth_register Β  | Sysop approves registrationΒ  Β  Β  Β  | | deny_reg Β  Β  Β  Β  | Sysop denies registrationΒ  Β  Β  Β  Β  |
Β 
{| class="wikitable"
! Command !! Description
|-
| <code>msg_sysop</code> || User sends registration request
|-
| <code>auth_register</code> || Sysop approves and registers the user
|-
| <code>deny_reg</code> || Sysop denies the request
|}


== πŸ‘€ Author ==
== πŸ‘€ Author ==
Kin EA3CV β€” [ea3cv@cronux.net](mailto: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