13 min read

Install HackerAI Locally with Localtonet Remote Access

Install and verify HackerAI from its official repository, then securely expose the local web service through a Localtonet HTTP tunnel.

HackerAI running locally and connected to a remote browser through a Localtonet HTTP tunnel.
Localtonet routes remote browser requests to the HackerAI service running on the local machine.
AI and Developer Tools · HackerAI · Localtonet · 2026

Build and verify a local HackerAI development environment before making its web interface remotely reachable

HackerAI is an AI-powered penetration testing web application built with Next.js and backed by several hosted services. This guide follows the installation sequence documented in its official repository, explains the required accounts, and shows how to verify the local development service without assuming a hostname or port. Once the application works locally, we will connect that confirmed endpoint to a Localtonet HTTP tunnel as a separate remote-access step. Because HackerAI is security-sensitive, the guide also covers credential handling, authorization, and exposure boundaries.

🔒 Authorized security testing only 🌐 Next.js web access over an HTTP tunnel ⚡ Installation and local verification first

What this installation actually provides

The HackerAI repository describes the project as an AI-powered penetration testing assistant that helps users find and fix vulnerabilities by working with AI. The installation covered here is its local development workflow. It starts a Next.js development server together with a Convex development server, while Agent mode requires an additional Trigger.dev worker.

This distinction matters because the repository is not a completely self-contained offline stack. The application depends on accounts and credentials for hosted services, including AI model access, moderation, cloud execution, data storage, authentication, and durable agent tasks. Running the source code on your computer does not remove those dependencies. It gives you a local development instance whose supporting services still need to be configured correctly.

Use HackerAI only with explicit authorization

Penetration testing tools can generate requests, execute tasks, and interact with systems in ways that may be disruptive or unlawful without permission. Restrict all testing to systems you own or environments for which you have clear written authorization. A Localtonet tunnel provides reachability to the local web service, but it does not grant permission to test another system or replace the application’s authentication and access controls.

Prerequisites and service dependencies

Before cloning the repository, install Git and a Node.js environment capable of running the project’s pnpm-based workflow. The repository provides a pnpm lockfile and documents pnpm commands, so use pnpm rather than substituting another package manager unless the project maintainers explicitly document that alternative. The available evidence does not establish a specific Node.js or pnpm version, so check the current repository files and documentation for version constraints before installation.

You will also need accounts for the required hosted services. Keep API keys and service credentials out of terminal transcripts, screenshots, shared chat messages, and version control. The repository includes an environment example file, but values must come from your own service accounts and current project configuration. Do not copy placeholder values into a production-like environment without understanding what each variable controls.

🤖 AI and moderation OpenRouter is required as the AI model provider, while OpenAI is required for content moderation.
🧰 Execution and backend E2B provides isolated cloud execution for Agent mode, and Convex supplies the database and backend.
🔐 Authentication WorkOS is required for authentication and user management, so a local web server alone is not enough to complete the application workflow.
⚙️ Durable agent tasks Trigger.dev is the required durable runtime for agent tasks. Local Agent mode also needs a separate Trigger.dev development worker.
📦 Optional integrations Optional services include Amazon S3, Perplexity, Jina AI, Redis, Upstash Redis, PostHog, and Stripe.
🌐 Remote web access After the Next.js endpoint is working locally, a Localtonet HTTP tunnel can provide a public HTTPS address for that local target.

Install HackerAI from the official repository

HackerAI repository and terminal installation stages shown side by side.
The installation proceeds from the official source repository through dependencies to service startup.

Follow the repository’s documented order. Do not start by creating a public tunnel. First complete setup, start the development services, and verify that the application responds locally. This separation makes troubleshooting easier and prevents an incomplete or misconfigured service from being exposed unnecessarily.

1

Confirm the required accounts and local tools

Prepare Git, the project-compatible Node.js environment, pnpm, and the required hosted accounts. Obtain credentials directly from the relevant service dashboards, but do not place secrets in shell history or commit them to the repository.

2

Clone the HackerAI repository

Clone the official public repository to your development machine.

