
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
The core library for interacting with routers running Padavan firmware. Provides a programmatic API for local control via HTTP.
[RU] | [EN]
A Node.js library for managing routers running Padavan firmware.
It interacts with the router via its Web Interface (HTTP), providing programmatic access to configuration, diagnostics, and firmware management functions.
Upgrading from v1? Check the Migration Guide for details on breaking changes (move from SSH to HTTP, new constructor) and removed features.
npm install padavan
import Padavan from 'padavan';
const client = new Padavan({
credentials: {
host: '192.168.1.1',
username: 'admin',
password: 'password'
},
logLevel: 'error'
});
// Get system status
const status = await client.getStatus();
console.log(`Uptime: ${status.uptime}`);
The constructor accepts a config object with the following properties:
| Property | Description |
|---|---|
credentials | Object containing connection details. |
logLevel | Logging level: 'none', 'error', 'info', 'debug'. |
| Property | Description |
|---|---|
host | Router IP address or hostname. |
username | Web interface username. |
password | Web interface password. |
repo | GitHub owner/repo for firmware updates. |
branch | GitHub branch (e.g., main). |
token | GitHub PAT for accessing Actions/Artifacts. |
getStatus()
Returns CPU load, RAM usage, uptime, and basic Wi-Fi status.getLog()
Fetches the complete system log.exec(command)
Executes a system command via the web console emulator (SystemCmd).
Returns: Command output (stdout + stderr).sendAction(action, payload?)
Sends a low-level action to apply.cgi.
Arguments: action (string, e.g., ' Reboot '), payload (data object).
Returns: Server response (command output or status).startReboot()
Reboots the router via HTTP command.getDevices()
Returns a list of connected clients from the ARP table and Wi-Fi driver.
Properties: mac, ip, hostname, type (eth, wifi, 2.4GHz, 5GHz),
rssi.getHistory()
Returns traffic statistics.
Structure: { daily: [...], monthly: [...] }.startScan(band)
Performs a Site Survey (scan).
Band: '2.4' or '5'.getBestChannel(band)
Wi-Fi Doctor: Scans the environment, calculates interference scores, and
recommends the optimal channel for your router.getParams(keys?, page?)
Returns NVRAM variables.
Arguments:
keys: Specific key string or array of keys. If omitted, returns all.page: If provided, parses input fields from a specific ASP page HTML instead
of using nvram show.setParams(params, options?)
Sets NVRAM variables.
Options: action_mode (e.g., ' Apply '), sid_list (Service IDs to
restart), group_id, current_page.Requires GitHub credentials (repo, branch, token).
findFirmware(model?)
Searches for firmware artifacts in the configured repository network (looks
into forks).getChangelog()
Compares the current router version with the latest artifact and returns a list
of commits.startBuild()
Triggers a GitHub Actions workflow to build new firmware.startUpgrade()
Downloads the latest artifact, uploads it to the router, and flashes it.This package includes a CLI tool. See CLI Documentation.
FAQs
The core library for interacting with routers running Padavan firmware. Provides a programmatic API for local control via HTTP.
We found that padavan demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.