A Service of Softnik Technologies

SED-CLI: Command Line Interface

SED-CLI is the command-line interface for Watch My Domains SED. You can update the application, change settings, test configurations and much more, without using a web browser.

Using sed.php

php sed.php

Watch My Domains Server Edition 4.2.0.578, Jun 14 2021
Command Line Tool

Options

-v
Show version.

dropall
Drop all tables.

resetdb
Reset all tables except the settings table.

drop=<tablename>
Drop the specified table.

wipe=<tablename>
Empty the specified table.

reset=<tablename>
Reset the specified empty table to default (if any).

index=<indexname> <new|drop|cleanup> table=<tablename> type=<primary|unique|simple> columns=<columnnames>
Create a new index, drop an existing index from table or cleanup all 
manually created indexes. The 'type' and 'columns' are required if 
creating a new index. The column names should be comma separated.
Index name and extra options are not required if 'cleanup' is specified.
Use cleanup=all to drop indexes on single custom domain columns too.
You can also use -s option along with the 'cleanup' to only simulate 
and not actually drop or create indexes.

list=[tables,users,audit,indexes]
List all tables, indexes, users or last audit entries.
Optionally specify table=<tablename> when using this option to 
get list of indexes to get data for a specific table.

report=<reportname> email=[no,auto]
Email a report to the configured address. When set to auto the emailing 
will be done only if the current time matches with the report scheduler 
settings.

mailtest=<email> debug=[0,1,2,3,4]
Test Emailing (please make sure that all Email Settings are completed)

import=<profile> (please make sure that the data provider details 
are already setup).

txtscan=<selectorfile>
Brute force scan for TXT records in all domains.

webshot=</path/to/scriptfile> days=[1,2..30] count=[0,1,2..30]
Take home page webshots of domains that have valid HTTP destination URL.
Optionally use days=N to specify if a new screenshot should be taken if 
the earlier version is older than N days( default is 7 days).
The 'count' specifies the number of domains that will be processed on 
each pass (default is 12, setting it to 0 will process all domains).
The scriptfile will be executed once for each domain with the domain 
name as a parameter.

update [--force] [-y]
Check for minor version updates. Download the latest version, if available, 
and unzip into the installation folder after confirming.
Use --force to download even if the installation is current.
Use -y to overwrite current installation folder without confirming.

Check for Minor Version Updates, Install if Available.

php sed.php update

The above will ask for installation confirmation if a new version is available. Use '-y' to install without confirming first.

php sed.php update -y

Testing Email

php sed.php mailtest=contact@softnik.com debug=2

Here is a sample output. The debug setting can be a number from 0 (no debug info) to 4 (maximum debug info). For most practical purposes use debug=2.

php sed.php mailtest=contact@softnik.com debug=2
2019-03-22 11:37:10	SERVER -> CLIENT: 220 smtp.gmail.com ESMTP 17sm11272228pgt.0 - gsmtp
2019-03-22 11:37:10	CLIENT -> SERVER: EHLO Adria.local
2019-03-22 11:37:10	SERVER -> CLIENT: 250-smtp.gmail.com at your service, [27.5.78.67]
                   	                  250-SIZE 35882577
                   	                  250-8BITMIME
                   	                  250-STARTTLS
                   	                  250-ENHANCEDSTATUSCODES
                   	                  250-PIPELINING
                   	                  250-CHUNKING
                   	                  250 SMTPUTF8
2019-03-22 11:37:10	CLIENT -> SERVER: STARTTLS
2019-03-22 11:37:10	SERVER -> CLIENT: 220 2.0.0 Ready to start TLS
2019-03-22 11:37:10	CLIENT -> SERVER: EHLO Adria.local
2019-03-22 11:37:10	SERVER -> CLIENT: 250-smtp.gmail.com at your service, [27.5.78.67]
                   	                  250-SIZE 35882577
                   	                  250-8BITMIME
                   	                  250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH
                   	                  250-ENHANCEDSTATUSCODES
                   	                  250-PIPELINING
                   	                  250-CHUNKING
                   	                  250 SMTPUTF8
2019-03-22 11:37:10	CLIENT -> SERVER: AUTH LOGIN
2019-03-22 11:37:10	SERVER -> CLIENT: 334 VXNlcm5hbWU6
2019-03-22 11:37:10	CLIENT -> SERVER: 

Listing all Unique Indexes

php sed.php list=indexes type=unique

