Skip to content

Documentation

Proxies and Agents

A proxy changes the network route of requests to a source. An agent determines where collection runs. These settings address different needs and do not replace each other.

Using proxies

A proxy routes a request through another server. A pool groups addresses so Akmelo can choose one automatically. A pool can contain a single address. Create a pool, add the addresses from your provider, then assign the pool in the site's settings.

The section has separate Proxies and Groups tabs. The add menu creates either item. Import accepts one address per line. Check skipped entries after importing: duplicates and invalid lines are not counted as added addresses.

Add and test an address

Enter the protocol, hostname or IP, and port from your provider. Fill in the Proxy credentials section if a username and password are required. An HTTP proxy can reach HTTPS sites through CONNECT. Authenticated SOCKS5 works for HTTP requests but is not supported by browser scenarios. HTTPS proxy endpoints themselves are currently unsupported.

Select Test connection before saving. It uses the entered settings without creating a proxy. The log shows address validation, connection, and the response through the proxy. A successful test confirms connectivity to the test target; it does not guarantee that every target website will accept this IP.

The country is resolved asynchronously from the public IP after saving. Private or unknown addresses remain without a country. The flag and country name follow your interface language. Geolocation databases can be inaccurate or lag behind IP changes.

Choose an address selection strategy

Strategy Useful for
Round robin Cycling through available addresses in order
Random Choosing without a fixed order
Fastest Preferring an address with lower measured latency
Least used Distributing requests using recorded usage counts
Sticky Keeping one address per site for a selected time window

Sticky lifetime ranges from 1 minute to 24 hours, with a 10-minute default. A failed or banned address is replaced earlier. IP continuity does not transfer authentication: account for cookies and the target site's session requirements. A new proxy needs latency observations before a fastest strategy can compare it reliably. A pool does not remove request-rate limits or a source's usage rules.

The technical pool code is generated automatically and belongs in advanced settings. It is useful when referring to the pool from code. It cannot be renamed after creation, because existing scenarios may already reference it.

Read the details

Open a proxy to see its status, usage counts, recent outcomes, and associated runs. Target errors are distinguished from proxy connection failures. A target's HTTP403 response alone does not prove that the proxy is broken. An Akmelo temporary ban excludes an address after connection failures; it does not test bans on every site.

Latency checks run while the details panel is open and stop when it closes. The value is a network round trip through the proxy, rather than ICMP ping to its host. History starts when usage tracking is enabled. Past requests cannot be reconstructed from an old last-check timestamp.

Overall counters include remote agent reports after synchronization. The hourly chart shows requests from this installation. Agent run summaries appear in recent activity without fabricated hourly attribution.

A pool's details show aggregate usage, assigned sites, and its addresses, with links to each proxy. Group tests run in the background in small batches, with checked and responding counts. Closing the window does not cancel a test already started. Check site assignments before deleting a pool. Exhausting an active assigned pool fails the run instead of silently using the platform's own IP. Turning a pool off explicitly enables direct connections.

Agent on your own server

An agent collects and processes data on your server. In Akmelo, you assign sites, scripts, and schedules to it, then follow their progress. The server must remain powered on and have access to the sources. New jobs may wait for the agent to reconnect if it is unavailable.

Collected records stay on the agent by default. You can enable an additional cloud copy when needed. Connectivity, run details, and technical health appear in Akmelo regardless of where you choose to keep the records.

See agents on your infrastructure for an overview of the benefits.

Create an agent

  1. Open Agents and choose the create action.
  2. Give it a recognizable name, such as Main store server.
  3. Select the cards for the languages your scripts use. PHP, JavaScript, TypeScript, and Python are currently available. Use search to find a language.
  4. Choose Create and set up. The installation assistant opens immediately.

Select at least one language. The installer prepares the selected runtimes to avoid downloading unnecessary components. The selection is locked after access credentials are issued. Create a new agent for a different selection. Akmelo will not start a script on an agent that does not support its language.

Install by connecting to the server

If a specialist manages your server, ask them to help with the connection details. The assistant has three steps. You can return to a completed step.

1. Server

Enter the server IP address or hostname, port, user, and authentication method: password or SSH key. The usual port is 22, but your administrator may have chosen a different one. If the key has a passphrase, provide it in the corresponding field.

Test the connection. This check does not install the agent or change the server. Do not send a password or key as a regular chat message. Use the secure fields provided for connection credentials.

