Z3N
z3nDash v1.1.2 z3n7 v1.0.930 z3nBank v1.0.0 CtxRelay v1.0.2 devdash — LABfp
● LIVE

z3nDash

Schedules and task runs, ZennoPoster nodes, HTTP archives, JSON and SQLite viewers — in one dashboard. Windows, .NET 10.

passport
versionv1.1.2
releases9
updated
stackC# · .NET 10 · WebView2 · PostgreSQL
licenseAGPL-3.0
release history
v1.1.2

z3nDash 1.1.2

  • MCP: add a native stdio server (z3nDash.exe --mcp) for Tasker and saved Remote Tasker connections, with typed task tools, revision-protected updates, bounded output and an optional read-only mode. Uses the running dashboard without starting another scheduler.
  • Tasker: upload local tasks and their script files to connected servers; configure nested task groups from Config.
  • Tasker: add attempt-counter reset and per-instance process-tree resource statistics; improve selection and refresh behavior.
  • Configuration: use a default SQLite file when no path is supplied and keep dashboard pages accessible when the database is unavailable.
  • Desktop: avoid a duplicate hotkey warning when another z3nDash instance already owns the shortcut.
  • Documentation: include MCP client setup, an English agent contract and updated English/Russian Tasker guides.

Downloads

  • z3nDash_Setup_1.1.2.exe: installer.
  • z3nDash_1.1.2_portable.zip: self-contained Windows x64 build; no .NET installation required.

github →

v1.1.0.0

z3nDash 1.1.0.0

  • Remote Tasker: manage tasks on other z3nDash nodes over HTTPS, including settings, payloads, scheduling, run/stop, pause/resume, cloning and queues.
  • Connections: add nodes from Tasker, copy/import connection codes, detect the server's public IP and manage its Windows Firewall rule. Use pinned certificates and revocable access keys.
  • Files: browse server folders and transfer files or directory trees with progress, cancellation, resume, SHA-256 verification and explicit overwrite confirmation.
  • Remote output: load and observe bounded logs; isolate tasks, statistics and output when switching nodes or when a connection fails.
  • Remove built-in AI panels, analysis endpoints and AI configuration from Tasker, JSON, SQL, System and the project editor.
  • Environment: repair winget licensing when needed and report installation failures accurately.
  • Documentation: add English and Russian Remote Tasker guides and update pages for the removed AI features.

Downloads

  • z3nDash_Setup_1.1.0.0.exe: installer.
  • z3nDash_1.1.0.0_portable.zip: self-contained Windows x64 build; no .NET installation required.

github →

v1.0.7

z3nDash 1.0.7

  • Tasker: regenerate payload fields and defaults when changing the script path; save the new path and payload together.
  • Tasker: make From script replace the payload with the current script's parameters, including unsaved Python script paths, and ignore outdated parameter responses.
  • Tasker: freeze the displayed log when Auto-scroll is disabled, including progress updates and clear events; resume with a bounded buffer of new output when enabled again.

Downloads

  • z3nDash_Setup_1.0.7.exe: installer.
  • z3nDash_1.0.7_portable.zip: self-contained Windows x64 build; no .NET installation required.

github →

v1.0.6

z3nDash 1.0.6

  • SQL: add read-only PostgreSQL browsing and SELECT/WITH queries alongside SQLite, with schema-aware table names, timeouts and a 10,000-row result limit.
  • System: add interactive memory and sampled CPU maps with process-group and PID details.
  • Tasker: show the saved launch command, preserve payload multiselect values, and report persistence failures without closing the editor.
  • Tasker: keep the selected output thread during refreshes, add a remembered auto-scroll switch, and ignore stale execution statistics and queue responses.
  • Desktop: keep minimized windows on the taskbar and use the tray for closing the main window or toggling it with Ctrl+Alt+Z.
  • UI: keep confirmation dialogs above the payload editor and prevent backdrop dismissal after dragging outside a dialog.
  • Documentation: update English and Russian SQL, System and Tasker guides; preserve the existing SQLite documentation entry.

Downloads

  • z3nDash_Setup_1.0.6.exe: installer.
  • z3nDash_1.0.6_portable.zip: self-contained Windows x64 build; no .NET installation required.

github →

v1.0.5

