Repository navigation
Releases: NiceTryBot/nicetrybot
Release list
NiceTryBot 0.6.0
NiceTryBot 0.6.0
Security fixes (update soon):
- Password reset and verification links are built on the panel's own host. X-Forwarded-Host is only believed from the edge, so nobody can make the panel email a link to a host of their choosing.
- Origins must be on the public internet. The edge checks each connection's address and refuses private, loopback and link-local ones (a cloud's metadata service, the stack's other containers). If your origins really are on a private network, set NICETRY_ALLOW_PRIVATE_ORIGINS=true in .env and run
nicetrybot apply. - An origin that points back at the edge (its own preview hostname, another site here) gets 508 straight away instead of looping until it times out.
- Gym triggers, rules and tarpits judge the path the origin will see, so /index.php/login and /_q/../login no longer get past a routine on /login. Paths with . or .. segments get 400.
- A gym pass only works on the site it was earned on, for the routines its visitor cleared, and stops working when it turns up from more networks than one person uses. Verdicts on the client's own TLS fingerprint still count.
- The edge's certificate check (/caddy/ask) needs the edge token, and an Origins authorize URL can only be set by an installation administrator. A transfer imported by anyone else adds its sites unverified.
- A pattern from the app that's too large to compile is skipped instead of stopping the edge.
New:
- The nicetrybot command works from your laptop too (macOS or Linux, with curl and jq):
nicetrybot remote add panel.example.comsaves a panel with an API token, thennicetrybot domains,domains add,domains check,rules,gyms,toolsandcallrun there.nicetrybot cli updateupdates the command itself. - API tokens can work on all of your teams:
nicetrybot teamslists them andnicetrybot team use SLUGswitches. nicetrybot domains addleads with the origin secret header and how to lock your origin to it;domains checkfinds the ownership TXT record and verifies the domain, and prints a checklist with the next step.- Colors on a terminal: commands to run in cyan, successes green, warnings yellow, errors red (plain text for pipes, logs and NO_COLOR).
- MCP: whoami and remove-domain tools, tokens for all teams, and get-origin-secret includes the origin URL.
NiceTryBot 0.5.1
NiceTryBot 0.5.1
- The nicetrybot CLI greets you with an ASCII NiceTryBot on update, rollback, doctor and help (on a terminal only, so scripts and logs get just the steps).
NiceTryBot 0.5.0
NiceTryBot 0.5.0
- Tarpit: a free add-on, with a new edge module, that makes the worst bots wait. Put clients in a tarpit by rule, by gym no-show, or by the edge's own count of 404s and bursts; each request waits longer, up to the tarpit's cap. Search Activity by tarpit.
- Privacy mode is on by default, and IPs show only their first two octets (193.148.x.x).
- Gym: obstacle settings with several choices are picked inline as toggles.
- Fix: a routine that names its domains asks the edge about those domains alone.
- For add-on authors: add-ons can badge a request's Action in Activity and add panels under a rule.
NiceTryBot 0.4.1
nicetrybot addons add checks the Composer token before building.
- A licence key (
ntb1.…) pasted where the Composer token goes is refused, with where to make a token (it starts withntbc_). It used to be saved, and every build then failed minutes in with Composer's 401. - Before building, the add-ons' repository is asked whether it accepts the token, so a revoked or mistyped one stops straight away with nothing changed.
If an add-on build failed with "required authentication (HTTP 401)", make a Composer token at nicetrybot.com → Your licences, then run the command again with --token=ntbc_….
Update with nicetrybot update. There are no database changes in this release.
NiceTryBot 0.4.0
Installing add-ons works, and takes their licence keys in the same command.
- Fixed:
nicetrybot addons addand the installer failed to build add-ons in (additional privileges requested: pass "--allow=fs.read=.."). They randocker compose up --build, which also tried to build the edge and Vector from source. They now build only the app's image, and pull the edge and Vector. - Keys in the command:
nicetrybot addons add captchas=ntb1.… threats=ntb1.…builds the add-ons in, then enters each licence key. Your licences on nicetrybot.com builds this command from the add-ons you tick. - Keys asked for: without keys in the command, it asks for each paid add-on's key after the build (Enter skips one, which then runs on a 14-day trial).
nicetrybot addons keysasks again later, andphp artisan addons:licence --missinglists the ones still needed. - A failed build now says which step failed.
Update with nicetrybot update. There are no database changes in this release. Building add-ons in wants about 2 GB of memory.
NiceTryBot 0.3.0
nicetrybot doctor checks a server's health from the console (also nicetrybot health).
- Server: CPU load per core, memory (under 2 GB is flagged, with how to resize), swap and whether it's swapping right now, memory pressure, disk, and whether the previous boot ended out of memory.
- Containers: each one's state, health, memory, restarts and out-of-memory kills.
- Panel:
/upthrough the server's own edge, how fast it answers, and the certificate's days left. - App: database and cache response times, jobs waiting, failed jobs in the last day, and whether the edge's logs are still arriving (
php artisan nicetry:doctor).
Each line says what it found and what to do about it, and the command exits non-zero when something's broken.
Also: releases build in about 4 minutes, with each architecture built natively instead of emulated.
Update with nicetrybot update, then run nicetrybot doctor. There are no database changes in this release.
NiceTryBot 0.2.0
Updating is now one command.
nicetrybot update: says which release it goes from and to, backs up the bundled Postgres, pulls, builds your add-ons in again and waits for the app. If the app doesn't come up healthy, it goes back on its own. Docker's output goes to/opt/nicetrybot/.updates/update.log.nicetrybot rollback: undoes the last update, database included (it asks first).nicetrybot addons add captchas threats/addons remove: builds marketplace add-ons in without editing.env.- Also
apply(after editing.env),status,version,logsandartisan.nicetrybot helplists them. - Admin shows a notice when a newer release is out (
NICETRY_UPDATE_CHECK=falseturns the daily check off), and Admin → Add-ons gives the commands above.
To get the command on a server running 0.1.x, run the installer once more:
curl -fsSL https://nicetrybot.com/install.sh | sudo bash
From then on: nicetrybot update.
NiceTryBot 0.1.1
NiceTryBot 0.1.1
- Add-ons in one line: NICETRY_ADDONS=all installs every add-on your Composer token may have, so a
purchase made later comes in on the next run of the installer, and a refunded one goes. - install.sh takes --addons= and --composer-token= (written to .env; the token is never printed), for
cloud images and user data. - On a server with less than about 2 GB of memory, the installer adds a 2 GB swap file before
building the add-ons into the image. - DigitalOcean: a 1-Click image (deploy/digitalocean) whose first login sets the panel up, and
user-data.sh for a plain Ubuntu Droplet.
Install or update:
curl -fsSL https://nicetrybot.com/install.sh | sudo bash
NiceTryBot 0.1.0
NiceTryBot 0.1.0, the first release.
NiceTryBot puts an edge in front of your sites that sees every request, tags and scores the
bots, and sends the ones you choose to a gym of obstacles instead of your app. It runs on your
own server: one Docker Compose stack with the edge (Caddy), Vector and the control panel.
Install on a fresh Ubuntu server:
curl -fsSL https://nicetrybot.com/install.sh | sudo bash
Lockdown, Privacy Mode and Rule Packs come with it. Up to 10 domains are free per installation.
More add-ons: https://nicetrybot.com/marketplace