DXSpider Registration Support System: Difference between revisions

From DXSpider Documentation Wiki
Jump to navigation Jump to search
EA3CV (talk | contribs)
No edit summary
EA3CV (talk | contribs)
No edit summary
Line 1: Line 1:


= DXSpider Registration Support System =
= DXSpider Registration & Password Assistant 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 provides a user-friendly assistant for managing user registrations and passwords in DXSpider. It includes:


== 📌 Purpose ==
- 📬 Sending bilingual emails (Spanish/English) to users. - 📲 Optional Telegram notifications to the sysop. - ⚙️ Three modular commands that can work independently or as a complete workflow:
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.
  - `msg_sysop`
  - `auth_register`
  - `deny_register`
All user-facing text (email bodies, etc.) is editable for customization.


== ⚙️ Features ==
== 🧰 Included Commands ==


* Users send requests via a simple command: `msg_sysop`
=== msg_sysop.pl ===
* Sysops receive Telegram alerts and emails
- Sends a message from a user to the sysop via email and/or Telegram. - Optionally adds the user to a pending registration list if subject includes `REGISTER`.
* Sysops can approve (`auth_register`) or reject (`deny_reg`) registrations
* Sends multilingual confirmation/denial messages to users
* Fully configurable templates for email content


== 💬 How It Works ==
=== auth_register.pl ===
1. **User** sends a message from telnet:
- Authorizes a user in `pending_reg.txt`. - Registers the user in DXSpider. - Sends a bilingual welcome email with username/password. - Sends a Telegram notification to the sysop.
    ```
    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 ==
=== deny_register.pl ===
All scripts go in `/spider/local_cmd/`
- Denies a user registration from `pending_reg.txt`. - Sends a bilingual rejection email to the user. - Sends a Telegram notification to the sysop.


* [`msg_sysop.pl`](https://github.com/EA3CV/dxspider_info/blob/main/msg_sysop.pl)
== 📄 How to Use ==
* [`auth_register.pl`](https://github.com/EA3CV/dxspider_info/blob/main/auth_register.pl)
=== From the DXSpider shell:
* [`deny_register.pl`](https://github.com/EA3CV/dxspider_info/blob/main/deny_register.pl)
Send a registration request:
  msg_sysop EA0ABC-2 REGISTER name@domain.net Registration request


Also required:
Authorize a registration:
  auth_register EA0ABC-2


* [`Local.pm`](https://github.com/EA3CV/dxspider_info/blob/main/Local.pm) → to `/spider/local/Local.pm`
Deny a registration:
  deny_register EA0ABC-2


== 🧩 Configuration: DXVars.pm ==
== 📦 Requirements ==
Append to `/spider/local/DXVars.pm`:
=== DXVars.pm Located at: `/spider/local/DXVars.pm`
 
You must include at the bottom (before `1;`) the following configuration:


```perl
```perl
Line 59: Line 40:
# Telegram config
# Telegram config


$id = "123456789"; $token = "123456789:ABCDEF-TOKEN";
$id = "123456789";                       # Your Telegram chat ID $token = "123456789:ABCdEfGhIjKlmNo";   # Telegram bot token


# Email SMTP config
# Email SMTP config


$email_enable = 1;
$email_enable = 1; $email_from = 'sysop@example.net'; $email_smtp = 'smtp.provider.net'; $email_port = 587;                      # 587 for STARTTLS or 465 for SSL $email_user = 'smtpuser@example.net'; $email_pass = 'smtppassword'; ```
 
$email_from = 'you@example.com';  
 
$email_smtp = 'smtp.example.com';  


$email_port = 587;            # Use 465 for SSL
=== Local.pm File: `/spider/local/Local.pm`


$email_user = 'your_user';
📥 Download: https://github.com/EA3CV/dxspider_info/blob/main/Local.pm