z3nDash 1.0.5 adds ShardX alongside ZennoBrowser, shows the resources used by running tasks, extends Tasker's multi-selection to run controls, and separates Windows memory allocation from physical RAM. Interface settings now have their own Config section, and a diagnostic recorder helps trace slow dashboard actions.

Browser

The ZB page is now Browser, with a switch between ZennoBrowser and ShardX Launcher. The selected provider is remembered.

  • Create a profile with a name, platform, folder and proxy. ZennoBrowser also accepts tags; ShardX obtains a fresh fingerprint for Windows, macOS or Linux and accepts a new folder name.
  • Change a profile's proxy: choose a stored proxy, enter a new one, or remove it. ZennoBrowser reuses an exact URI match before creating a proxy.
  • Start, stop or kill profiles, stop all running profiles, and copy their CDP WebSocket endpoints when the provider supplies them.
  • Search and filter profiles by folder and running state. ZennoBrowser keeps its proxy checks and thread controls; ShardX shows proxy countries and folders.
  • ShardX uses its host and token from Config → Browsers API. The server adds Bearer authorization to /shardx/api/* requests.
  • ShardX timestamps in @<unix-seconds> format are displayed as dates. After Stop, the page polls for up to 15 seconds while the launcher removes the profile from its running list.

Tasker

  • RAM and CPU usage appear per task and in the header total. On Windows, resource usage includes each instance's child processes, including browsers. CPU is shown as a share of the whole machine after the second sample.
  • z3nDash's own memory is separate. In-process XML runs are identified rather than assigned a misleading individual memory figure.
  • Run, schedule pause/enable, Resume schedule, Restart and Interrupt now apply to all selected tasks. The header shows the selection count; Run queues the chosen number of runs for each task. Eliminate also follows the selection.
  • Bulk run controls continue after an individual failure and collect errors into one message. Interrupt offers to clear pending runs as well.
  • POST /tasker/run accepts optional non-empty args for that manual batch. They replace the saved Args in its queued runs without changing the task; payload flags are still added normally.
  • The active-instance list stays visible between detail refreshes and fills the available space above the logs. The run-count field survives header refreshes, and stale Config/Install responses cannot add duplicate buttons.

Responsiveness and diagnostics

  • External task stdout and stderr are read on dedicated background threads. Silent processes no longer occupy thread-pool workers needed by HTTP requests, database operations and scheduling.
  • Ctrl+Shift+D starts or stops diagnostic recording on instrumented pages. The recording badge provides Report and Stop actions.
  • Correlated browser/server events split a slow action into browser waiting, server queueing and handler time, with database, scheduler-lock and console timings. Sampling also records thread-pool pressure, CPU and GC pauses.
  • Recordings are saved as JSONL under the configured logs folder's diag directory; stopping writes a readable .txt report beside the dump. Reports include slow requests, route timings and browser stalls. SQL events retain the operation and table name rather than query values.

System

  • Memory allocation shows separate charts for physical RAM and Windows commit, including commit limit, remaining headroom, peak since boot, and paged/nonpaged kernel pools.
  • Commit usage warns at 90% and becomes critical at 97%. Free RAM does not hide an almost exhausted commit limit.
  • Process groups show private allocation and resident RAM side by side, summed across instances. Unreadable private-memory measurements are counted so incomplete totals are visible. The AI audit receives the same distinction.
  • Environment moves from Config to System, with its own navigation entry. Tool checks and installation actions remain available there and run independently of snapshot refreshes.

Interface and clipboard

  • Config → Interface controls the theme, dock edge and visible dock pages. Config always remains accessible in the dock.
  • The four themes are Graphite, Aluminium, Hyper and Paper: dark/light pairs with updated surfaces, controls and log colors. Existing Dark and Light selections migrate to Graphite and Aluminium.
  • Theme selection moves out of the dock. Alt+T still cycles themes; Alt+P still cycles dock positions.
  • Saving one interface setting preserves the others; theme, dock position and visibility no longer overwrite each other's saved state.
  • Clipboard selector conversion can automatically paste the result into the active window with Ctrl+V. Auto-paste is on by default and can be turned off in Config → Services. Alt-based conversion hotkeys remain usable after the simulated paste.

Removed and upgrading

  • The Treasury page and its supporting dashboard Web3 utilities are removed.
  • Browser replaces the old ZB page: use the dock or Alt+3 to open it; bookmarks to ?page=zb need to change to ?page=browser.
  • English and Russian documentation now covers Browser, the new interface settings, Environment's new location, memory allocation and manual-run args.

Downloads

  • z3nDash_Setup_1.0.5.exe: installer
  • z3nDash_1.0.5_portable.zip: portable self-contained Windows x64 build; no .NET installation required

github →

v1.0.4

z3nDash 1.0.4 passes the Tasker payload to scripts as named command-line flags, lets Config check and install the tools scripts depend on, keeps the dashboard reachable when the database is not, and adds process actions to System Snapshot.

⚠ Breaking: how scripts receive the payload

Scripts no longer receive the payload as a single base64-encoded JSON argument.

  • Each payload schema field becomes a flag: myField → --my-field "value". Values that have no schema field are not passed.
  • Boolean fields are passed as a bare flag, and only when true.
  • The task's own Args are kept and come first. A flag already present in Args wins, and the skipped payload flag is noted in the run log.
  • For npm, the flags are placed after --.
  • The account row lookup by condition from the __<project> table now applies only to xml templates. Python/JS/other scripts no longer get that row merged into their payload.

Scripts that decode a base64 argument need to be switched to reading named flags (argparse, click, etc.).

Tasker payloads

  • One Payload modal replaces the five separate payload buttons: values, schema, import and a command preview in one place.
  • The schema can be filled from a Python script's argparse and click parameters. The script is parsed, not executed.
  • Skip empty on a field: an empty value is omitted so the script uses its own default. Without it, an empty value is passed explicitly.
  • Password fields are masked as *** in the command preview and in the [launch] line of the run log.
  • A payload that cannot be turned into arguments stops the run with step=payload instead of launching with broken arguments.
  • New endpoints: /tasker/script-params and /tasker/args-preview.

Task control from scripts

  • A running script can list tasks, read a task's state, and pause, resume or defer any task by ID: GET /api/v1/tasks[?name=], GET /api/v1/tasks/{id}, POST /api/v1/tasks/{id}/pause|resume|defer. The caller's run token is required, as for /api/v1/self.
  • The Python SDK adds task(id), Task and list_tasks(name=None) next to the existing CurrentTask.

Environment setup

  • Config → Overview checks Python/pip, Node/npx/ts-node, .NET SDKs and runtimes, dotnet-script, git and Git Bash, PowerShell 5/7, PostgreSQL (client, installations, services, port 5432), the connected database, the bundled SQLite engine, the SQLite ODBC driver, WebView2, Chrome and Playwright browsers, with versions, paths and probe output.
  • Missing tools have an Install button that runs a predefined command (mostly winget) in a visible console window, so the result stays on screen.
  • winget itself is installed from the official winget-cli GitHub release, so this works without the Microsoft Store.
  • PostgreSQL opens its installer interactively, since it asks for the superuser password. The SQLite ODBC driver opens its download page.
  • PATH is re-read from the registry, so a tool installed this way is found by the check and by tasks without restarting z3nDash.

Database

  • An unreachable database no longer stops z3nDash from starting. It opens on Config, and the connection error is shown in its status.
  • Database settings are tested before they are saved. A connection that fails is not written to the config.
  • Switching the database from Config creates the tables the scheduler and handlers need in the new database.
  • The dashboard's SQLite database now uses the bundled Microsoft.Data.Sqlite engine, so the system SQLite ODBC driver is no longer needed for it. ZennoPoster templates that use FastDb still go through ODBC and still need the driver.

System Snapshot

  • Network tables include IPv4 and IPv6 TCP connections and UDP listeners, with the owning process on Windows.
  • Process details show the executable path and command line.
  • Process actions: terminate, show the executable in Explorer, and open it in System Informer (only an installed copy is detected, not a portable one).
  • Long process names and addresses no longer break the table layout.

Fixes

  • A maximized window stays inside the monitor's working area instead of extending under the taskbar.
  • A duplicated task opens on the Settings tab.
  • A path picked in the file dialog no longer lands in a different task when the selection changed while the dialog was open.
  • The Schedule editor uses a more compact layout.
  • English and Russian docs now cover the XML and zpXml pages, multi-select in Tasker, the Config side rail and the task control API.

Downloads

  • z3nDash_Setup_1.0.4.exe: installer
  • z3nDash_1.0.4_portable.zip: portable self-contained build; no .NET installation required

github →

v1.0.3

z3nDash 1.0.3 turns zpXml into an editor and live debugger, adds a proper general-purpose XML viewer, brings bulk editing to Tasker, and moves the dashboard onto one shared visual system.

zpXml editor

zpXml now opens a ZennoPoster template through the system file dialog and keeps the real project path, so the runtime can resolve .env, shared code and other project files.

  • The template is kept as the document of record instead of being converted into a detached view model.
  • Blocks can be moved on the canvas.
  • Branches can be reordered, moved between blocks or extracted into a new block.
  • Branch parameters, C# code, captions, flags and switch case keys are editable.
  • Success, error and case transitions can be set or cleared by dragging their ports.
  • Deleting a branch redirects incoming transitions to the next valid branch.
  • Ctrl+Z and Ctrl+Y provide undo and redo with a 50-state history.
  • Leaving with unsaved changes produces a warning.
  • Save .xml preserves the original XML declaration and UTF-8/UTF-16 encoding.
  • C# branch code is highlighted with CodeMirror.
  • Project Input Settings and profile data are available from the template settings modal.

Live XML debugger

A template can now be executed directly from the zpXml graph.

  • Start, Step, Run, Pause, Run to branch and Stop control one server-side debug session.
  • The session owns its browser and execution context instead of restarting the template for every step.
  • The current block and branch are streamed to the page over SSE.
  • Project variables, profile values and the execution log update while the session is running.
  • The graph follows execution only when the current branch leaves the visible area; it no longer resets a manually positioned canvas on every step.
  • Background proxy CONNECT refusals are hidden from the log without hiding a real branch failure.
  • Idle debug sessions release their browser automatically.
  • The debug API moved to /dbg/*, avoiding the existing /zp handler prefix.

XML runtime

The built-in ZennoPoster-compatible runtime covers more real template behavior.

  • Added Switch, Alert and captcha branch execution.
  • Added Hunt captcha solving, including canvas capture and slider interaction.
  • Keyboard emulation now types the requested keys and keeps ZennoPoster macros out of the key-token parser.
  • Mouse emulation distinguishes click, press and release instead of treating every action as a click.
  • Navigation no longer fails when a redirect has already completed it.
  • Project Input Settings seed runtime variables; an explicitly empty setting now clears the previous/default value.
  • Generated profiles carry the browser's own user agent.
  • The profile panel shows which generated properties the current browser runtime can and cannot apply.
  • Empty screenshots and failed Hunt attempts now report one useful error instead of sending empty data or dumping repeated stacks.

XML viewer

The old XML converter has been replaced with a general-purpose XML viewer.

  • Paste XML, drop a file or open one through the system dialog.
  • UTF-8 and UTF-16 files are decoded from their BOM, including ZennoPoster templates.
  • Format the source and inspect it as a collapsible tree.
  • Search tags, attributes and text.
  • Expand to a selected depth or expand/collapse the entire document.
  • Virtual scrolling keeps large XML documents usable.
  • The resizable source/tree split is restored on the next visit.
  • XML and zpXml now have their own dock icons; XML opens with Alt+9.

Tasker

  • Ctrl+click selects or removes individual tasks from the selection.
  • Shift+click selects a range.
  • Changes made on the Settings and Schedule tabs can be saved to every selected task.
  • Only fields changed in the form are copied; task names remain individual.
  • The Delete key removes the selected task or selection after confirmation.

Config and dashboard UI

  • Config is split into eight sections: Overview, Database, Logs & Server, Browsers API, OmniRoute, Services, Security and Maintenance.
  • The side rail replaces the previous single long Config page and remembers the last open section.
  • Rebuilding the Config page no longer loses unsaved runtime settings.
  • Tasker, ZP7, HAR, SQLite, Treasury, Clips, JSON, System, ZB, dllGraph, zpXml and the overlay pages now use the shared design-token scale.
  • Added the Graphite theme: monochrome chrome with color reserved for state.
  • Theme selection now controls both typeface and density.
  • Bundled JetBrains Mono now includes Regular, Medium and Bold instead of synthesizing missing weights.
  • The Nerd Font subset dropped from 7.26 MB to 202 KB.
  • The obsolete report.html, terminal.html, zp_visualizer.html, base.css and components.css files were removed.

Clipboard converter fixes

  • FindElementById and FindElementByName selectors are converted along with the existing selector forms.
  • Generated HeGet calls now use the browser instance, matching HeClick and HeSet.

Downloads

  • z3nDash_Setup.exe — installer
  • z3nDash_1.0.3_portable.zip — portable self-contained build; no .NET installation required

github →

v1.0.1

Node traffic is now authorized, the ZP7 task card was rebuilt around icons, and tasks got a hard runtime limit.

Node authorization

The z3n7 node server requires a token on every route, and z3nDash speaks it.

  • The registration string printed by zpServer.zp now carries a token field. It is stored next to the host in zp_nodes and attached as Authorization: Bearer to every call — state, commands, logs, traffic and input settings.
  • The token never reaches the browser: /zp/nodes returns only the probe result.
  • A node that answers 401 is listed as Unauthorized instead of a vague "Unavailable", with the action that clears it.
  • A registration string without a token still parses, so a node running an older z3n7 build keeps working.

Node versions

  • The NODES list shows the z3n7 and ZennoPoster versions read from the node itself.
  • The same data is proxied at GET /zp/version?machine=....
  • An empty version means the node did not answer or runs a build without the route — the node itself is still treated as working.

ZP7 task card

  • The action row is icons with tooltips instead of ten text buttons: Start, Pause (yellow — that is what stop actually does), Interrupt (red cross), Input settings, Tries, Clear ✓ / ✗, Execution, Scheduler.
  • Tries collapsed into one button and a modal: a Set/Add toggle, a value field and +1 / +10 / +100 that edit the field. The command is sent by Apply only, and the modal stays open with the current count refreshed.
  • BadEnd on Interrupt is a toggle instead of a checkbox.
  • The Tags panel is gone from the card; tags remain a filter in the task list.

Per-task runtime limit

  • New timeout_seconds column (0 — no limit), with a field in task settings and a row on the Execution tab.
  • The guard fires once at the limit: an external process is killed together with its tree, an xml run has its token cancelled.
  • A process killed by the limit is recorded as a failure rather than by its exit code, which is arbitrary for a killed tree.

Scheduler executors

  • The xml executor reserves an account, but only when the template really uses one (acc0 declared in <Variables> and mentioned elsewhere). The account is released in finally on every exit — idle on success, fail otherwise.
  • With no free account the run counters stay untouched instead of scoring a run that never happened; a missing account table is reported as a configuration error.
  • The internal and csx-internal executors are gone. Their two tasks are now plain endpoints behind a Maintenance card on the Config page — POST /config/client-bundle and POST /config/update-templates, the latter taking its output folder from the request instead of a hardcoded path.
  • Rows left in the database with those executors are reported explicitly instead of silently falling through to the python branch.

Packaging

  • The installer uses x64compatible instead of the deprecated bare x64, so it also covers ARM64 Windows running x64 under emulation. ISCC compiles with no warnings.
  • Satellite resource languages are no longer shipped: thirteen folders of translated framework messages that nothing ever read. Portable drops from 342.4 MB to 327.0 MB on disk and from 136.3 MB to 131.8 MB zipped.

Fixes

  • Config page: hint paragraphs no longer sit under a negative top margin.

Upgrading

  1. Update z3n7 on every node to a build with authorization and run zpServer.zp again.
  2. Re-add each node in ZP7 → NODES with the fresh registration string. Records saved by earlier versions carry no token and will show as Unauthorized.
  3. Treat the registration string as a password — it grants full control of the node.
  4. The token and timeout_seconds columns are added to an existing database on startup; no manual migration.
  5. If you update a portable folder in place, delete the leftover empty language directories (de, fr, ru, …) — MSBuild removes the files but not the directories.

Downloads

  • z3nDash_Setup.exe — installer
  • z3nDash_1.0.1_portable.zip — portable build, self-contained, no .NET required

github →

v1.0.0

z3nDash 1.0.0

First stable release under the new name.

z3nDash plays ZennoPoster templates without ZennoPoster. It runs scheduled tasks — Python, Node, exe, csx, xml — and shows logs and HTTP traffic from every machine in one place. .NET 10, WinForms, WebView2; the UI and the local API come off a built-in HTTP server that listens on localhost.

Six months ago this was a pile of scripts around a one-page dashboard. This is the first build worth calling stable, and it changes name along with it.


Built-in ZennoPoster runtime

Not an export to code, and not a conversion. The player takes the same .xml, walks its branch graph and executes it. OwnCode is compiled by Roslyn in-process, project and instance are backed by a compatibility layer, and the browser comes up through Patchright — real Chrome with a persistent profile, proxied through a SOCKS5-to-HTTP relay. The z3n7 core, browser operations and cookie handling were ported over, and a single template runs multi-threaded with per-thread profiles and selectors.

Eight branch types are implemented:

OwnCode/CSharp · HTMLElement (RiseEvent, SetAttribute, GetAttribute) · WebBrowser/CMD_NAVIGATE · Profile/Update · Logic/Pause · ImageProcessing/WaterMark

Anything else throws branch not implemented in the player. In practice: a template whose logic lives in C#, with blocks used for clicking, typing and navigating, runs. A template assembled out of blocks does not.

XmlInspect <template.xml> --compile

compiles the shared code and every reachable OwnCode branch and reports what is missing — without running it.

Task scheduler

On-demand, daily, weekly, monthly and interval schedules; skip, parallel and kill_restart overlap policies; live output; payloads with a schema and values.

Executor Runs
python node ts-node npm scripts of the matching runtimes
exe cmd bat bash ps1 executables and shell scripts
csx a C# script
csx-internal a C# script with access to z3nDash internals
xml a ZennoPoster template, played by the built-in runtime
internal a built-in z3nDash task

An xml task picks its browser on the task card and runs headless by default; turn the window on when you need to see where a template stopped. Task settings and schedules are edited the way ZennoPoster does it, and files and folders are picked through the system dialog.

ZennoPoster nodes (ZP7)

Task state and control go directly over HTTP, with no database in between. The task list is grouped by machine and then by project, both levels collapsible. Task settings are rendered as real fields based on the InputSettings types — tabs, dropdowns, checkboxes, multi-select — and can be flipped to raw JSON; a task's payload is copied to the scheduler in one click.

Logs and traffic from every node

allLogs (Alt+4) collects history from each registered machine. traffic (Alt+5) shows HTTP traffic from the nodes and from z3nDash itself.

Written to trafficLog.jsonl next to the logs
Rotation at 50 MB, five most recent files kept
Read from the end, so archive size does not affect open time
Scan ceiling 64 MB, after which the answer is marked truncated

Request details carry headers, cookies and bodies, a built-in replay player, and ready-to-paste code: HttpClient, ZP7, Hybrid, Python, TypeScript, cURL — plus curl import in the other direction. An unreachable node no longer holds up the list: sources appear as they answer.

Tools

HAR analyzer with request replay, JSON viewer and analyzer, text transformations, a clipboard snippet library, Windows state snapshots, a SQLite file viewer, a C# code relationship graph, a Web3 asset summary, bundled documentation and a terminal.

Storage and AI

PostgreSQL via a connection string or SQLite via a file path; the tables each active module needs are created automatically. AI features go through OmniRoute.


Security

[!IMPORTANT] The embedded server binds to localhost only. That is deliberate rather than cautious: its routes have no authentication and allow starting processes through the scheduler, opening a terminal, and reading appsettings.secrets.json — which holds the database connection string. A port exposed to the network would mean code execution on the machine.

One side effect is useful: netsh http add urlacl and running as administrator are no longer required.

If you need the dashboard from another machine, put an authenticated reverse proxy on the same host or use an SSH tunnel — do not forward the port.

Upgrading

[!WARNING] The server no longer listens on external interfaces. Opening the dashboard by IP from another machine will not work.

Removed Replacement
The HTTP page Traffic moved into a modal on the ZP7 page — the traffic button or Alt+5. It reads from the nodes and from a local file instead of a push store.
HTTP log intake: /log, /logs, /logs/stream, /stats, /clear Gone entirely, along with the Logs panel in the Tasker task card. Task stdout remains on the Output tab; node logs are read by allLogs.
logHost, trafficHost, replayPort in the config The replay port is always the dashboard port plus one.
Nodes need a z3n7.dll build that supports tail

GET /traffic on the node takes a tail parameter, and the traffic window relies on it to read the end of the file. With an older build the node returns the first records instead of the last ones — that is the symptom to look for.

Requirements

OS Windows 10 or 11, x64
Runtime Microsoft Edge WebView2 Runtime
Database PostgreSQL, or a SQLite file
Build from source .NET 10 SDK — not needed otherwise

ZennoPoster, ZennoBrowser and OmniRoute are needed only by the features that integrate with them.

Install

Run the installer, or unpack the portable archive anywhere and start z3nDash.exe — no installation and no administrator rights required.

On first start, with no working configuration, the Config page opens: pick the database, enter the connection string or the file path, and adjust the port and folders if the defaults do not suit you. The dashboard listens on 33333 by default and takes the next free port if it is busy. The Tasker opens next.

[!NOTE] Startup failures are written to crash.log next to the executable.

github →

● LIVE

z3n7

Helper .NET library for ZennoPoster projects. The longest-running and continuously maintained Z3N project.

passport
versionv1.0.930
releases2
updated
stackC# · .NET · ZennoPoster
release history
v1.0.930

Release v1.0.930

This is the first release of z3n7. This repository previously hosted ZBS (ZBSolutions, last released as v2.0.0-beta); starting with this release it hosts z3n7. z3n7 is a .NET Framework 4.8 helper library for ZennoPoster: it takes the routine parts of browser automation — project setup, logging, HTTP, databases, mailboxes, cookies, traffic capture and reporting — and puts them behind extension methods on IZennoPosterProjectModel and Instance, so C# actions stay short and the same code is shared across all your projects.

What's inside

  • Accounts — account runner, instance and profile management, PID ↔ account binding, profile sync.
  • Browser — instance and JS extensions, cookie storage and collection, Chrome extension management, canvas / image recognition, GPU spoofing, fingerprint scan.
  • Database — one Db / Sql API over PostgreSQL and SQLite, table schemas, JSON helpers.
  • Mail — Gmail, Microsoft (Graph), FirstMail, TempMail and custom-domain mailboxes with OTP extraction.
  • HTTP — Rqst and NetHttp (sync and async) clients with proxy support and logging.
  • Traffic — HAR recording over Chrome DevTools, HAR export, GraphQL helpers, traffic counters.
  • Reports — HTML / JSON balance and account reports; error reports to log, database or Telegram.
  • Embedded server — HTTP server inside ZennoPoster (project.StartZpServer()) with /state, /traffic, /command, /version endpoints and bearer-token auth, so an external orchestrator can talk to running projects directly.
  • Tools — TOTP, randomisation, ZennoPoster project search, .zp → .csx conversion.

Highlights

  • Single DLL: Npgsql, AForge.Imaging, Svg, ZXing.Net and Otp.NET are embedded into z3n7.dll (Costura.Fody) — no extra files to copy.
  • Wide ZennoPoster support: works on ZennoPoster 7.7.21 and later.
  • Reproducible build: relative project paths and a single ZennoProgs setting for the ZennoPoster location (see the README).

Breaking Changes

  • Coming from ZBS v2.0.0-beta: the namespace is now z3n7 (was ZBSolutions) and the API is different, so existing code must be updated — replace using ZBSolutions; with using z3n7; and adjust the calls.

Installation

  1. Download z3n7-1.0.930.zip below and extract z3n7.dll.
  2. Copy it into Progs\ExternalAssemblies\ of your ZennoPoster version.
  3. Add using z3n7; to your C# actions.

Newtonsoft.Json and HtmlAgilityPack are not embedded — ZennoPoster must be able to resolve them.

Usage

using z3n7;

// Initialise project variables and the browser instance
project.InitVariables(instance);

// HTTP request with project-aware logging
var http = new Rqst(project, log: true);
string body = http.GET("https://api.ipify.org", proxy: "", deadline: 30);

// Embedded control server (port 22222 by default)
project.StartZpServer();

Feedback

Found a bug or need a feature? Open an issue.

github →

beta

Release v2.0.0-beta

This is the v2.0.0-beta release of ZBS (ex w3tools), featuring a complete rewrite and significant improvements. After a month of development, the library is now more modular, efficient, and tailored for ZennoPoster 7.8+. This is a beta release, so please test it and report any issues via GitHub bugs.

Changes

  • Full Code Rewrite: The library has been rebuilt from scratch, adhering to OOP conventions for better structure and maintainability.
  • Single .DLL: All functionality is now consolidated into one DLL, simplifying integration and enabling shared code usage across projects.
  • Removed Unused Dependencies: Eliminated redundant dependencies to reduce size and improve performance.
  • ZennoPoster 7.8+ Compatibility: Fully adapted for ZennoPoster 7.8 and later, with optimized integration for automation workflows.

Breaking Changes

  • The rewrite introduces a new API, incompatible with v1.x.x. You’ll need to update your code to work with the new structure.
  • Deprecated features from v1.x.x have been removed.
  • A migration guide will be available soon.

Known Issues

As a beta release, minor bugs may occur. Please report them via GitHub bugs.

Installation

Download the DLL from the Releases page and copy it into Progs\ExternalAssemblies\ of your Zennoposter version with other dependencies

Usage

Example of using the library in ZennoPoster 7.8+:

using ZBSolutions;

github →

● LIVE

z3nBank

Wallet balances across EVM networks, portfolio heatmaps, DeFi positions, swaps and bridges — in one dashboard. Windows.

passport
versionv1.0.0
releases1
updated
release history
v1.0.0

z3nBank 1.0.0

The first public release of z3nBank, a Windows desktop app for managing EVM wallets and DeFi positions.

Features

  • Multi-account Treasury with balance heatmaps, token summaries and chain distribution.
  • Token discovery through APIs, with wallet amounts checked directly on-chain.
  • Select accounts, tokens and networks for batch swaps to native assets and cross-chain bridges.
  • Free DeFi position discovery through Rabby, with protocol summaries and saved scan results.
  • Preview and execute supported withdrawals, unstaking, LP exits and reward claims.
  • Track pending withdrawal requests, claim available funds and cancel eligible GMX requests.
  • Configure gas increases, review estimated fees and stop operation queues.
  • Shared transaction logs, protected database settings and wallet PIN controls.
  • PostgreSQL and SQLite storage.

Installation

Download z3nBank_Setup_1.0.0.exe for Windows x64. Installation does not require administrator rights. Microsoft Edge WebView2 Runtime is required; SQLite also requires the SQLite3 ODBC driver. Verify the installer using SHA256SUMS.txt.

DeFi availability depends on supported contracts, lock periods, liquidity, gas and RPC access. Prices are estimates. Stopping a queue does not cancel transactions already sent.

github →

● LIVE

CtxRelay

Search and read local Codex, Claude, Hermes and Antigravity sessions in one library. Continue conversations in another client, open sessions in their apps, switch Codex accounts and monitor usage limits from the Windows tray.

passport
versionv1.0.2
releases1
updated
stackC# · .NET 8 · Windows Forms · WebView2
release history
v1.0.2

CtxRelay is a Windows AI session and context manager for Codex, Claude, Hermes and Antigravity.

  • Browse local conversations, archives and subagent sessions in one library. Search titles, projects, models and full message history.
  • Inspect conversations and tool calls, export history, and reopen sessions in their supported desktop or CLI clients.
  • Transfer conversation history between clients and continue working in a new native session while preserving the source history.
  • Monitor Codex and Claude usage limits from the Windows tray and switch saved Codex accounts, with automatic Codex token renewal.
  • Delete individual or selected local sessions with backups. Choose Dark, Light, Hyper or Graphite themes; English, Russian and Spanish interfaces are supported.

Download CtxRelay.exe below. Requires .NET 8 Desktop Runtime for Windows x64 and Microsoft Edge WebView2 Runtime. No installer is required.

github →

● LIVE

devdash

Small single-page HTML tools that run in the browser.

passport
version—
stackHTML · JavaScript

no releases or commits

LAB · your browser

Requires JavaScript.

Computed locally in your browser. Nothing is sent anywhere.

z3n console · type help
↑ / ↓ — projects