JetLink

URL: http://96.253.78.35:8080 | Location: USA, Virginia

1. Get all devices

Returns complete list of all modems on server with their current status.

Endpoint: GET /apix/show_status_json

2. Get free devices considering Dedicated/Shared logic

Returns list of free devices. For Dedicated/Mix: device is free if no ports or all ports expired. For Shared: device is free if active ports less than 5.

Endpoints: GET /apix/show_status_json + GET /apix/list_ports_json

3. Get busy devices considering Dedicated/Shared logic

Returns list of busy devices according to server type logic.

Endpoints: GET /apix/show_status_json + GET /apix/list_ports_json

4. Create port with auto-generated credentials and optional OS Fingerprint

Creates new port on selected device. Automatically generates unique login, password and assigns free ports.

Endpoints: POST /crud/store_port + GET /apix/apply_port?arg={portID}

5. Get proxy, OpenVPN, reset link

Gets complete access data for existing port.

Endpoints: GET /apix/list_ports_json + GET /get_vpn_profile/{portID}.ovpn

6. Change OS Fingerprint without changing other parameters

Updates only OS fingerprint for active port, keeping all other settings.

Endpoints: POST /crud/store_port + GET /apix/apply_port?arg={portID}

7. Extend port with optional device rotation

Extends port validity. With rotation enabled, moves port to free device.

Endpoints: POST /crud/store_port + GET /apix/apply_port?arg={portID}

8. Delete specific port or all expired

Deletes specified port or all ports with expired validity.

Endpoint: GET /apix/purge_port?arg={portID}

9. Get all active ports with credentials and links

Returns list of all active ports (with expiry date greater than current) including access data.

Endpoint: GET /apix/list_ports_json

10. Reboot device that belongs to port

Reboots device. Device is determined through port automatically.

Important: Device must be obtained through port, as it may be replaced by administrator!
Endpoint: GET /apix/reboot_modem_by_imei?IMEI={IMEI}

11. Enable automatic IP rotation on device

Enables automatic IP change at specified interval. Device is determined through port.

Important: IMEI and name of device are mandatory fields that cannot be changed!
Endpoints: POST /crud/store_modem + POST /modem/settings

12. Get server statistics

Collects statistics based on device and port data according to described logic.

Endpoints: GET /apix/show_status_json + GET /apix/list_ports_json

13. Transfer port to another device

Transfers port to another device by recreating it.

Endpoints: POST /crud/store_port + GET /apix/apply_port?arg={portID}

Solution Architecture

Proxysmart is a mobile proxy server management system built on physical devices with SIM cards from various operators.

System Structure

📍
Location
USA, Virginia
+
📡
Operator
Verizon
=
🖥️
Server
US-VA-Verizon
Devices on server:
📱
Device 1
IMEI: 353990074165890
📱
Device 2
IMEI: 862329041087719
📱
Device N
...
Ports created on devices:
HTTP: 8100-8999 SOCKS5: 5100-5999 OpenVPN

Glossary of Terms

Location

Geographical location of server equipment.

Examples:
  • USA, New York
  • USA, Los Angeles
  • USA, Chicago

Operator

Mobile operator providing SIM cards.

Examples:
  • Verizon
  • AT&T
  • T-Mobile
  • Sprint

Server

Physical server located in a location with dedicated full duplex fiber optic channel of at least 1 gigabit/s, to which devices with SIM cards are connected. One location can have multiple servers, each with a unique static IP address for integration.

Formula: Location + Operator(s) = Server
Examples:
  • New York + Verizon = "US-NY-Verizon"
  • Chicago + (AT&T + T-Mobile) = "US-Chicago-Mix"

Server Types

Dedicated Server

One device - one port. Only one operator available.

Maximum ports per device: 1

Shared Server

One device - up to 5 ports. Only one operator available.

Maximum ports per device: 5

Mix Server

Same as Dedicated, but can have different operators (Verizon, T-Mobile, AT&T).

Maximum ports per device: 1

Device

Physical equipment: modem, router, phone.

IMPORTANT: Device can be replaced by administrator at any time!
Examples:
  • Modem: MC8010CA, E3372, MR6400
  • Router: DW5811e, USB modems
  • Phone: Android devices
Identifiers:
  • IMEI: 15 digits (e.g.: 353990074165890)
  • Nickname: Arbitrary name (e.g.: dongle_101)

Port

Virtual access point for client.

Includes: HTTP proxy, SOCKS5 proxy, OpenVPN.

Ports: HTTP (8100-8999), SOCKS (5100-5999)

IMEI

International Mobile Equipment Identity - unique 15-digit device identifier.

Example: 353990074165890

Proxy

Intermediate server for routing internet traffic through mobile device.

HTTP Proxy SOCKS5 Proxy

VPN (OpenVPN)

Virtual Private Network - encrypted connection through mobile device.

OS Fingerprint

Operating system fingerprint emulation to bypass detection, new ones can be added upon request.

Available options:
  • No spoofing
  • Android (p0f compliant, slow)
  • Android (real, almost like Linux)
  • iOS (p0f compliant)
  • iOS/iPhone (real)
  • Windows 10 (real)
  • MacOS X
  • MacOS 12.6 / iPhone 13 Pro Max

IP Rotation

Process of changing IP address by reconnecting to operator network.

Methods:
  • Change via secure link generated for port
  • Automatic by timer
  • By API request via IMEI

