Authorized access only
To avoid the GitHub/Render file-size limit, upload the new .exe to Cloudinary, then paste its URL here.
This message shows at the top of every shop's login Overview. Save it blank to remove the message.
Do this first: upload the new Echel Agent installer to a GitHub Release and save its link above, under Easy Installer URL.
Then: push the version. From v2.1 on, agents never update themselves: they tell the shop owner that a newer version is ready, and the owner runs the installer.
Older agents: agents older than v2.1 download that installer by themselves, normally within one hour, and open it for the shop owner to finish.
Version series: The next version is suggested automatically and can be changed. The server rejects versions older than the current release.
Manage the business details displayed across your website. Empty contact fields are hidden from visitors.
Add a rating and review link to display a badge on the homepage.
Edit the feature lists shown on the homepage. Add one feature per line. English and Manipuri lists are stored separately.
Display an offer banner and countdown on the pricing cards. Set the offer name, end date and time below.
Choose a price and billing cycle for each plan. The selected cycle applies to new registrations. Existing subscriptions keep their agreed cycle and renewal price.
What a partner pays us once to sell under their own brand. The struck-out price is only for show — set it to 0 to hide it.
Agent links offer Pro and Premium. Set a minimum selling price for each plan. Leave zero to use its standard price.
Saved prices appear on the homepage, dashboard and payment pages. New registrations use these prices; existing shops keep their agreed price.
Print Volume is paid by customers to the shop owner. It is not platform revenue and is excluded from the total above.
Four columns — No Money · Demo Expired · Offline · Asleep for 7 Days. Every column has a direct WhatsApp button.
Download a JSON backup of the database.
Echel runs on any host with Node and PostgreSQL — a VPS, another cloud, or a machine of your own. Move it in three steps: read this check, press Download backup above, then open this page on the new host and restore the file there. Uploaded documents stay in Cloudinary and keep working as soon as the same Cloudinary keys are set. MIGRATION.md in the code has the full walkthrough.
Do this on the new host only. Everything in this database is replaced by what is in the file.
Min 15 min, max 365 days (525600 min). Applies only to new demos — existing active demos will expire at their original time.
Min 1, max 1,00,000. Applies immediately to every demo shop (old and new) — the limit is checked live on each print.
On: the server pauses a shop or a device by itself when it sees abuse. Off: nothing is paused automatically — the server only tells you what it would have paused, and you decide. Either way the limits still hold, so a flood of uploads is still refused.
Enter a Shop ID to clear a temporary upload block. Its upload counter is also reset so the next upload can proceed.
These blocks are temporary and clear on restart. Use Clear All Blocks to restore access after a false positive. Logs are automatically cleared after seven days.
Permanent blocks are managed in the card below and remain active after a server restart.
Note: These temporary blocks are held in server memory. A deployment or server restart automatically clears them without a manual unblock. If no block is found, it may already have expired or been cleared.
This block applies only to creating new shops and requesting demos. Other functions remain available because mobile networks can share an IP address across many legitimate users.
This applies to the customer who scans a QR code to submit a print job. A blocked device cannot submit jobs to any shop. This block persists in the database until manually removed, including after restarts. Automatic 15-minute blocks expire separately.
The Customer ID is a random browser identifier. Clearing browser data or using private browsing creates a new ID; IP controls can still apply.
A partner sells under their own brand through their own payment account, so what their shops pay goes straight into that partner's account. We receive the one-time licence fee only.
These shops were signed up by a partner. Their money goes to the partner's account, so they are not counted in Active shops or in Total earnings.
| Shop name / ID | Partner (brand) | Contact | Status | Registered | Action |
|---|---|---|---|---|---|
| Loading… | |||||
Turn this on while you are changing something, and every visitor sees a short "we will be back shortly" notice instead of the website — the homepage, the shop sign-in, the customer page, all of it, even when someone types the address straight into the browser.
This screen stays open. Superadmin is never behind the notice, or you could not turn it off again.
Shops already printing keep printing. The desktop software can still finish the jobs it is holding; nothing new can arrive, because the customer page is behind the notice.
Remember to turn it off. While it is on, nobody can register, sign in or send a print.
The website is written in English. Here you correct its Manipuri (Meitei Mayek) translation.
Search the English line you want to change, type the correction, then press Save. A saved line reaches the website within a minute — reload the page to see it.
| Shop Details | Contact | Printer / Agent | Status | Earnings | Registered | Actions |
|---|
| Paid for | Shop | Amount | Payment ID | When |
|---|---|---|---|---|
| Loading… | ||||