mineflayer-viaproxy 0.7.0

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/func.js ADDED
@@ -0,0 +1,255 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.createBot = createBot;
16
+ const mineflayer_1 = require("mineflayer");
17
+ const minecraft_protocol_1 = require("minecraft-protocol");
18
+ const bedrock_protocol_1 = require("bedrock-protocol");
19
+ const minecraft_data_1 = require("minecraft-data");
20
+ const child_process_1 = require("child_process");
21
+ const types_1 = require("./types");
22
+ const openAuthMod_1 = require("./openAuthMod");
23
+ const utils_1 = require("./utils");
24
+ const path_1 = __importDefault(require("path"));
25
+ const fs_1 = require("fs");
26
+ require("prismarine-registry");
27
+ const constants_1 = require("./constants");
28
+ const convNmp_1 = require("./convNmp");
29
+ const debug = require("debug")("mineflayer-viaproxy");
30
+ const currentLatestVersion = minecraft_data_1.supportedVersions.pc[minecraft_data_1.supportedVersions.pc.length - 1];
31
+ const cmpVersions = (first, second) => {
32
+ const a = first.split(".").map((x) => parseInt(x));
33
+ const b = second.split(".").map((x) => parseInt(x));
34
+ for (let i = 0; i < a.length; i++) {
35
+ if (a[i] > b[i])
36
+ return -1;
37
+ if (a[i] < b[i])
38
+ return 1;
39
+ }
40
+ return 0;
41
+ };
42
+ function detectVersion(host, port) {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ let ver;
45
+ let bedrock = false;
46
+ host = host !== null && host !== void 0 ? host : "127.0.0.1";
47
+ if (port != null && isNaN(port)) {
48
+ port = undefined;
49
+ }
50
+ if (typeof host !== "string") {
51
+ throw new Error(`Host must be a string, got ${typeof host}.`);
52
+ }
53
+ if (port != null && typeof port !== "number") {
54
+ throw new Error(`Port must be a number, got ${typeof port}.`);
55
+ }
56
+ try {
57
+ const port1 = port !== null && port !== void 0 ? port : 25565;
58
+ const host1 = host !== null && host !== void 0 ? host : "127.0.0.1";
59
+ if (host == null)
60
+ debug(`Host not provided. Defaulting to ${host1}.`);
61
+ if (port == null)
62
+ debug(`Port not provided. Defaulting to ${port1}.`);
63
+ const test = yield (0, minecraft_protocol_1.ping)({
64
+ host: host1,
65
+ port: port1,
66
+ closeTimeout: 5000,
67
+ });
68
+ debug(`Server "${host1}:${port1}" is Java.`);
69
+ if (test.version instanceof String) {
70
+ ver = test.version;
71
+ }
72
+ else {
73
+ ver = test.version.name;
74
+ }
75
+ host = host1;
76
+ port = port1;
77
+ }
78
+ catch (err) {
79
+ if (err.code === "ECONNREFUSED") {
80
+ bedrock = true;
81
+ const port1 = port !== null && port !== void 0 ? port : 19132;
82
+ const host1 = host !== null && host !== void 0 ? host : "127.0.0.1";
83
+ if (host == null)
84
+ debug(`Host not provided. Defaulting to ${host1}.`);
85
+ if (port == null)
86
+ debug(`Port not provided. Defaulting to ${port1}.`);
87
+ const test = yield (0, bedrock_protocol_1.ping)({
88
+ host: host1,
89
+ port: port1,
90
+ });
91
+ debug(`Server "${host}:${port}" is Bedrock.`);
92
+ ver = test.version;
93
+ host = host1;
94
+ port = port1;
95
+ }
96
+ else {
97
+ throw err;
98
+ }
99
+ }
100
+ if (ver == null) {
101
+ throw new Error("Failed to detect version.");
102
+ }
103
+ const regex = /1\.\d+(\.\d+)?/g;
104
+ const match = ver.match(regex);
105
+ if (match == null) {
106
+ debug(`Failed to match version from ${ver}!`);
107
+ }
108
+ else {
109
+ const sorted = match.sort(cmpVersions);
110
+ debug(`Detected versions [${sorted.join(", ")}] from "${ver}".`);
111
+ ver = sorted[0];
112
+ let higherVerDetected = false;
113
+ for (const v of sorted) {
114
+ const cmp = cmpVersions(v, currentLatestVersion);
115
+ if (cmp < 0) {
116
+ higherVerDetected = true;
117
+ }
118
+ else if (cmp === 0) {
119
+ ver = v;
120
+ break;
121
+ }
122
+ else if (higherVerDetected) {
123
+ debug(`Multi-version detected. Using latest version ${currentLatestVersion}.`);
124
+ ver = currentLatestVersion;
125
+ break;
126
+ }
127
+ }
128
+ }
129
+ if (bedrock) {
130
+ ver = `Bedrock ${ver}`;
131
+ }
132
+ return { host, port, ver, bedrock };
133
+ });
134
+ }
135
+ function createBot(options_1) {
136
+ return __awaiter(this, arguments, void 0, function* (options, oCreateBot = mineflayer_1.createBot) {
137
+ var _a, _b, _c, _d, _e, _f;
138
+ let useViaProxy = (_a = options.forceViaProxy) !== null && _a !== void 0 ? _a : false;
139
+ const { host: rHost, port: rPort, ver, bedrock } = yield detectVersion(options.host, options.port);
140
+ useViaProxy = useViaProxy || (bedrock || !minecraft_data_1.supportedVersions.pc.includes(ver));
141
+ let bot;
142
+ if (useViaProxy) {
143
+ if (options.forceViaProxy) {
144
+ debug(`forceViaProxy is enabled. Using ViaProxy for version ${ver}.`);
145
+ }
146
+ else {
147
+ debug(`ViaProxy is needed for version ${ver}. Launching it.`);
148
+ }
149
+ const cleanupProxy = () => {
150
+ if (bot != null && bot.viaProxy != null && !bot.viaProxy.killed) {
151
+ bot.viaProxy.kill("SIGINT");
152
+ delete bot.viaProxy;
153
+ }
154
+ };
155
+ const wantedCwd = (_b = options.viaProxyWorkingDir) !== null && _b !== void 0 ? _b : path_1.default.join(process.cwd(), "viaproxy");
156
+ if (!(0, fs_1.existsSync)(wantedCwd)) {
157
+ yield (0, fs_1.mkdirSync)(wantedCwd, { recursive: true });
158
+ }
159
+ const javaLoc = (_c = options.javaPath) !== null && _c !== void 0 ? _c : "java";
160
+ const location = yield (0, utils_1.verifyViaProxyLoc)(wantedCwd, options.autoUpdate, javaLoc, options.viaProxyLocation);
161
+ const port = (_d = options.localPort) !== null && _d !== void 0 ? _d : (yield (0, utils_1.findOpenPort)());
162
+ const auth = (_e = options.localAuth) !== null && _e !== void 0 ? _e : (options.auth !== "offline" || !options.auth ? types_1.AuthType.ACCOUNT : types_1.AuthType.NONE);
163
+ let cmd = (0, constants_1.VIA_PROXY_CMD)(javaLoc, location);
164
+ cmd = cmd + " --target-address " + `${rHost}:${rPort}`;
165
+ cmd = cmd + " --bind-address " + `127.0.0.1:${port}`;
166
+ cmd = cmd + " --auth-method " + auth;
167
+ const cfg = (_f = options.viaProxyConfig) !== null && _f !== void 0 ? _f : {};
168
+ for (const [key, value] of Object.entries(cfg)) {
169
+ const kebabKey = key.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
170
+ cmd = cmd + " --" + kebabKey + " " + value;
171
+ }
172
+ if (bedrock) {
173
+ const supported = yield (0, utils_1.getSupportedMCVersions)(javaLoc, wantedCwd, location);
174
+ const latestBedrock = supported.find((x) => x.includes("Bedrock"));
175
+ if (latestBedrock == null) {
176
+ throw new Error("Failed to find latest Bedrock version.");
177
+ }
178
+ debug(`Latest Bedrock supported by ViaProxy version is ${latestBedrock}. Using it.`);
179
+ cmd = cmd + " --target-version " + `"${latestBedrock}"`;
180
+ }
181
+ const newOpts = Object.assign({}, options);
182
+ newOpts.host = "127.0.0.1";
183
+ newOpts.port = port;
184
+ newOpts.version = currentLatestVersion;
185
+ if (auth !== types_1.AuthType.ACCOUNT) {
186
+ newOpts.auth = "offline";
187
+ cmd = cmd + " --proxy-online-mode " + "false";
188
+ }
189
+ else {
190
+ const initialCheck = yield (0, utils_1.identifyAccount)(options.username, bedrock, javaLoc, location, wantedCwd, 0, false);
191
+ if (initialCheck === -1) {
192
+ debug(`No account found for username "${options.username}". Replacing proxy saves.`);
193
+ const newSetup = yield (0, convNmp_1.loadNmpConfig)(newOpts);
194
+ yield (0, utils_1.modifyProxySaves)(wantedCwd, javaLoc, location, newSetup);
195
+ }
196
+ else {
197
+ debug(`Account found for username "${options.username}". No need to replace proxy saves.`);
198
+ }
199
+ const idx = yield (0, utils_1.identifyAccount)(options.username, bedrock, javaLoc, location, wantedCwd, 0, true);
200
+ debug(`Identified account index for username "${options.username}" is ${idx}.`);
201
+ cmd = cmd + " --proxy-online-mode " + "true";
202
+ cmd = cmd + " --minecraft-account-index" + ` ${idx}`;
203
+ }
204
+ debug(`Launching ViaProxy with cmd: ${cmd}`);
205
+ const viaProxy = (0, child_process_1.spawn)(cmd, { shell: true, cwd: wantedCwd });
206
+ if (options.viaProxyStdoutCb)
207
+ viaProxy.stdout.on("data", options.viaProxyStdoutCb);
208
+ if (options.viaProxyStderrCb)
209
+ viaProxy.stderr.on("data", options.viaProxyStderrCb);
210
+ process.on("beforeExit", cleanupProxy);
211
+ yield new Promise((resolve, reject) => {
212
+ const errorBuffer = [];
213
+ const stdOutListener = (data) => {
214
+ if (data.includes("started successfully")) {
215
+ debug("ViaProxy started successfully");
216
+ viaProxy.stdout.removeListener("data", stdOutListener);
217
+ viaProxy.stderr.removeListener("data", stdErrListener);
218
+ setTimeout(() => {
219
+ debug(`Launching bot on version ${newOpts.version} with ViaProxy.`);
220
+ bot = oCreateBot(newOpts);
221
+ bot.on("end", cleanupProxy);
222
+ (0, openAuthMod_1.openAuthLogin)(bot).then(resolve);
223
+ }, 1000);
224
+ }
225
+ if (data.includes("main/WARN")) {
226
+ const d = data.toString().split("[main/WARN]")[1].trim();
227
+ debug(d);
228
+ }
229
+ };
230
+ const stdErrListener = (data) => {
231
+ errorBuffer.push(data.toString());
232
+ };
233
+ viaProxy.on("close", (code) => {
234
+ if (code !== 0) {
235
+ const completeErrorMessage = errorBuffer.join('\n');
236
+ reject(new Error(`ViaProxy failed to start. Exit code: ${code}. Error log: \n${completeErrorMessage}`));
237
+ }
238
+ });
239
+ viaProxy.on("error", (err) => {
240
+ const completeErrorMessage = errorBuffer.join('\n');
241
+ reject(new Error(`ViaProxy encountered an error: ${err.message}. Error log: \n${completeErrorMessage}`));
242
+ });
243
+ viaProxy.stdout.on("data", stdOutListener);
244
+ viaProxy.stderr.on("data", stdErrListener);
245
+ });
246
+ bot.viaProxy = viaProxy;
247
+ }
248
+ else {
249
+ debug(`For version ${ver}, ViaProxy is not needed. Launching bot normally.`);
250
+ bot = oCreateBot(options);
251
+ }
252
+ return bot;
253
+ });
254
+ }
255
+ //# sourceMappingURL=func.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"func.js","sourceRoot":"","sources":["../src/func.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { ChildProcessWithoutNullStreams } from "child_process";
2
+ import "prismarine-registry";
3
+ declare module "mineflayer" {
4
+ interface Bot {
5
+ viaProxy?: ChildProcessWithoutNullStreams;
6
+ }
7
+ }
8
+ export { createBot } from "./func";
9
+ export { AuthType, ViaProxyOpts } from "./types";
10
+ export { openViaProxyGUI } from "./utils";
package/dist/index.js ADDED
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.openViaProxyGUI = exports.AuthType = exports.createBot = void 0;
4
+ require("prismarine-registry");
5
+ var func_1 = require("./func");
6
+ Object.defineProperty(exports, "createBot", { enumerable: true, get: function () { return func_1.createBot; } });
7
+ var types_1 = require("./types");
8
+ Object.defineProperty(exports, "AuthType", { enumerable: true, get: function () { return types_1.AuthType; } });
9
+ var utils_1 = require("./utils");
10
+ Object.defineProperty(exports, "openViaProxyGUI", { enumerable: true, get: function () { return utils_1.openViaProxyGUI; } });
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,+BAA6B;AAQ7B,+BAAmC;AAA1B,iGAAA,SAAS,OAAA;AAClB,iCAAiD;AAAxC,iGAAA,QAAQ,OAAA;AACjB,iCAA0C;AAAjC,wGAAA,eAAe,OAAA"}
@@ -0,0 +1,2 @@
1
+ import type { Bot } from "mineflayer";
2
+ export declare function openAuthLogin(bot: Bot): Promise<void>;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.openAuthLogin = openAuthLogin;
13
+ const debug = require("debug")("mineflayer-viaproxy");
14
+ function openAuthLogin(bot) {
15
+ return __awaiter(this, void 0, void 0, function* () {
16
+ const listener = (packet) => {
17
+ const channel = packet.channel;
18
+ if (channel !== "oam:join")
19
+ return;
20
+ debug("Received open auth login request, sending accepting response.");
21
+ bot._client.write("login_plugin_response", {
22
+ messageId: packet.messageId,
23
+ data: Buffer.from([1])
24
+ });
25
+ bot._client.removeListener("login_plugin_request", listener);
26
+ };
27
+ bot._client.removeAllListeners("login_plugin_request");
28
+ bot._client.on("login_plugin_request", listener);
29
+ });
30
+ }
31
+ //# sourceMappingURL=openAuthMod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openAuthMod.js","sourceRoot":"","sources":["../src/openAuthMod.ts"],"names":[],"mappings":";;;;;;;;;;;AAIA,sCAcG;AAhBH,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC;AAEtD,SAAsB,aAAa,CAAC,GAAQ;;QACxC,MAAM,QAAQ,GAAG,CAAC,MAAW,EAAE,EAAE;YAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAC/B,IAAI,OAAO,KAAK,UAAU;gBAAE,OAAO;YAEnC,KAAK,CAAC,+DAA+D,CAAC,CAAA;YACtE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE;gBACzC,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,IAAI,EAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;aACxB,CAAC,CAAC;YACH,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC;QAC/D,CAAC,CAAC;QACF,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;QACvD,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC;CAAA"}
@@ -0,0 +1,109 @@
1
+ export type AccountV3 = MicrosoftAccount | BedrockAccount;
2
+ export interface MicrosoftAccount {
3
+ accountType: "net.raphimc.viaproxy.saves.impl.accounts.MicrosoftAccount";
4
+ javaSession: JavaSession;
5
+ }
6
+ export interface JavaSession {
7
+ mcProfile: McProfile;
8
+ playerCertificates: PlayerCertificates;
9
+ }
10
+ export interface McProfile {
11
+ id: string;
12
+ name: string;
13
+ skinUrl: string;
14
+ mcToken: McToken;
15
+ }
16
+ export interface McToken {
17
+ accessToken: string;
18
+ tokenType: "Bearer";
19
+ expireTimeMs: number;
20
+ xblSisuAuthentication: XblSisuAuthentication;
21
+ }
22
+ export interface XblSisuAuthentication {
23
+ userToken: XblJwtWithUserHash;
24
+ titleToken: XblJwtWithTitleId;
25
+ xstsToken: XstsToken;
26
+ initialXblSession: InitialXblSession;
27
+ }
28
+ export interface XblJwtBase {
29
+ token: string;
30
+ expireTimeMs: number;
31
+ }
32
+ export interface XblJwtWithUserHash extends XblJwtBase {
33
+ userHash: string;
34
+ }
35
+ export interface XblJwtWithTitleId extends XblJwtBase {
36
+ token: string;
37
+ titleId: string;
38
+ }
39
+ export interface XstsToken extends XblJwtWithUserHash {
40
+ displayClaims?: {
41
+ uhs?: string;
42
+ };
43
+ }
44
+ export interface InitialXblSession {
45
+ msaToken: MsaToken;
46
+ xblDeviceToken: XblDeviceToken;
47
+ }
48
+ export interface MsaToken {
49
+ expireTimeMs: number;
50
+ accessToken: string;
51
+ refreshToken: string;
52
+ msaCode: Record<string, unknown>;
53
+ }
54
+ export interface XblDeviceToken extends XblJwtBase {
55
+ publicKey: string;
56
+ privateKey: string;
57
+ id: string;
58
+ token: string;
59
+ deviceId: string;
60
+ }
61
+ export interface PlayerCertificates {
62
+ expireTimeMs: number;
63
+ publicKey: string;
64
+ privateKey: string;
65
+ publicKeySignature: string;
66
+ legacyPublicKeySignature: string;
67
+ }
68
+ export interface BedrockAccount {
69
+ accountType: "net.raphimc.viaproxy.saves.impl.accounts.BedrockAccount";
70
+ bedrockSession: BedrockSession;
71
+ }
72
+ export interface BedrockSession {
73
+ mcChain: McChain;
74
+ playFabToken: PlayFabToken;
75
+ realmsXsts: XstsLike;
76
+ }
77
+ export interface McChain {
78
+ publicKey: string;
79
+ privateKey: string;
80
+ mojangJwt: string;
81
+ identityJwt: string;
82
+ xuid: string;
83
+ id: string;
84
+ displayName: string;
85
+ xblSisuAuthentication: {
86
+ userToken: XblJwtWithUserHash;
87
+ titleToken: XblJwtWithTitleId;
88
+ xstsToken: XstsToken;
89
+ initialXblSession: InitialXblSession;
90
+ };
91
+ }
92
+ export interface PlayFabToken {
93
+ expireTimeMs: number;
94
+ entityToken: string;
95
+ entityId: string;
96
+ sessionTicket: string;
97
+ playFabId: string;
98
+ xblXstsToken: XstsLike;
99
+ xblXstsToFullXblSession: Record<string, never> | Record<string, unknown>;
100
+ }
101
+ export interface XstsLike {
102
+ expireTimeMs: number;
103
+ token: string;
104
+ userHash: string;
105
+ displayClaims?: {
106
+ uhs?: string;
107
+ };
108
+ xblXstsToFullXblSession?: Record<string, unknown>;
109
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=accountsV3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accountsV3.js","sourceRoot":"","sources":["../../src/types/accountsV3.ts"],"names":[],"mappings":""}
@@ -0,0 +1,124 @@
1
+ export interface ViaProxySaveV4 {
2
+ accountsV4: AccountV4[];
3
+ ui: Record<string, unknown>;
4
+ }
5
+ export type AccountV4 = MicrosoftAccountV4 | BedrockAccountV4;
6
+ export interface SaveVersioned {
7
+ _saveVersion: number;
8
+ }
9
+ export interface MsaApplicationConfigV4 extends SaveVersioned {
10
+ clientId: string;
11
+ scope: string;
12
+ environment: "LIVE" | string;
13
+ }
14
+ export interface EcKeyPairV4 {
15
+ algorithm: "EC";
16
+ publicKey: string;
17
+ privateKey: string;
18
+ }
19
+ export interface RsaKeyPairV4 {
20
+ algorithm: "RSA";
21
+ publicKey: string;
22
+ privateKey: string;
23
+ }
24
+ export interface ExpiringTokenV4 extends SaveVersioned {
25
+ expireTimeMs: number;
26
+ token: string;
27
+ }
28
+ export interface MsaTokenV4 extends SaveVersioned {
29
+ expireTimeMs: number;
30
+ accessToken: string;
31
+ refreshToken: string;
32
+ }
33
+ export interface XblDeviceTokenV4 extends SaveVersioned {
34
+ expireTimeMs: number;
35
+ token: string;
36
+ deviceId: string;
37
+ }
38
+ export interface XblUserTokenV4 extends SaveVersioned {
39
+ expireTimeMs: number;
40
+ token: string;
41
+ userHash: string;
42
+ }
43
+ export interface XblTitleTokenV4 extends SaveVersioned {
44
+ expireTimeMs: number;
45
+ token: string;
46
+ titleId: string;
47
+ }
48
+ export interface XstsTokenV4 extends SaveVersioned {
49
+ expireTimeMs: number;
50
+ token: string;
51
+ userHash: string;
52
+ }
53
+ export interface MinecraftTokenV4 extends SaveVersioned {
54
+ expireTimeMs: number;
55
+ type: "Bearer" | string;
56
+ token: string;
57
+ }
58
+ export interface MinecraftProfileV4 extends SaveVersioned {
59
+ id: string;
60
+ name: string;
61
+ }
62
+ export interface MinecraftPlayerCertificatesV4 extends SaveVersioned {
63
+ expireTimeMs: number;
64
+ keyPair: RsaKeyPairV4;
65
+ publicKeySignature: string;
66
+ legacyPublicKeySignature: string;
67
+ }
68
+ export interface PlayFabTokenV4 extends SaveVersioned {
69
+ expireTimeMs: number;
70
+ entityId: string;
71
+ entityToken: string;
72
+ playFabId: string;
73
+ sessionTicket: string;
74
+ }
75
+ export interface MinecraftSessionV4 extends SaveVersioned {
76
+ expireTimeMs: number;
77
+ authorizationHeader: string;
78
+ }
79
+ export interface MinecraftMultiplayerTokenV4 extends SaveVersioned {
80
+ expireTimeMs: number;
81
+ token: string;
82
+ }
83
+ export interface MinecraftCertificateChainV4 extends SaveVersioned {
84
+ mojangJwt: string;
85
+ identityJwt: string;
86
+ }
87
+ export interface MicrosoftAccountV4 extends SaveVersioned {
88
+ accountType: "net.raphimc.viaproxy.saves.impl.accounts.MicrosoftAccount";
89
+ msaApplicationConfig: MsaApplicationConfigV4;
90
+ deviceType: "Win32" | "Android" | string;
91
+ deviceKeyPair: EcKeyPairV4;
92
+ deviceId: string;
93
+ msaToken: MsaTokenV4;
94
+ xblDeviceToken: XblDeviceTokenV4;
95
+ xblUserToken: XblUserTokenV4;
96
+ xblTitleToken: XblTitleTokenV4;
97
+ javaXstsToken: XstsTokenV4;
98
+ minecraftToken: MinecraftTokenV4;
99
+ minecraftProfile: MinecraftProfileV4;
100
+ minecraftPlayerCertificates: MinecraftPlayerCertificatesV4;
101
+ }
102
+ export interface BedrockAccountV4 extends SaveVersioned {
103
+ accountType: "net.raphimc.viaproxy.saves.impl.accounts.BedrockAccount";
104
+ msaApplicationConfig: MsaApplicationConfigV4;
105
+ deviceType: "Android" | "Win32" | string;
106
+ deviceKeyPair: EcKeyPairV4;
107
+ deviceId: string;
108
+ sessionKeyPair: EcKeyPairV4 | EcdsaP384KeyPairV4;
109
+ msaToken: MsaTokenV4;
110
+ xblDeviceToken: XblDeviceTokenV4;
111
+ xblUserToken: XblUserTokenV4;
112
+ xblTitleToken: XblTitleTokenV4;
113
+ bedrockXstsToken: XstsTokenV4;
114
+ playFabXstsToken: XstsTokenV4;
115
+ playFabToken: PlayFabTokenV4;
116
+ minecraftSession: MinecraftSessionV4;
117
+ minecraftMultiplayerToken: MinecraftMultiplayerTokenV4;
118
+ minecraftCertificateChain: MinecraftCertificateChainV4;
119
+ }
120
+ export interface EcdsaP384KeyPairV4 {
121
+ algorithm: "EC";
122
+ publicKey: string;
123
+ privateKey: string;
124
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=accountsV4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accountsV4.js","sourceRoot":"","sources":["../../src/types/accountsV4.ts"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ import { AccountV3 } from "./accountsV3";
2
+ export type ViaProxySettings = ViaProxyV3Config | ViaProxyV4Config;
3
+ export type ViaProxyV3Config = {
4
+ ui: UISettings;
5
+ accountsV3: AccountV3[];
6
+ };
7
+ export type ViaProxyV4Config = {
8
+ ui: UISettings;
9
+ accountsV4: any[];
10
+ };
11
+ export interface UISettings {
12
+ proxy: string;
13
+ "notice.bedrock_warning": "true" | "false";
14
+ "legacy_skin_loading": "true" | "false";
15
+ server_address: string;
16
+ "notice.ban_warning": "true" | "false";
17
+ bind_address: string;
18
+ }
19
+ export * as ConfigV3 from './accountsV3';
20
+ export * as ConfigV4 from './accountsV4';
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.ConfigV4 = exports.ConfigV3 = void 0;
37
+ exports.ConfigV3 = __importStar(require("./accountsV3"));
38
+ exports.ConfigV4 = __importStar(require("./accountsV4"));
39
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,yDAAwC;AACxC,yDAAwC"}