1] wmdsed_auth_catconn

        1       Name: wmdsed_auth_catconn_1_uidx
                Type: unique
                Columns: cid, userid

2] wmdsed_auth_groupconn

        1       Name: wmdsed_auth_groupconn_1_uidx
                Type: unique
                Columns: gid, userid

3] wmdsed_auth_users

        1       Name: wmdsed_auth_users_1_uidx
                Type: unique
                Columns: name

...
...

11] wmdsed_queries

        1       Name: wmdsed_queries_1_uidx
                Type: unique
                Columns: name

12] wmdsed_report_scheduler

        1       Name: wmdsed_report_scheduler_1_uidx
                Type: unique
                Columns: name

13] wmdsed_settings

        1       Name: wmdsed_settings_1_uidx
                Type: unique
                Columns: name, server

14] wmdsed_api_profiles

15] wmdsed_audit_log

...
...
...

24] wmdsed_tlds

25] wmdsed_whoisservers

Listing all Indexes for a Table

php sed.php list=indexes table=domains

1] wmdsed_domains

        1       Name: PRIMARY
                Type: unique primary
                Columns: sid

        2       Name: wmdsed_domains_1_uidx
                Type: unique
                Columns: domain

        3       Name: wmdsed_domains_2_idx
                Type: simple
                Columns: registry_expiry

        4       Name: wmdsed_domains_3_idx
                Type: simple
                Columns: registrar_expiry

        5       Name: wmdsed_domains_4_idx
                Type: simple
                Columns: created_on

        6       Name: wmdsed_domains_5_idx
                Type: simple
                Columns: primary_whois_checked_at

        7       Name: wmdsed_domains_6_idx
                Type: simple
                Columns: secondary_whois_checked_at

        8       Name: wmdsed_domains_7_idx
                Type: simple
                Columns: edited

        9       Name: wmdsed_domains_8_idx
                Type: simple
                Columns: write_protect

        10      Name: wmdsed_domains_9_idx
                Type: simple
                Columns: status

        11      Name: wmdsed_domains_10_idx
                Type: simple
                Columns: availability

Creating a New Index

php sed.php index=domain_new_index new table=domains columns=customer_invoice type=simple

The above will attempt to create a new simple index named domain_new_index in the domain table for the column named customer_invoice.

You can specify more than one column (separate them with commas) for the 'column's parameter.

Deleting an Index

php sed.php index=domain_new_index drop table=domains

The above will attempt to delete the index named domain_new_index in the domain table.

Web Page Screenshots

php sed.php webshot= days=[1,2..30] count=[0,1,2..30]

Take home page webshots of domains that have valid HTTP destination URL. Optionally use days=N to specify if a new screenshot should be taken if the earlier version is older than N days (default is 7 days). The 'count' specifies the number of domains that will be processed on each pass (default is 12, setting it to 0 will process all domains).

If both 'days' and 'count' is set to 0, the 'count' will be reset to 50.

The scriptfile will be executed once for each domain with the domain name as a parameter. You need not specify a script file if you have installed Puppeteer and setup the Prerequisites as mentioned in the following article.

You can use other methods also to take webpage screenshots. The image files may be saved as <domainname>.jpg, <domainname>.png or <domainname>.webp (Watch My Domains SED will search for these images in the same order (jpg first, then png followed by webp). The scriptfile should take a single parameter (the domain name as the input).

Domain Home Page Screenshots

C:\wmdsed4>php sed.php webshot days=0 count=10
        (4%)    1/23] netrobots.com
        (8%)    2/23] nerdverse.com
C:\webshots\shot.js:24
                        throw Error(error);
                              ^

Error: Error: Error: net::ERR_NAME_NOT_RESOLVED at http://nerdverse.com
    at C:\webshots\shot.js:24:10
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
        (13%)   3/23] reverse01.com
C:\webshots\shot.js:24
                        throw Error(error);
                              ^

Error: Error: Error: net::ERR_NAME_NOT_RESOLVED at http://reverse01.com
    at C:\webshots\shot.js:24:10
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
        (17%)   4/23] searchenginelab.com
        (21%)   5/23] seolab.com
        (26%)   6/23] sofnik.com
        (30%)   7/23] softnik.co.uk
        (34%)   8/23] softnik.in
        (39%)   9/23] softnik.net
        (43%)   10/23] softnik.org

C:\wmdsed4>

The error messages are normal for domains that don't resolve.