Documentation · v2.1
TRS command reference
This page documents the uptime monitoring script — the first public release from TRS
Infinity. Many more terminal tools are planned; each will get its own reference when it
ships. Every command here is run from the project directory. If you have created a shell
alias, substitute trs for ./trs.sh throughout. Appending
help to any command prints its own reference.
Requirements
TRS targets macOS and Linux. Everything it needs is normally present on a developer machine already.
- bash — 4.x or the macOS default 3.2
- curl — used for all HTTP checks
- Python 3 — required for gather intel and security audit
- dig — DNS lookups (preinstalled on macOS)
- openssl — certificate inspection during gather/audit
- A Telegram account — optional, only to receive alerts remotely
Installation
Copy the project to your machine and make the entry point executable.
Prepare the project
cd ~/Desktop/trs-company
chmod +x trs.sh trs-kill.sh
Guided first-time setup
./trs.sh sites onboard
# same wizard:
./trs.sh onboard
Walks through optional Telegram pairing and registering your first sites.
Confirm the install
./trs.sh info
Prints version, project path, site count and Telegram link status.
Telegram pairing
This step is optional. Every monitoring command — sites add,
sites check, sites watch, gather, audit
— works fully without it, printing results to the terminal. Pair Telegram only if you want
failures to reach you while you are away from the shell.
When enabled, alerts are delivered through a single shared bot, @TRSinfinity_bot. Each device you run TRS on is paired separately with its own code, so a laptop and a server can report independently.
Link this device
./trs.sh telegram setup
Prints a pairing code — send it to @TRSinfinity_bot to complete the link.
Other Telegram commands
./trs.sh telegram test # send a test message
./trs.sh telegram status # link status for this device
./trs.sh telegram unlink # remove pairing
Self-hosted pairing bot (server mode only)
./trs.sh bot status
./trs.sh bot start
./trs.sh bot restart
./trs.sh bot stop
Default client mode does not require a local bot — telegram setup is enough.
Monitoring
Registered sites are stored locally in config/sites.conf. The normal
workflow is to add URLs once, then leave watch running.
Registering sites
./trs.sh sites add https://example.com
./trs.sh sites add myshop.com --name "Client: Acme"
./trs.sh sites add site1.com site2.com site3.com
./trs.sh sites import urls.txt
A --name label is included in alerts, which makes multi-client setups readable.
Inspecting and removing
./trs.sh sites list
./trs.sh sites check
./trs.sh sites check https://example.com
./trs.sh sites remove 2 # by index shown in list
./trs.sh sites remove example.com
./trs.sh sites remove all --yes # skip the confirmation prompt
Background watch
By default, sites watch runs in the background, prints a coloured status
line to the terminal every pass, and leaves your prompt free. Stop it with
./trs.sh kill. Telegram alerts fire when a site goes down.
./trs.sh sites watch # every 60s, terminal output + free prompt
./trs.sh sites watch 120 # every 120 seconds
./trs.sh sites watch --bg # silent: Telegram only, log in data/watch.log
./trs.sh sites watch --live # foreground loop, Ctrl+C to stop
./trs.sh kill # stop watch
./trs.sh sites stop # same as kill
./trs-kill.sh # force-stop from another terminal tab
Dashboard
./trs.sh start # site overview (default command)
./trs.sh sites dashboard # same dashboard
./trs.sh info # version, path, site count, Telegram status
Domain intel
Produces a consolidated reconnaissance report for any domain. Useful before quoting on
infrastructure you did not build. Output is saved to data/reports/.
Generate a report
./trs.sh gather example.com
What the report contains
- Stack — CMS, framework, CDN, analytics fingerprints
- DNS and SSL — nameservers, MX, SPF/DMARC, certificate chain
- HTTP — status, server header, response size, headers
- SEO — title, meta description, language, canonical
- Security — header score, presence of security.txt
- Subdomains — certificate transparency plus fallback sources
- Traffic — rank estimate, Wayback activity, snapshot counts
- WHOIS — registrar and registration dates
Browse saved reports
./trs.sh gather list
./trs.sh gather show google.com-20260802-133353.txt
./trs.sh gather show google.com # partial filename match
Security audit
Authorised targets only. Run this against systems you own, or client systems for which you hold written permission. Unauthorised scanning is illegal in most jurisdictions.
./trs.sh audit example.com
./trs.sh audit example.com --authorized # skip confirm (also: -a, --yes)
Checks performed
- Exposed paths —
.env,.git, backups, admin, actuator endpoints - Response headers — HSTS, CSP, CORS policy, cookie flags
- TLS — certificate validity and negotiated protocol version
- Email authentication — SPF and DMARC weaknesses
- Information disclosure — stack traces rendered on 404 pages
Explicitly out of scope
No denial of service, no credential brute forcing, no SQL injection or XSS exploitation.
The audit is read-only probing. Reports land in data/audit/ and activity is
logged to data/audit.log.
Troubleshooting
The terminal stops responding to commands
This usually happens with sites watch --live, which runs in the
foreground. Press Ctrl + C to regain the prompt. The default
watch mode keeps the terminal free — if input still does not work, use the steps below.
./trs.sh unstuck # explains recovery steps
./trs-kill.sh # stops every TRS watch process
If the tab is fully stuck, open a new terminal, run ./trs-kill.sh there,
then return to the original tab and press Ctrl+C.
Watch will not stop
./trs.sh kill
./trs-kill.sh
pkill -9 -f "trs.sh sites watch" # last resort
Alerts are not arriving
This applies only if you chose to pair Telegram. Without pairing, TRS reports everything in the terminal and sends nothing — that is expected behaviour, not a fault.
- Run
./trs.sh infoor./trs.sh telegram status— should show linked - Re-run
./trs.sh telegram setupand resend the code - Send a test with
./trs.sh telegram test - Confirm you messaged @TRSinfinity_bot rather than another bot
- Verify the site genuinely fails with
./trs.sh sites check <url>
Full reference
Each module prints its own complete command list.
./trs.sh help
./trs.sh info
./trs.sh start
./trs.sh kill
./trs.sh unstuck
./trs.sh sites help
./trs.sh telegram help
./trs.sh gather help
./trs.sh audit help
Something unclear, or a command behaving unexpectedly? Send us a message.
TRS Infinity is a team of 34 working from six countries. Founded in 2024, rewritten for public release in 2026; releases are cut roughly every two weeks with a changelog.