git clone https://github.com/hackerai-tech/hackerai.git
3

Enter the project directory

Change into the cloned repository before running dependency or setup commands.

cd hackerai
4

Install the project dependencies

Use the package manager documented by the project so that dependency resolution follows the repository’s pnpm configuration and lockfile.

pnpm install
5

Run the setup script

Launch the repository-provided setup process. Follow its current prompts and instructions rather than guessing environment values. Service credentials must come from your own accounts.

pnpm run setup
6

Start the Next.js and Convex development servers

Start the combined development workflow. According to the repository documentation, this command runs both the Next.js and Convex development servers.

pnpm run dev

Alternative startup and Agent mode

If you need to inspect or troubleshoot each development service separately, the repository also documents separate commands for Next.js and Convex. Run these in two terminals from the project directory:

pnpm run dev:next
pnpm run dev:convex

Agent mode adds another component. Create a Trigger.dev project, place your Trigger.dev development secret in the local environment under the variable name documented by the repository, and configure the worker-side environment variables in the Trigger.dev dashboard. The worker needs the relevant Convex, OpenRouter, OpenAI, and cloud sandbox configuration, plus any optional integration keys used by your tasks.

Do not publish environment files or development secrets

The Trigger.dev development secret, AI provider keys, Convex service credentials, authentication configuration, and optional integration credentials are sensitive. Never paste their values into a tutorial, public issue, tunnel URL, or committed configuration file. A public HTTP endpoint and a private backend credential solve different problems. Keep credentials private even when the web interface requires remote access.

Start the default Trigger.dev worker in a third terminal when local Agent requests require it:

pnpm dev:trigger

The repository also documents a branch-routing override, but it should be used only when the request path is configured to target the same stable Trigger.dev branch. For a standard local setup, start with the default worker command and introduce branch routing only when you have a specific development requirement.

Verify HackerAI locally before creating a tunnel

Browser loading HackerAI on localhost before a remote tunnel is started.
Confirm that HackerAI loads on localhost before configuring remote access.

Watch the development-server output after running the startup command. The available project evidence confirms that a Next.js development server is started, but it does not establish a fixed hostname or port. Use the exact local URL printed by your current development process. Do not assume a conventional framework default, because repository settings, environment configuration, or another process on the machine may change the listening address or port.

Open the reported URL in a browser on the same machine. Confirm that the application loads and that the authentication flow reaches the expected state. If you intend to use Agent mode, verify that the Convex service and Trigger.dev worker remain running and inspect each terminal for configuration or connection errors.

Web endpoint responds The browser can reach the exact URL reported by the Next.js development server without a tunnel.
🗄️ Backend stays connected The Convex development process remains active and does not report unresolved setup or credential failures.
⚙️ Agent worker is available When Agent mode is needed, the Trigger.dev worker runs separately with the worker-side variables required by the task.
Local verification isolates the problem

If the application does not work through the local URL, adding Localtonet will not repair its dependencies, authentication, or application configuration. Resolve local errors first. Once the endpoint works on the machine running the Localtonet client, tunnel troubleshooting can focus only on target selection and connectivity.

Choose the correct Localtonet access method

HackerAI exposes a browser-based Next.js interface, so an HTTP tunnel is the appropriate Localtonet tunnel family for this workflow. Our client establishes an outbound connection to a Localtonet relay server. This makes the local web service reachable through a public URL without inbound router port forwarding, firewall changes, VPN setup, or a public IP address.

The Localtonet client must run on the development machine or another device that can reach the confirmed HackerAI endpoint. The local target consists of the IP address and port shown by the development server. The public tunnel remains available only while the selected client is connected and the tunnel is running.

Component Purpose What to verify
HackerAI Next.js server Provides the local browser interface Use the hostname and port printed by the running development server
Convex development server Supports the application database and backend workflow Keep it running and resolve backend configuration errors locally
Trigger.dev worker Runs local Agent tasks when Agent mode is used Start it separately and configure the required worker environment
Localtonet HTTP tunnel Publishes the verified local web endpoint Select the correct device, local address, local port, and available relay server