2. Directory

After the connection succeeds, the assistant lists directories on that server. These are not files on your computer. Open the home directory, move up one level, or enter a subdirectory. The list contains directories only.

Choose Select this directory. The assistant adds a separate akmelo-agent subdirectory to that location. The full installation path appears below and can be edited manually. If a directory is inaccessible, choose another or ask your administrator to check permissions. Do not use another application's directory.

3. Features

Check the path and choose any additional features:

  • Open sites in a browser. Needed when data appears after the page loads, JavaScript runs, or a button is pressed. The browser uses more memory.
  • Keep a cloud copy of results. Makes collected records available in the Akmelo cloud panel. With this setting off, the records stay on your server.
  • Installation size. The assistant checks available resources. The lightweight option suits work without a browser; the standard option supports more demanding work.

Installation starts only when you choose Install agent. The dialog shows progress and then connectivity. Save the panel login and password before closing the dialog: secret values are shown only once.

Manual installation

On the Install manually tab, a specialist can obtain prepared files and commands. Set the path, browser option, and cloud copy, then choose Prepare bundle. Opening the tab alone does not issue new credentials.

Preparing another bundle replaces the active token. An installed agent loses cloud connectivity until a specialist replaces its .env file and restarts it with the new bundle. Do not issue another bundle merely to view the instructions.

Status and resource use

Select an agent in the list to open its detail panel. Check connectivity, version, current work, resource charts, and technical events. Online means the agent contacted the cloud recently; it does not mean a collection is running right now. Check the individual task for its execution status and result.

If a result has not reached the cloud yet, the agent keeps it and retries automatically. A failed report does not delay reports from other collections. Status and data synchronization also work when collection runs without proxies.

The panel shows when data was received. When connectivity is lost, the last known values remain visible with a warning about their age. They are not live measurements. A missing measurement is shown as unavailable, rather than as zero.

Read the resource figures

Figure What it means
Server memory Memory the server environment allows the agent to measure
Service container memory Usage and limit of a particular agent component
Data disk Space on the filesystem holding the agent's data
Database Database availability and occupied space
Queue Queue service availability and the number of waiting tasks

For example, a 320 MB container limit does not mean the whole server has only 320 MB. Memory and disk space are separate measurements. The data disk may be one of several server disks. If the environment does not expose a resource, the panel does not invent a value. If in doubt, compare the figures with your hosting panel together with your administrator.

Go to agent opens its own web panel. The address is set in the agent settings. If access requires an SSH tunnel, establish that connection first using your administrator's instructions.

Agent schedules use the same interface as the cloud: the last five runs, the next five planned runs, and retry settings for temporary failures. Edit schedules in the cloud. The agent receives changes when synchronization succeeds; until then, it continues using its last received configuration. See the scheduling guide.

Technical data sent to the cloud

The agent sends CPU, memory, and disk figures; database and queue availability; task counts; its version; and short technical events such as database unavailable or a run failed. This channel operates even when cloud record copying is off. It is not intended for collected record contents, files, passwords, tokens, connection addresses, or full exception messages. Transfer of records and script logs is controlled separately by synchronization settings.

Technical samples are buffered locally while disconnected. By default, the buffer retains up to 7 days and no more than 10,080 samples. A separate emergency file buffer with the same limits covers a local database failure. Older samples are removed, so a very long outage can leave gaps in the history.

When connectivity returns, the agent sends small batches. Failed attempts trigger longer waits, with slightly different timing for each agent. This helps avoid overloading the cloud when many servers reconnect together. The latest sample travels with part of the backlog so the current state can appear before chart history has fully caught up. Cloud history is retained for 30 days by default.

Update the agent

Choose the mode during installation, both in the installation assistant and when preparing files:

  • Manual, on request, the default. In the cloud, open Agents, select your agent and press Update agent. The same action is available in the agent panel. A notification about a new release does not start an installation.
  • Automatic. The agent installs a verified release after its current work finishes. A short delay before installation spreads the load across agents.
  • Fully disabled. Collections and schedules keep working, but update requests, including cloud requests, are rejected. The update service is not installed. Enabling it later requires a server administrator to configure it on the server.

When an update service is already installed, you can change the mode in local settings. Disabling updates cancels installations that have not started. An installation or recovery already in progress finishes safely.

