nothing-browser 0.0.17 → 0.0.18
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/dist/client/index.js +224 -40
- package/dist/piggy/client/index.d.ts +77 -2
- package/dist/piggy/client/index.d.ts.map +1 -1
- package/dist/piggy.d.ts.map +1 -1
- package/dist/piggy.js +321 -48
- package/package.json +1 -1
- package/piggy/client/index.ts +325 -54
- package/piggy.ts +37 -18
package/dist/client/index.js
CHANGED
|
@@ -736,66 +736,179 @@ logger.info("logger initialized");
|
|
|
736
736
|
var logger_default = logger;
|
|
737
737
|
|
|
738
738
|
// piggy/client/index.ts
|
|
739
|
-
var
|
|
739
|
+
var DEFAULT_SOCKET_PATH = platform() === "win32" ? "\\\\.\\pipe\\piggy" : "/tmp/piggy";
|
|
740
|
+
|
|
741
|
+
class SocketTransport {
|
|
742
|
+
sock;
|
|
743
|
+
constructor(sock) {
|
|
744
|
+
this.sock = sock;
|
|
745
|
+
}
|
|
746
|
+
send(data) {
|
|
747
|
+
this.sock.write(data);
|
|
748
|
+
}
|
|
749
|
+
on(event, handler) {
|
|
750
|
+
this.sock.on(event, handler);
|
|
751
|
+
}
|
|
752
|
+
destroy() {
|
|
753
|
+
this.sock.destroy();
|
|
754
|
+
}
|
|
755
|
+
}
|
|
756
|
+
|
|
757
|
+
class HttpTransport {
|
|
758
|
+
host;
|
|
759
|
+
key;
|
|
760
|
+
dataHandlers = [];
|
|
761
|
+
errorHandlers = [];
|
|
762
|
+
closeHandlers = [];
|
|
763
|
+
_destroyed = false;
|
|
764
|
+
constructor(host, key) {
|
|
765
|
+
this.host = host.replace(/\/$/, "");
|
|
766
|
+
this.key = key;
|
|
767
|
+
}
|
|
768
|
+
on(event, handler) {
|
|
769
|
+
if (event === "data")
|
|
770
|
+
this.dataHandlers.push(handler);
|
|
771
|
+
if (event === "error")
|
|
772
|
+
this.errorHandlers.push(handler);
|
|
773
|
+
if (event === "close")
|
|
774
|
+
this.closeHandlers.push(handler);
|
|
775
|
+
}
|
|
776
|
+
send(data) {
|
|
777
|
+
if (this._destroyed)
|
|
778
|
+
return;
|
|
779
|
+
fetch(this.host, {
|
|
780
|
+
method: "POST",
|
|
781
|
+
headers: {
|
|
782
|
+
"Content-Type": "application/json",
|
|
783
|
+
"X-Piggy-Key": this.key
|
|
784
|
+
},
|
|
785
|
+
body: data
|
|
786
|
+
}).then(async (res) => {
|
|
787
|
+
if (!res.ok) {
|
|
788
|
+
const text2 = await res.text().catch(() => `HTTP ${res.status}`);
|
|
789
|
+
this.errorHandlers.forEach((h) => h(new Error(`HTTP ${res.status}: ${text2}`)));
|
|
790
|
+
return;
|
|
791
|
+
}
|
|
792
|
+
const text = await res.text();
|
|
793
|
+
const lines = text.split(`
|
|
794
|
+
`).filter((l) => l.trim());
|
|
795
|
+
for (const line of lines) {
|
|
796
|
+
this.dataHandlers.forEach((h) => h(line + `
|
|
797
|
+
`));
|
|
798
|
+
}
|
|
799
|
+
}).catch((e) => {
|
|
800
|
+
if (!this._destroyed) {
|
|
801
|
+
this.errorHandlers.forEach((h) => h(e));
|
|
802
|
+
}
|
|
803
|
+
});
|
|
804
|
+
}
|
|
805
|
+
destroy() {
|
|
806
|
+
this._destroyed = true;
|
|
807
|
+
this.closeHandlers.forEach((h) => h());
|
|
808
|
+
}
|
|
809
|
+
}
|
|
740
810
|
|
|
741
811
|
class PiggyClient {
|
|
742
812
|
socketPath;
|
|
743
|
-
|
|
813
|
+
httpHost = null;
|
|
814
|
+
httpKey = null;
|
|
815
|
+
transport = null;
|
|
744
816
|
reqId = 0;
|
|
745
817
|
pending = new Map;
|
|
746
818
|
buf = "";
|
|
747
|
-
eventBuffer = "";
|
|
748
819
|
eventHandlers = new Map;
|
|
749
820
|
globalEventHandlers = new Map;
|
|
750
|
-
constructor(
|
|
751
|
-
|
|
821
|
+
constructor(arg) {
|
|
822
|
+
if (arg && typeof arg === "object") {
|
|
823
|
+
this.socketPath = "";
|
|
824
|
+
this.httpHost = arg.host.replace(/\/$/, "");
|
|
825
|
+
this.httpKey = arg.key;
|
|
826
|
+
} else {
|
|
827
|
+
this.socketPath = arg ?? DEFAULT_SOCKET_PATH;
|
|
828
|
+
}
|
|
752
829
|
this.eventHandlers.set("default", new Map);
|
|
753
830
|
}
|
|
754
831
|
connect() {
|
|
832
|
+
if (this.httpHost)
|
|
833
|
+
return this._connectHttp();
|
|
834
|
+
return this._connectSocket();
|
|
835
|
+
}
|
|
836
|
+
_connectSocket() {
|
|
755
837
|
return new Promise((resolve, reject) => {
|
|
756
838
|
logger_default.info(`Connecting to socket: ${this.socketPath}`);
|
|
757
839
|
const sock = connect(this.socketPath);
|
|
758
840
|
sock.setEncoding("utf8");
|
|
759
841
|
sock.on("connect", () => {
|
|
760
|
-
this.
|
|
761
|
-
|
|
842
|
+
this.transport = new SocketTransport(sock);
|
|
843
|
+
this._wireTransport();
|
|
844
|
+
logger_default.success("Connected to Piggy server (socket)");
|
|
762
845
|
resolve();
|
|
763
846
|
});
|
|
764
|
-
sock.on("data", (chunk) => {
|
|
765
|
-
this.eventBuffer += chunk;
|
|
766
|
-
const lines = this.eventBuffer.split(`
|
|
767
|
-
`);
|
|
768
|
-
this.eventBuffer = lines.pop();
|
|
769
|
-
for (const line of lines) {
|
|
770
|
-
if (!line.trim())
|
|
771
|
-
continue;
|
|
772
|
-
try {
|
|
773
|
-
const msg = JSON.parse(line);
|
|
774
|
-
if (msg.type === "event") {
|
|
775
|
-
this.handleEvent(msg);
|
|
776
|
-
continue;
|
|
777
|
-
}
|
|
778
|
-
const p = this.pending.get(msg.id);
|
|
779
|
-
if (p) {
|
|
780
|
-
this.pending.delete(msg.id);
|
|
781
|
-
msg.ok ? p.resolve(msg.data) : p.reject(new Error(msg.data ?? "command failed"));
|
|
782
|
-
}
|
|
783
|
-
} catch {
|
|
784
|
-
logger_default.error(`Bad JSON from server: ${line}`);
|
|
785
|
-
}
|
|
786
|
-
}
|
|
787
|
-
});
|
|
788
847
|
sock.on("error", (e) => {
|
|
789
848
|
for (const p of this.pending.values())
|
|
790
849
|
p.reject(e);
|
|
791
850
|
this.pending.clear();
|
|
792
851
|
reject(e);
|
|
793
852
|
});
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
853
|
+
});
|
|
854
|
+
}
|
|
855
|
+
async _connectHttp() {
|
|
856
|
+
logger_default.info(`Connecting to Piggy server (HTTP): ${this.httpHost}`);
|
|
857
|
+
try {
|
|
858
|
+
const res = await fetch(this.httpHost, {
|
|
859
|
+
method: "POST",
|
|
860
|
+
headers: {
|
|
861
|
+
"Content-Type": "application/json",
|
|
862
|
+
"X-Piggy-Key": this.httpKey
|
|
863
|
+
},
|
|
864
|
+
body: "hello"
|
|
798
865
|
});
|
|
866
|
+
if (res.status === 401) {
|
|
867
|
+
throw new Error("Unauthorized — invalid X-Piggy-Key");
|
|
868
|
+
}
|
|
869
|
+
this.transport = new HttpTransport(this.httpHost, this.httpKey);
|
|
870
|
+
this._wireTransport();
|
|
871
|
+
logger_default.success(`Connected to Piggy server (HTTP): ${this.httpHost}`);
|
|
872
|
+
} catch (e) {
|
|
873
|
+
throw new Error(`Failed to connect to Piggy HTTP server: ${e.message}`);
|
|
874
|
+
}
|
|
875
|
+
}
|
|
876
|
+
_wireTransport() {
|
|
877
|
+
if (!this.transport)
|
|
878
|
+
return;
|
|
879
|
+
this.transport.on("data", (chunk) => {
|
|
880
|
+
this.buf += chunk;
|
|
881
|
+
const lines = this.buf.split(`
|
|
882
|
+
`);
|
|
883
|
+
this.buf = lines.pop();
|
|
884
|
+
for (const line of lines) {
|
|
885
|
+
if (!line.trim())
|
|
886
|
+
continue;
|
|
887
|
+
try {
|
|
888
|
+
const msg = JSON.parse(line);
|
|
889
|
+
if (msg.type === "event") {
|
|
890
|
+
this.handleEvent(msg);
|
|
891
|
+
continue;
|
|
892
|
+
}
|
|
893
|
+
const p = this.pending.get(msg.id);
|
|
894
|
+
if (p) {
|
|
895
|
+
this.pending.delete(msg.id);
|
|
896
|
+
msg.ok ? p.resolve(msg.data) : p.reject(new Error(msg.data ?? "command failed"));
|
|
897
|
+
}
|
|
898
|
+
} catch {
|
|
899
|
+
logger_default.error(`Bad JSON from server: ${line}`);
|
|
900
|
+
}
|
|
901
|
+
}
|
|
902
|
+
});
|
|
903
|
+
this.transport.on("error", (e) => {
|
|
904
|
+
for (const p of this.pending.values())
|
|
905
|
+
p.reject(e);
|
|
906
|
+
this.pending.clear();
|
|
907
|
+
});
|
|
908
|
+
this.transport.on("close", () => {
|
|
909
|
+
for (const p of this.pending.values())
|
|
910
|
+
p.reject(new Error("Connection closed"));
|
|
911
|
+
this.pending.clear();
|
|
799
912
|
});
|
|
800
913
|
}
|
|
801
914
|
handleEvent(event) {
|
|
@@ -859,7 +972,6 @@ class PiggyClient {
|
|
|
859
972
|
} catch {}
|
|
860
973
|
}
|
|
861
974
|
}
|
|
862
|
-
return;
|
|
863
975
|
}
|
|
864
976
|
}
|
|
865
977
|
onEvent(eventName, tabId, handler) {
|
|
@@ -871,16 +983,16 @@ class PiggyClient {
|
|
|
871
983
|
return () => this.globalEventHandlers.get(key)?.delete(handler);
|
|
872
984
|
}
|
|
873
985
|
disconnect() {
|
|
874
|
-
this.
|
|
875
|
-
this.
|
|
986
|
+
this.transport?.destroy();
|
|
987
|
+
this.transport = null;
|
|
876
988
|
}
|
|
877
989
|
send(cmd, payload = {}) {
|
|
878
990
|
return new Promise((resolve, reject) => {
|
|
879
|
-
if (!this.
|
|
991
|
+
if (!this.transport)
|
|
880
992
|
return reject(new Error("Not connected"));
|
|
881
993
|
const id = String(++this.reqId);
|
|
882
994
|
this.pending.set(id, { resolve, reject });
|
|
883
|
-
this.
|
|
995
|
+
this.transport.send(JSON.stringify({ id, cmd, payload }) + `
|
|
884
996
|
`);
|
|
885
997
|
});
|
|
886
998
|
}
|
|
@@ -1050,6 +1162,30 @@ class PiggyClient {
|
|
|
1050
1162
|
async sessionImport(data, tabId = "default") {
|
|
1051
1163
|
await this.send("session.import", { data, tabId });
|
|
1052
1164
|
}
|
|
1165
|
+
async sessionWsSave(enabled = true) {
|
|
1166
|
+
await this.send("session.ws.save", { enabled });
|
|
1167
|
+
}
|
|
1168
|
+
async sessionPingsSave(enabled = true) {
|
|
1169
|
+
await this.send("session.pings.save", { enabled });
|
|
1170
|
+
}
|
|
1171
|
+
async sessionPaths() {
|
|
1172
|
+
return this.send("session.paths", {});
|
|
1173
|
+
}
|
|
1174
|
+
async sessionCookiesPath() {
|
|
1175
|
+
return this.send("session.cookies.path", {});
|
|
1176
|
+
}
|
|
1177
|
+
async sessionProfilePath() {
|
|
1178
|
+
return this.send("session.profile.path", {});
|
|
1179
|
+
}
|
|
1180
|
+
async sessionWsPath() {
|
|
1181
|
+
return this.send("session.ws.path", {});
|
|
1182
|
+
}
|
|
1183
|
+
async sessionPingsPath() {
|
|
1184
|
+
return this.send("session.pings.path", {});
|
|
1185
|
+
}
|
|
1186
|
+
async sessionReload() {
|
|
1187
|
+
await this.send("session.reload", {});
|
|
1188
|
+
}
|
|
1053
1189
|
async exposeFunction(name, handler, tabId = "default") {
|
|
1054
1190
|
if (!this.eventHandlers.has(tabId))
|
|
1055
1191
|
this.eventHandlers.set(tabId, new Map);
|
|
@@ -1076,6 +1212,54 @@ class PiggyClient {
|
|
|
1076
1212
|
this.eventHandlers.set(tabId, new Map);
|
|
1077
1213
|
logger_default.info(`[${tabId}] cleared all exposed functions`);
|
|
1078
1214
|
}
|
|
1215
|
+
async proxyLoad(path) {
|
|
1216
|
+
await this.send("proxy.load", { path });
|
|
1217
|
+
}
|
|
1218
|
+
async proxyFetch(url) {
|
|
1219
|
+
await this.send("proxy.fetch", { url });
|
|
1220
|
+
}
|
|
1221
|
+
async proxyOvpn(path) {
|
|
1222
|
+
await this.send("proxy.ovpn", { path });
|
|
1223
|
+
}
|
|
1224
|
+
async proxySet(opts) {
|
|
1225
|
+
await this.send("proxy.set", opts);
|
|
1226
|
+
}
|
|
1227
|
+
async proxyTest() {
|
|
1228
|
+
await this.send("proxy.test", {});
|
|
1229
|
+
}
|
|
1230
|
+
async proxyTestStop() {
|
|
1231
|
+
await this.send("proxy.test.stop", {});
|
|
1232
|
+
}
|
|
1233
|
+
async proxyNext() {
|
|
1234
|
+
await this.send("proxy.next", {});
|
|
1235
|
+
}
|
|
1236
|
+
async proxyDisable() {
|
|
1237
|
+
await this.send("proxy.disable", {});
|
|
1238
|
+
}
|
|
1239
|
+
async proxyEnable() {
|
|
1240
|
+
await this.send("proxy.enable", {});
|
|
1241
|
+
}
|
|
1242
|
+
async proxyCurrent() {
|
|
1243
|
+
return this.send("proxy.current", {});
|
|
1244
|
+
}
|
|
1245
|
+
async proxyStats() {
|
|
1246
|
+
return this.send("proxy.stats", {});
|
|
1247
|
+
}
|
|
1248
|
+
async proxyList(limit) {
|
|
1249
|
+
return this.send("proxy.list", limit !== undefined ? { limit } : {});
|
|
1250
|
+
}
|
|
1251
|
+
async proxyRotation(mode, interval) {
|
|
1252
|
+
await this.send("proxy.rotation", { mode, ...interval !== undefined ? { interval } : {} });
|
|
1253
|
+
}
|
|
1254
|
+
async proxyConfig(opts) {
|
|
1255
|
+
await this.send("proxy.config", opts);
|
|
1256
|
+
}
|
|
1257
|
+
async proxySave(path, filter = "all") {
|
|
1258
|
+
await this.send("proxy.save", { path, filter });
|
|
1259
|
+
}
|
|
1260
|
+
onProxyEvent(event, handler) {
|
|
1261
|
+
return this.onEvent(event, "*", handler);
|
|
1262
|
+
}
|
|
1079
1263
|
}
|
|
1080
1264
|
export {
|
|
1081
1265
|
PiggyClient
|
|
@@ -1,14 +1,22 @@
|
|
|
1
1
|
export declare class PiggyClient {
|
|
2
2
|
private socketPath;
|
|
3
|
-
private
|
|
3
|
+
private httpHost;
|
|
4
|
+
private httpKey;
|
|
5
|
+
private transport;
|
|
4
6
|
private reqId;
|
|
5
7
|
private pending;
|
|
6
8
|
private buf;
|
|
7
|
-
private eventBuffer;
|
|
8
9
|
private eventHandlers;
|
|
9
10
|
private globalEventHandlers;
|
|
10
11
|
constructor(socketPath?: string);
|
|
12
|
+
constructor(opts: {
|
|
13
|
+
host: string;
|
|
14
|
+
key: string;
|
|
15
|
+
});
|
|
11
16
|
connect(): Promise<void>;
|
|
17
|
+
private _connectSocket;
|
|
18
|
+
private _connectHttp;
|
|
19
|
+
private _wireTransport;
|
|
12
20
|
private handleEvent;
|
|
13
21
|
onEvent(eventName: string, tabId: string, handler: (data: any) => void): () => void;
|
|
14
22
|
disconnect(): void;
|
|
@@ -72,8 +80,75 @@ export declare class PiggyClient {
|
|
|
72
80
|
captureClear(tabId?: string): Promise<void>;
|
|
73
81
|
sessionExport(tabId?: string): Promise<any>;
|
|
74
82
|
sessionImport(data: any, tabId?: string): Promise<void>;
|
|
83
|
+
/** Enable or disable saving WebSocket frames to ws.json in cwd */
|
|
84
|
+
sessionWsSave(enabled?: boolean): Promise<void>;
|
|
85
|
+
/** Enable or disable saving ping log to pings.json in cwd */
|
|
86
|
+
sessionPingsSave(enabled?: boolean): Promise<void>;
|
|
87
|
+
/** Get all data file paths for the current session */
|
|
88
|
+
sessionPaths(): Promise<{
|
|
89
|
+
workDir: string;
|
|
90
|
+
cookies: string;
|
|
91
|
+
profile: string;
|
|
92
|
+
ws: string;
|
|
93
|
+
pings: string;
|
|
94
|
+
}>;
|
|
95
|
+
/** Get path to cookies.json */
|
|
96
|
+
sessionCookiesPath(): Promise<string>;
|
|
97
|
+
/** Get path to profile.json */
|
|
98
|
+
sessionProfilePath(): Promise<string>;
|
|
99
|
+
/** Get path to ws.json */
|
|
100
|
+
sessionWsPath(): Promise<string>;
|
|
101
|
+
/** Get path to pings.json */
|
|
102
|
+
sessionPingsPath(): Promise<string>;
|
|
103
|
+
/** Reload cookies.json and profile.json from disk without restarting */
|
|
104
|
+
sessionReload(): Promise<void>;
|
|
75
105
|
exposeFunction(name: string, handler: (data: any) => Promise<any> | any, tabId?: string): Promise<void>;
|
|
76
106
|
unexposeFunction(name: string, tabId?: string): Promise<void>;
|
|
77
107
|
clearExposedFunctions(tabId?: string): Promise<void>;
|
|
108
|
+
proxyLoad(path: string): Promise<void>;
|
|
109
|
+
proxyFetch(url: string): Promise<void>;
|
|
110
|
+
proxyOvpn(path: string): Promise<void>;
|
|
111
|
+
proxySet(opts: {
|
|
112
|
+
host?: string;
|
|
113
|
+
port?: number;
|
|
114
|
+
type?: "http" | "https" | "socks5" | "socks4";
|
|
115
|
+
user?: string;
|
|
116
|
+
pass?: string;
|
|
117
|
+
proxy?: string;
|
|
118
|
+
}): Promise<void>;
|
|
119
|
+
proxyTest(): Promise<void>;
|
|
120
|
+
proxyTestStop(): Promise<void>;
|
|
121
|
+
proxyNext(): Promise<void>;
|
|
122
|
+
proxyDisable(): Promise<void>;
|
|
123
|
+
proxyEnable(): Promise<void>;
|
|
124
|
+
proxyCurrent(): Promise<{
|
|
125
|
+
host: string;
|
|
126
|
+
port: number;
|
|
127
|
+
type: string;
|
|
128
|
+
user?: string;
|
|
129
|
+
alive: boolean;
|
|
130
|
+
latencyMs?: number;
|
|
131
|
+
}>;
|
|
132
|
+
proxyStats(): Promise<{
|
|
133
|
+
total: number;
|
|
134
|
+
alive: number;
|
|
135
|
+
dead: number;
|
|
136
|
+
index: number;
|
|
137
|
+
checking: boolean;
|
|
138
|
+
}>;
|
|
139
|
+
proxyList(limit?: number): Promise<{
|
|
140
|
+
host: string;
|
|
141
|
+
port: number;
|
|
142
|
+
type: string;
|
|
143
|
+
alive: boolean;
|
|
144
|
+
latencyMs?: number;
|
|
145
|
+
}[]>;
|
|
146
|
+
proxyRotation(mode: "none" | "timed" | "perrequest", interval?: number): Promise<void>;
|
|
147
|
+
proxyConfig(opts: {
|
|
148
|
+
skipDead?: boolean;
|
|
149
|
+
autoCheck?: boolean;
|
|
150
|
+
}): Promise<void>;
|
|
151
|
+
proxySave(path: string, filter?: "alive" | "dead" | "all"): Promise<void>;
|
|
152
|
+
onProxyEvent(event: string, handler: (data: any) => void): () => void;
|
|
78
153
|
}
|
|
79
154
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../piggy/client/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../piggy/client/index.ts"],"names":[],"mappings":"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"}
|
package/dist/piggy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"piggy.d.ts","sourceRoot":"","sources":["../piggy.ts"],"names":[],"mappings":"AAIA,OAAO,EAA6C,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAY9F,QAAA,MAAM,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"piggy.d.ts","sourceRoot":"","sources":["../piggy.ts"],"names":[],"mappings":"AAIA,OAAO,EAA6C,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAY9F,QAAA,MAAM,KAAK,EAAE,GAwLZ,CAAC;AAMF,KAAK,UAAU,CAAC,KAAK,SAAS,MAAM,IAAI,OAAO,KAAK,GAAG;KACpD,CAAC,IAAI,KAAK,GAAG,UAAU;CACzB,CAAC;AAEF,wBAAgB,QAAQ,CAAC,KAAK,SAAS,MAAM,KAAK,UAAU,CAAC,KAAK,CAAC,CAElE;AAED,YAAY,EAAE,UAAU,EAAE,CAAC;AAC3B,eAAe,KAAK,CAAC;AACrB,OAAO,EAAE,KAAK,EAAE,CAAC"}
|