Important Notes

  • Device replacement: Device may change for various reasons (breakdown, maintenance, rotation)
  • Api speed: API is quite slow, consider waiting for completion or breaking the session
  • Device ownership: Always verify device ownership before operations
  • Rate Limits:
    • Don't change IP more than once per minute
    • Don't reload device more than once per hour
  • Port rotation: When extending port, it is advisable to rotate device to a free one

Quick Start

This interface is designed for testing integration with Proxysmart API. All operations are performed on test server http://96.253.78.35:8080/ with credentials proxy:proxy.

Main workflow:

  1. Get list of free devices
  2. Create port on free device
  3. Get access data (HTTP proxy, SOCKS5 proxy, OpenVPN)
  4. Change OS fingerprint if needed
  5. Extend port if needed
  6. Transfer port to another device if needed
  7. Reboot device that belongs to port if needed
  8. Delete port after use
1

Get All Devices

Returns complete list of all devices (modems) on server with their current status, network parameters and characteristics.

Logic:
Makes request to /apix/show_status_json endpoint and returns array of all devices. Each device contains modem info (IMEI, model, nickname) and network data (IP, operator, connection status).
Endpoint: GET /apix/show_status_json

Code example:

Response example:

2

Get Free Devices

Returns list of free devices considering server type (Dedicated/Shared/Mix).

Logic:
Gets all devices and ports, then filters by server type logic. For Dedicated/Mix: device is free if no ports or all ports expired. For Shared: device is free if active ports less than 5.
Endpoint: GET /apix/show_status_json + GET /apix/list_ports_json

Code example:

Response example:

3

Get Busy Devices

Returns list of busy devices considering server type.

Logic:
Gets all devices and subtracts free ones. Device is busy if it has active ports according to server type logic.
Endpoint: GET /apix/show_status_json + GET /apix/list_ports_json

Code example:

Response example:

4

Create Port

Creates new port on specified device with automatic credentials generation.

Logic:
Generates unique portID, login, password, assigns free HTTP and SOCKS ports. Saves port via /crud/store_port, then applies settings via /apix/apply_port.
Endpoint: POST /crud/store_port + GET /apix/apply_port

Code example:

Response example:

5

Get Access Details

Gets complete access data for existing port.

Logic:
Searches port by portID in all ports list via /apix/list_ports_json. Returns proxy credentials, IP reset link and OpenVPN config download link.
Endpoint: GET /apix/list_ports_json + /get_vpn_profile/{portID}.ovpn

Code example:

Response example:

6

Change OS Fingerprint

Changes OS fingerprint for active port without changing other parameters.

Logic:
Gets current port data, saves all parameters except OS, updates only OS fingerprint via /crud/store_port and applies changes.
Endpoint: POST /crud/store_port + GET /apix/apply_port

Code example:

Response example:

7

Extend Port

Extends port validity with optional rotation to new device.

Logic:
For rotation finds free device. Recreates port with same credentials on new device via POST /crud/store_port, then applies changes.
Endpoint: POST /crud/store_port + GET /apix/apply_port

Code example:

Response example:

8

Delete Ports

Deletes specific port or all expired ports.

Logic:
For expired deletion: iterates through all ports and deletes those with PROXY_VALID_BEFORE less than current time. Uses /apix/purge_port for each port.
Endpoint: GET /apix/purge_port

Code example:

Response example:

9

Get Active Ports

Returns list of all active (not expired) ports with complete access data.

Logic:
Gets all ports via /apix/list_ports_json, filters by expiry date (greater than current). Returns only ports with set expiry date.
Endpoint: GET /apix/list_ports_json

Code example:

Response example:

10

Reboot Device

Reboots device that hosts specified port.

Logic:
IMPORTANT: first determines device IMEI through port (as device may be replaced). Then performs reboot via /apix/reboot_modem_by_imei.
Endpoint: GET /apix/reboot_modem_by_imei

Code example:

Response example:

11

Automatic IP Rotation

Enables automatic IP address change at specified interval.

Logic:
Gets device through port, then gets device NICK via /apix/show_single_status_json, saves modem settings with AUTO_IP_ROTATION parameter via /crud/store_modem. IMPORTANT: IMEI and name are mandatory and must not be changed!
Endpoint: GET /apix/show_single_status_json + POST /crud/store_modem + POST /modem/settings

Code example:

Response example:

12

Server Statistics

Collects and returns complete statistics for devices and ports.

Logic:
Analyzes data from /apix/show_status_json and /apix/list_ports_json. Counts devices (total/online/offline/available), ports (active/expired), groups by operators and models.
Endpoint: GET /apix/show_status_json + GET /apix/list_ports_json

Code example:

Response example:

13

Transfer Port

Transfers port to another device keeping all settings.

Logic:
Creates port on new device with same parameters via POST /crud/store_port, then applies changes.
Endpoint: POST /crud/store_port + GET /apix/apply_port

Code example:

Response example:

Complete API Class

Integration Example

Important Notes

  • Device verification: Always get device IMEI through port before reboot or IP rotation operations.
  • Device change: When transferring or extending port with rotation, port is created on new device with same parameters.
  • API speed: API may work slowly. Use timeouts and error handling.
  • Limits: Don't change IP more than once per minute, don't reboot device more than once per hour.
  • Auto rotation: When saving modem settings IMEI and name are mandatory and must not be changed!
  • Server types: Free device detection logic depends on server type (Dedicated/Shared/Mix).