The cloud agent card shows delivery and installation progress. The agent retrieves requests on its next connection, so no inbound server port is required. If it does not connect within an hour, send the request again.

Automatic updates must be enabled during deployment or in the local panel. The agent accepts only a published release with a verified signature and a compatible version. You cannot substitute an arbitrary archive or image URL for that release.

Before replacing components, the installer waits for queued and active collections to finish, then temporarily blocks new runs. The panel shows progress and the result. If installation fails, it attempts to restore the previous components. This is not a database backup restoration: database structure changes must remain compatible with the previous version. If recovery cannot complete, new runs remain paused and an administrator must inspect the server.

An existing installation may need its administrator to connect a separate update executor once. Panel updates are unavailable until that executor is connected. The executor does not update itself automatically. Maintaining it and backing up the server remain the administrator's responsibility.

Agents are deployed and synchronized with specialized platform tools, not with the public external API. The external API lets you read agent details and retrieve available results through runs and records. It does not expose an agent's service token or server commands.

Cost

A self-hosted agent reduces use of the platform's compute resources. It does not remove the subscription, resource quantity limits, AI use, or operations that actually run on the platform. See limits and charges.

Choose a server

Open server sizing in the agents section. Select script languages, browser support, and the amount of data to keep locally. The calculator recommends resources and shows other combinations. JavaScript and TypeScript share one runtime, so selecting both does not double its resource needs.

If you already have a server in mind, use manual mode and enter its CPU, memory, and disk size. You can see which configurations fit, what limits your selection, and how much space remains for data. A 20 GB disk can fit some small installations. The working minimum and a recommended size with update headroom are shown separately. OS and image sizes are estimates; actual free space is checked when connecting. External S3 storage does not replace disk space for the local database and temporary files.

To compare costs, enter the monthly server price, the number of runs, and the processing time per run excluding time waiting for the source. Enter browser time separately. The calculator shows gross cloud operation costs, a possible cash-cost range after the included budget, and the server price. It also includes an additional agent slot if your current paid allowance has no spare slot. The selected workspace's plan is used automatically. This is a planning estimate, not a guaranteed saving.

A small, infrequent task can cost less in the cloud. For continuous workloads, compare both options. Access to a private network or a requirement to keep data inside the organization can matter more than price. A subscription, AI, CAPTCHA, backups, and server administration are not removed by installing an agent.

The standard installation has one script executor. A faster CPU does not enable several simultaneous collections. After installation, test your heaviest complete run and review resource use in the agent panel. If the requested workload exceeds one executor's capacity for a month, the calculator warns you and does not show projected savings.

Installation with the assistant

Tell the assistant which server and site to configure. It asks for an installation directory and prepares a server check. In the regular installation dialog, select a directory after connecting or enter its full path manually.

If server access is already saved, you do not need to provide it again. Otherwise, secure fields appear in the chat. The password or key is stored separately from the conversation, encrypted, and never sent to the model. The assistant checks the server and shows a plan before installation.

For collection without browser rendering, you can choose a lightweight profile. Its web interface, synchronization, schedules, and export endpoint remain available. The server itself must stay on and be able to reach the data source.

Offline operation and configuration protection

After a successful sync, the agent stores a signed configuration. It continues scheduled collection and serves results through its own endpoint even when the platform is unavailable for more than a day. The age of the configuration alone does not stop it. Changes made on the platform while disconnected arrive after the connection is restored.

Integrity checks protect code, fields, schedules, and export settings from manual database changes. If a change is detected, collection, exports, and API operations are blocked. The interface shows a blocking warning; overview, diagnostics, and recovery remain available. Restoring the old database value or reloading the page does not clear the block. The agent must obtain a full configuration from the platform and verify its signature before work resumes.

Ordinary writes of results, logs, and execution markers are not treated as configuration tampering. This protection assumes that the application and trusted key on the server are secure; it does not replace operating system security or backups.

Exports directly from the agent

Use the agent server's address and the path /api/export/{site}/{export}.csv. Replace the extension with .json or .xml for those formats. Pass the token in an Authorization: Bearer <token> header and restrict it to the required site and export. The endpoint does not need to contact the main platform. Agent ports are local only by default; provide external access through a server-side HTTPS proxy or SSH tunnel.

High HTTP throughput

The High throughput agent profile supports up to 6000 concurrent HTTP requests when resources and site settings allow it. Browser concurrency remains separate. Enable the profile and choose a batch size.