$email_pass = 'your_pass'; ```
== 🔧 Installation


== 📑 Files Used ==
1. Download the scripts:


* `/spider/local_data/pending_reg.txt` — Automatically created
```text /spider/local_cmd/msg_sysop.pl /spider/local_cmd/auth_register.pl /spider/local_cmd/deny_register.pl ```
* `/spider/local_cmd/*.pl` — Command scripts
* `/spider/local/Local.pm` — Email & Telegram logic


== 🔧 Installation ==
📥 Download them from:
1. Copy the scripts to `/spider/local_cmd/`


2. Edit `/spider/local/DXVars.pm` with your email and Telegram settings
- https://github.com/EA3CV/dxspider_info/blob/main/msg_sysop.pl - https://github.com/EA3CV/dxspider_info/blob/main/auth_register.pl - https://github.com/EA3CV/dxspider_info/blob/main/deny_register.pl


3. Install required Perl modules (see below) 4. Restart the DXSpider node
2. Make sure `/spider/local/Local.pm` is updated.


== 📦 Required Perl Modules ==
3. Restart DXSpider: ```bash ./cluster.pl restart ```
Install with CPAN (or cpanm from Linux shell):


```cpan Net::SMTP  Net::SMTP::SSL  Net::MQTT::Simple  ```
== 🧩 Required Perl Modules


== ✏️ Template Customization ==
Install the following modules using `cpan`:
Each script includes variables where you can **modify the bilingual message content**. Look for blocks like:


```perl my $msg_text_ok = <<"EMAIL"; ... EMAIL ```
```bash cpan JSON cpan Net::MQTT::Simple cpan Net::SMTP cpan Net::SMTP::SSL ```


You can easily customize the tone and language to suit your needs.
== 📂 Files Used


== 📧 Example Messages ==
- `/spider/local_cmd/msg_sysop.pl` - `/spider/local_cmd/auth_register.pl` - `/spider/local_cmd/deny_register.pl` - `/spider/local/Local.pm` - `/spider/local_data/pending_reg.txt` (created automatically)


=== Request Message ===
== ✉️ Emails Sent to Users
``` msg_sysop EA0ABC-2 REGISTER name@domain.net Registration request ```


=== Email to User (Request Received) ===
=== Message confirmation: _Subject_: Message received for EA3CV-3 sysop
``` Subject: Message received for EA3CV-3 sysop


En breve recibira una respuesta. Saludos.
``` En breve recibira una respuesta. Saludos.


You will receive a response shortly. Regards,
You will receive a response shortly. Regards,
Line 114: Line 84:
Kin EA3CV ```
Kin EA3CV ```


=== Email to User (Accepted) ===
=== Welcome after auth_register: _Subject_: Aceptada su solicitud de registro / Registration accepted EA0ABC-2 at EA3CV-3
``` Subject: Registration accepted EA0ABC-2 at EA3CV-3


Se ha aceptado su solicitud de registro
``` Se ha aceptado su solicitud de registro


Usuario: EA0ABC-2 Password: 5B54gqGz
Usuario: EA0ABC-2 Password: 5B54gqGz


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


Your registration request has been approved.
Your registration request has been approved.
Line 131: Line 100:
Kin EA3CV ```
Kin EA3CV ```


=== Email to User (Denied) ===
=== Rejection after deny_register: _Subject_: Solicitud de acceso denegada / Access request denied for EA0ABC-2 on EA3CV-3
``` 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.
``` 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.
No cumple con los criterios requeridos. Puede intentarlo más adelante si lo desea.
Line 144: Line 112:
Kin EA3CV ```
Kin EA3CV ```


=== Telegram ===
== 📲 Telegram Messages (to sysop)
 
From msg_sysop:


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


  ```
Registration request ```
  📡 Message from DXSpider command:
 
  Call: EA0ABC-2
From auth_register:
  Subject: REGISTER
 
  Email: name@domain.net
``` ✅ Registered EA0ABC-2 in EA3CV-3 ```
  Sent by: EA3CV
 
  IP: 1.2.3.4
From deny_register:
  ```
 
``` ❌ Registration denied for EA0ABC-2 on EA3CV-3 ```
 
== 📑 Command Outputs (user view)


* Approval:
From `msg_sysop`:


  ```
``` Message sent to sysop.
  ✅ Registered EA0ABC-2 in EA3CV-3
  Call: EA0ABC-2
   ```
Subject: REGISTER
   Email: name@domain.net
Message: Registration request ```


* Denial:
From `auth_register`:


  ```
``` ✔️ Registration completed for EA0ABC-2
  ❌ Registration denied for EA0ABC-2 on EA3CV-3
  Email: name@domain.net
  ```
  IP:    1.2.3.4
  Pass:  5B54gqGz
```


== ✅ Commands Summary ==
From `deny_register`:
| Command          | Description                        |


|------------------|------------------------------------|
``` ✔️ Registration denied for EA0ABC-2
  Email: name@domain.net
  IP:    1.2.3.4
```


| msg_sysop        | User sends request                |
== ✏️ Customizing Texts


| auth_register    | Sysop approves registration        |
Each script includes a section at the beginning where you can edit the bilingual email content. Modify these strings to suit your cluster style or tone.


| deny_reg        | Sysop denies registration          |
== 👤 Author


== 👤 Author ==
📧 Kin EA3CV — [ea3cv@cronux.net](mailto:ea3cv@cronux.net)  April 2025
Kin EA3CV — [ea3cv@cronux.net](mailto:ea3cv@cronux.net)  April 2025

Revision as of 16:56, 11 April 2025

DXSpider Registration & Password Assistant System

📌 Purpose This system provides a user-friendly assistant for managing user registrations and passwords in DXSpider. It includes:

- 📬 Sending bilingual emails (Spanish/English) to users. - 📲 Optional Telegram notifications to the sysop. - ⚙️ Three modular commands that can work independently or as a complete workflow:

 - `msg_sysop`
 - `auth_register`
 - `deny_register`

All user-facing text (email bodies, etc.) is editable for customization.

🧰 Included Commands

msg_sysop.pl

- Sends a message from a user to the sysop via email and/or Telegram. - Optionally adds the user to a pending registration list if subject includes `REGISTER`.

auth_register.pl

- Authorizes a user in `pending_reg.txt`. - Registers the user in DXSpider. - Sends a bilingual welcome email with username/password. - Sends a Telegram notification to the sysop.

deny_register.pl

- Denies a user registration from `pending_reg.txt`. - Sends a bilingual rejection email to the user. - Sends a Telegram notification to the sysop.

📄 How to Use

=== From the DXSpider shell:

Send a registration request:
  msg_sysop EA0ABC-2 REGISTER name@domain.net Registration request
Authorize a registration:
  auth_register EA0ABC-2
Deny a registration:
  deny_register EA0ABC-2

📦 Requirements

=== DXVars.pm Located at: `/spider/local/DXVars.pm`

You must include at the bottom (before `1;`) the following configuration:

```perl

  1. Telegram config

$id = "123456789"; # Your Telegram chat ID $token = "123456789:ABCdEfGhIjKlmNo"; # Telegram bot token

  1. Email SMTP config

$email_enable = 1; $email_from = 'sysop@example.net'; $email_smtp = 'smtp.provider.net'; $email_port = 587; # 587 for STARTTLS or 465 for SSL $email_user = 'smtpuser@example.net'; $email_pass = 'smtppassword'; ```

=== Local.pm File: `/spider/local/Local.pm`

📥 Download: https://github.com/EA3CV/dxspider_info/blob/main/Local.pm

== 🔧 Installation

1. Download the scripts:

```text /spider/local_cmd/msg_sysop.pl /spider/local_cmd/auth_register.pl /spider/local_cmd/deny_register.pl ```

📥 Download them from:

- https://github.com/EA3CV/dxspider_info/blob/main/msg_sysop.pl - https://github.com/EA3CV/dxspider_info/blob/main/auth_register.pl - https://github.com/EA3CV/dxspider_info/blob/main/deny_register.pl

2. Make sure `/spider/local/Local.pm` is updated.

3. Restart DXSpider: ```bash ./cluster.pl restart ```

== 🧩 Required Perl Modules

Install the following modules using `cpan`:

```bash cpan JSON cpan Net::MQTT::Simple cpan Net::SMTP cpan Net::SMTP::SSL ```

== 📂 Files Used

- `/spider/local_cmd/msg_sysop.pl` - `/spider/local_cmd/auth_register.pl` - `/spider/local_cmd/deny_register.pl` - `/spider/local/Local.pm` - `/spider/local_data/pending_reg.txt` (created automatically)

== ✉️ Emails Sent to Users

=== Message confirmation: _Subject_: Message received for EA3CV-3 sysop

``` En breve recibira una respuesta. Saludos.

You will receive a response shortly. Regards,

Kin EA3CV ```

=== Welcome after auth_register: _Subject_: Aceptada su solicitud de registro / 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 ```

=== Rejection after deny_register: _Subject_: Solicitud de acceso denegada / 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 ```

== 📲 Telegram Messages (to sysop)

From msg_sysop:

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

Registration request ```

From auth_register:

``` ✅ Registered EA0ABC-2 in EA3CV-3 ```

From deny_register:

``` ❌ Registration denied for EA0ABC-2 on EA3CV-3 ```

== 📑 Command Outputs (user view)

From `msg_sysop`:

``` Message sent to sysop.

  Call: EA0ABC-2

Subject: REGISTER

 Email: name@domain.net

Message: Registration request ```

From `auth_register`:

``` ✔️ Registration completed for EA0ABC-2

  Email: name@domain.net
  IP:    1.2.3.4
  Pass:  5B54gqGz

```

From `deny_register`:

``` ✔️ Registration denied for EA0ABC-2

  Email: name@domain.net
  IP:    1.2.3.4

```

== ✏️ Customizing Texts

Each script includes a section at the beginning where you can edit the bilingual email content. Modify these strings to suit your cluster style or tone.

== 👤 Author

📧 Kin EA3CV — [ea3cv@cronux.net](mailto:ea3cv@cronux.net) April 2025