@miraj181/ipingyou 2.0.1 → 2.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +7 -1
- package/package.json +1 -4
- package/src/cli.js +0 -4
- package/src/modes/client.js +2 -2
- package/src/modes/host.js +1 -3
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -74,7 +74,13 @@ graph LR
|
|
|
74
74
|
|
|
75
75
|
---
|
|
76
76
|
|
|
77
|
-
##
|
|
77
|
+
## 🛡️ Security Scanner Disclaimer
|
|
78
|
+
|
|
79
|
+
Because **iPingYou** is a powerful remote administration tool with features like background daemonization (via PM2), secure shell execution (`execa`), and anti-forensics capabilities (`panic` mode), automated security scanners (such as Socket.dev or enterprise EDRs) may flag this package as a **potential risk** or **malware-like**.
|
|
80
|
+
|
|
81
|
+
These alerts (e.g., "AI-detected potential code anomaly", "Shell access", "Network access") are **expected behavior** for a peer-to-peer tunneling utility. The source code is entirely open-source, heavily documented, and uses zero-knowledge encryption to ensure your data is safe.
|
|
82
|
+
|
|
83
|
+
---
|
|
78
84
|
|
|
79
85
|
| Tool | Required | Installation Guide |
|
|
80
86
|
|------|----------|--------------------|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@miraj181/ipingyou",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.4",
|
|
4
4
|
"description": "SecureLink-CLI — Secure peer-to-peer remote access via SSH & Cloudflare Tunnels",
|
|
5
5
|
"main": "src/cli.js",
|
|
6
6
|
"bin": {
|
|
@@ -45,9 +45,6 @@
|
|
|
45
45
|
"chalk": "^5.3.0",
|
|
46
46
|
"commander": "^12.1.0",
|
|
47
47
|
"execa": "^9.5.2",
|
|
48
|
-
"express": "^5.2.1",
|
|
49
|
-
"express-rate-limit": "^8.5.2",
|
|
50
|
-
"helmet": "^8.1.0",
|
|
51
48
|
"inquirer": "^12.3.2",
|
|
52
49
|
"nanoid": "^5.0.9",
|
|
53
50
|
"open": "^11.0.0",
|
package/src/cli.js
CHANGED
|
@@ -26,11 +26,7 @@ import { detectOS, checkDependencies } from './lib/platform.js';
|
|
|
26
26
|
import { installShutdownHandlers, executePanicMode } from './lib/cleanup.js';
|
|
27
27
|
import { startHostMode } from './modes/host.js';
|
|
28
28
|
import { startClientMode } from './modes/client.js';
|
|
29
|
-
import { execa } from 'execa';
|
|
30
|
-
import path from 'node:path';
|
|
31
|
-
import { fileURLToPath } from 'node:url';
|
|
32
29
|
|
|
33
|
-
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
34
30
|
|
|
35
31
|
// ─── ASCII Banner ────────────────────────────────────────────
|
|
36
32
|
function showBanner() {
|
package/src/modes/client.js
CHANGED
|
@@ -21,7 +21,7 @@ import os from 'node:os';
|
|
|
21
21
|
import crypto from 'node:crypto';
|
|
22
22
|
import { decrypt, encrypt } from '../lib/crypto.js';
|
|
23
23
|
import { trackPID, untrackPID, addCleanupHook } from '../lib/cleanup.js';
|
|
24
|
-
import { createSpinner, sshSpinner, networkSpinner, fileTransferSpinner, showConnectionTrace,
|
|
24
|
+
import { createSpinner, sshSpinner, networkSpinner, fileTransferSpinner, showConnectionTrace, simulateTransferProgress } from '../lib/animations.js';
|
|
25
25
|
import { getConfig, saveAlias } from '../lib/config.js';
|
|
26
26
|
import open from 'open';
|
|
27
27
|
|
|
@@ -701,7 +701,7 @@ async function performReverseForward(username, hostname, privateKeyPath) {
|
|
|
701
701
|
const spinner = createSpinner(`Forwarding Host:${remotePort} ➔ Localhost:${localPort}...`, networkSpinner).start();
|
|
702
702
|
|
|
703
703
|
try {
|
|
704
|
-
const child = execa('ssh', sshArgs, { stdio: '
|
|
704
|
+
const child = execa('ssh', sshArgs, { stdio: 'inherit' });
|
|
705
705
|
trackPID(child.pid);
|
|
706
706
|
spinner.succeed(`Reverse tunnel active! Host can access your app at ${chalk.bold.green('localhost:' + remotePort)}`);
|
|
707
707
|
console.log(chalk.dim(' Press Ctrl+C to terminate the reverse tunnel.'));
|
package/src/modes/host.js
CHANGED
|
@@ -24,7 +24,6 @@ import { trackPID, untrackPID, setRevokeOnExit, addCleanupHook } from '../lib/cl
|
|
|
24
24
|
import { detectOS } from '../lib/platform.js';
|
|
25
25
|
import { createSpinner, cryptoSpinner, tunnelSpinner, networkSpinner, typeText } from '../lib/animations.js';
|
|
26
26
|
import { startChatServer, openLocalChatUI } from '../lib/chat.js';
|
|
27
|
-
import open from 'open';
|
|
28
27
|
|
|
29
28
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
30
29
|
let BROKER_URL = process.env.BROKER_URL || 'https://ipingyou.onrender.com';
|
|
@@ -157,8 +156,7 @@ async function spawnTunnelSupervised(targetUrl, onUrlGenerated) {
|
|
|
157
156
|
|
|
158
157
|
// ─── Ephemeral SSH Key Management ────────────────────────────
|
|
159
158
|
async function generateEphemeralKey() {
|
|
160
|
-
const
|
|
161
|
-
const tmpDir = osInfo.isWindows ? process.env.TEMP : '/tmp';
|
|
159
|
+
const tmpDir = os.tmpdir();
|
|
162
160
|
const keyPath = path.join(tmpDir, `ipingyou_${Date.now()}`);
|
|
163
161
|
|
|
164
162
|
await execa('ssh-keygen', ['-t', 'ed25519', '-C', 'ipingyou-ephemeral', '-f', keyPath, '-N', '']);
|