DXSpider Registration Support System: Difference between revisions

From DXSpider Documentation Wiki
Jump to navigation Jump to search
EA3CV (talk | contribs)
No edit summary
EA2CW (talk | contribs)
 
(9 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)


== 💬 How It Works ==
== 📥 Commands Usage ==
1. **User** sends a message from telnet:
    ```
    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 ==
The system uses three main commands for managing user registrations:
All scripts go in `/spider/local_cmd/`
 
=== 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.


* [`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)
auth_reg <user_call>
* [`deny_register.pl`](https://github.com/EA3CV/dxspider_info/blob/main/deny_register.pl)
</pre>


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


* [`Local.pm`](https://github.com/EA3CV/dxspider_info/blob/main/Local.pm) → to `/spider/local/Local.pm`
=== deny_register ===
Used by the sysop to reject a registration request.


== 🧩 Configuration: DXVars.pm ==
<pre>
Append to `/spider/local/DXVars.pm`:
deny_reg <user_call>
</pre>


```perl
Example:
<pre>
deny_reg EA1ZZZ
</pre>


# Telegram config
== 📢 How It Works: Full Example ==


$id = "123456789"; $token = "123456789:ABCDEF-TOKEN";
=== REGISTRATION REQUEST (msg_sysop) ===


# Email SMTP config
'''User input from Telnet:'''
<pre>
msg_sysop XX0ABC REGISTER xx0abc@domain.com Requesting access
</pre>


$email_enable = 1;
{| 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


$email_from = 'you@example.com';
New message via msg_sysop command:


$email_smtp = 'smtp.example.com';  
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_port = 587;            # Use 465 for SSL
En breve recibira una respuesta.
Saludos.


$email_user = 'your_user';
You will receive a response shortly.
Regards,


$email_pass = 'your_pass'; ```
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>
|}


== 📑 Files Used ==
'''Entry in pending_reg.txt:'''
<pre>
20250413-163500,00000000-000000,PENDING ,XX0ABC,u$2wGVX=,1.2.3.4,xx0abc@domain.com
</pre>


* `/spider/local_data/pending_reg.txt` — Automatically created
=== REGISTRATION APPROVAL (auth_register) ===
* `/spider/local_cmd/*.pl` — Command scripts
* `/spider/local/Local.pm` — Email & Telegram logic


== 🔧 Installation ==
'''Sysop input from Console:'''
1. Copy the scripts to `/spider/local_cmd/`
<pre>
auth_reg XX0ABC
</pre>


2. Edit `/spider/local/DXVars.pm` with your email and Telegram settings
{| 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


3. Install required Perl modules (see below) 4. Restart the DXSpider node
Se ha aceptado su solicitud de registro


== 📦 Required Perl Modules ==
Usuario: XX0ABC
Install with CPAN (or cpanm from Linux shell):
Password: u$2wGVX=


```cpan Net::SMTP  Net::SMTP::SSL  Net::MQTT::Simple  ```
Use el comando `set/password` para cambiar la contraseña si lo desea.
Disfrute.


== ✏️ Template Customization ==
Your registration request has been approved.
Each script includes variables where you can **modify the bilingual message content**. Look for blocks like:


```perl my $msg_text_ok = <<"EMAIL"; ... EMAIL ```
User: XX0ABC
Password: u$2wGVX=


You can easily customize the tone and language to suit your needs.
You can use the `set/password` command to change your password if you wish.
Enjoy.


== 📧 Example Messages ==
Kin EA3CV
</pre>
|}


=== Request Message ===
'''Entry in pending_reg.txt:'''
``` msg_sysop EA0ABC-2 REGISTER name@domain.net Registration request ```
<pre>
20250413-163500,20250413-164558,ACCEPTED,XX0ABC,u$2wGVX=,1.2.3.4,xx0abc@domain.com
</pre>


=== Email to User (Request Received) ===
=== REGISTRATION DENIAL (deny_register) ===
``` Subject: Message received for EA3CV-3 sysop


En breve recibira una respuesta. Saludos.
'''Sysop input from Console:'''
<pre>
deny_reg XX0ABC
</pre>


You will receive a response shortly. Regards,
{| 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


Kin EA3CV ```
Se ha denegado su solicitud de registro.


=== Email to User (Accepted) ===
Si cree que esto es un error, puede contactar con el administrador.
``` Subject: Registration accepted EA0ABC-2 at EA3CV-3
Gracias.


Se ha aceptado su solicitud de registro
Your registration request has been denied.


Usuario: EA0ABC-2 Password: 5B54gqGz
If you believe this is a mistake, please contact the administrator.
Thank you.


Use el comando `set/password` para cambiar la contraseña si lo desea.
Kin EA3CV
</pre>
|-
! colspan="2" style="vertical-align:top;" | To sysop via Telegram
|-
|
<pre>
❌ DENIED registration of XX0ABC from 127.0.0.1
</pre>
|}


Your registration request has been approved.
'''Entry in pending_reg.txt:'''
<pre>
20250413-163500,20250413-165008,DENIED  ,XX0ABC,u$2wGVX=,1.2.3.4,xx0abc@domain.com
</pre>


User: EA0ABC-2 Password: 5B54gqGz
== 📂 Scripts Included ==


You can use the `set/password` command to change your password if you wish. Enjoy.
All scripts go in <code>/spider/local_cmd/</code>


Kin EA3CV ```
* [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]


=== Email to User (Denied) ===
Also required:
``` 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.
* [https://github.com/EA3CV/dxspider_info/blob/main/Local.pm Local.pm] → to <code>/spider/local/Local.pm</code>


No cumple con los criterios requeridos. Puede intentarlo más adelante si lo desea.
== 🧩 Configuration: DXVars.pm ==


We regret to inform you that your access request for EA0ABC-2 has been denied on EA3CV-3.
Append to <code>/spider/local/DXVars.pm</code>:


It does not meet the required criteria. You may try again later if you wish.
<syntaxhighlight lang="perl">
# Telegram config
$id = "123456789";
$token = "123456789:ABCDEF-TOKEN";


Kin EA3CV ```
# 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>


=== Telegram ===
== 📑 Files Used ==


* Incoming request:
* <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


  ```
== 🔧 Installation ==
  📡 Message from DXSpider command:
  Call: EA0ABC-2
  Subject: REGISTER
  Email: name@domain.net
  Sent by: EA3CV
  IP: 1.2.3.4
  ```


* Approval:
# 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


  ```
== 📦 Required Perl Modules ==
  ✅ Registered EA0ABC-2 in EA3CV-3
  ```


* Denial:
Install with CPAN (from Linux shell):


  ```
<syntaxhighlight lang="bash">
  ❌ Registration denied for EA0ABC-2 on EA3CV-3
cpan Net::SMTP
  ```
cpan Net::SMTP::SSL
cpan Net::MQTT::Simple
cpan List:Util
</syntaxhighlight>


== ✅ Commands Summary ==
== ✏️ Template Customization ==
| Command          | Description                        |


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


| msg_sysop        | User sends request                |
<syntaxhighlight lang="perl">
my $msg_text_ok = <<"EMAIL";
...
EMAIL
</syntaxhighlight>


| auth_register    | Sysop approves registration        |
== ✅ Commands Summary ==


| 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.netApril 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:

🧩 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 EA3CVea3cv@cronux.net April 2025