Set up Localtonet remote access

Remote browser traffic passing through a Localtonet HTTP tunnel to HackerAI on localhost.
The public endpoint forwards browser requests through Localtonet to the private HackerAI service.

Complete these steps only after HackerAI works through its local URL. Available relay servers, regions, and account options can vary, so select current values from our dashboard rather than copying a hardcoded server code from an article. For the current interface and configuration details, consult our HTTP tunnel documentation.

1

Install and run the Localtonet client

Run our client on the HackerAI development machine or on a device that can reach the verified Next.js endpoint over the local network.

2

Authenticate and select the client device

Use the device-specific authentication token associated with the client that will carry the tunnel. Keep that token private and never include it in screenshots, commands, or shared configuration examples.

3

Select an available relay server

Choose a currently available server or region from the dashboard. Do not rely on a hardcoded server value because availability can change.

4

Create the HTTP tunnel configuration

Configure an HTTP tunnel whose local target matches the IP address and port reported by the HackerAI Next.js server. Do not substitute an assumed framework port.

5

Start the tunnel

Creating a tunnel does not start it. Use the Start button, then confirm that the selected client remains connected and the tunnel reports that it is running.

6

Test the assigned public URL

Open the assigned public HTTPS address from an authorized remote device. When testing is complete, stop or delete the tunnel so the development interface is no longer publicly reachable.

Security practices for remote development access

Treat the public URL as internet-facing even when you share it with only one person. Keep HackerAI’s authentication enabled, use least-privilege accounts, and avoid exposing administrative or debugging functionality unnecessarily. Review the application terminals while remote access is active so that authentication failures, backend errors, and unexpected requests are visible.

A tunnel controls network reachability, not application authorization. It does not automatically make a development server suitable for unrestricted production use. Development services may produce verbose errors or depend on credentials intended only for testing. Limit the tunnel’s lifetime to the remote session and stop it when it is no longer required.

If a remote request reaches the Localtonet URL but the page does not function correctly, retest the local endpoint and inspect the Next.js, Convex, and Trigger.dev processes independently. If the public URL does not connect at all, confirm that the correct Localtonet device is online, the tunnel is started, and its target exactly matches the working local address and port.

Frequently asked questions

Is HackerAI fully self-contained when installed locally?

No. The documented development setup runs application components locally but still requires hosted accounts for OpenRouter, OpenAI, E2B, Convex, WorkOS, and Trigger.dev. Optional capabilities can require additional services.

What port does the HackerAI development server use?

The supplied official evidence does not establish a fixed hostname or port. Read the URL printed by the active Next.js development process and use that exact address for local verification and the Localtonet target.

Do I need the Trigger.dev worker for the basic web interface?

The repository specifically requires the Trigger.dev worker for local Agent mode because agent tasks run through Trigger.dev. Start it in a separate terminal when you need those Agent requests.

Why should I verify HackerAI locally before using Localtonet?

Local verification confirms that Next.js and the required backend components are configured correctly. Localtonet publishes a reachable service, but it does not repair application startup, authentication, dependency, or credential errors.

Does creating a Localtonet tunnel immediately make it available?

No. After creating the configuration, you must start the tunnel. The selected client must remain connected, and the tunnel must remain running for its public URL to work.

Does a public tunnel replace HackerAI authentication?

No. The tunnel provides network reachability to the local endpoint. Keep the application’s authentication and authorization controls enabled, protect all credentials, and expose the development service only for the time and users required.

Connect your verified HackerAI development service

Once HackerAI loads correctly through its reported local URL, use our HTTP tunneling workflow to provide controlled remote reachability without configuring inbound router port forwarding.

Get Started Free →

Localtonet is a secure multi-protocol tunneling and proxy platform designed to expose localhost, devices, private services, and AI agents to the public internet supporting HTTP/HTTPS tunnels, TCP/UDP forwarding, mobile proxy infrastructure, file server publishing, latency-optimized game connectivity, and developer-ready AI agent endpoint exposure from a single unified control plane.

support