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 5.0.5044, Sep 18 2022
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)

setssl=[clean]
Grab all subdomain SSL certificates and add them to the global SSL certificate 
table. If 'clean' is specified the table will be cleaned first by removing 
all the previously imported, but not manually added, data.

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

add in=<autoquery> to=<category> (add domains in autoquery to a 
category).

remove in=<autoquery> from=<category> (remove domains in autoquery 
from a category).

txtscan=<selectorfile> days=[0,1,2..30] hours=[0,1,2..24]
Brute force scan for TXT records in all domains. 
Use auto to automatically scan for the most common DKIM records (txtscan=auto).
This will scan for 'google._domainkey','mail._domainkey','default._domainkey'
and 'dkim._domainkey'. Use days or hours to specify  that the domains added in 
the last n days/hours alone are scanned. Use days=0 to scan all domains. 
Default is 7 days and 0 hours.

sdscan=<selectorfile> days=[0,1,2..30] hours=[0,1,2..24]
Brute force scan for A/CNAME records in all domains. Use 'auto' (sdscan=auto) to 
automatically try and find A/CNAME records. Use days or hours to specify 
that the domains added in the last n days/hours alone are scanned. Use days=0 to 
scan all domains. Default is 7 days and 0 hours.

websites=</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.

Add Domains in Auto-Qury to a Category

php sed.php add in="Domains with GoDaddy as Registrar" to="GoDaddy Domains"

The above will copy the domains in the auto-query named Domains with GoDaddy as Registrar to the category named GoDaddy Domains

Please remember to wrap category or auto-query names, that have spaces in them, within quotes.

Remove Domains in Auto-Qury from a Category

php sed.php remove in="Domains with GoDaddy as Registrar" from="GoDaddy Domains"

The above will remove the domains in the auto-query named Domains with GoDaddy as Registrar from the category named GoDaddy Domains

Please remember to wrap category or auto-query names, that have spaces in them, within quotes.

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.