Evan Feenstra
5 years ago
10 changed files with 79 additions and 24 deletions
File diff suppressed because one or more lines are too long
@ -1,22 +1,70 @@ |
|||
"use strict"; |
|||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { |
|||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } |
|||
return new (P || (P = Promise))(function (resolve, reject) { |
|||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } |
|||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } |
|||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } |
|||
step((generator = generator.apply(thisArg, _arguments || [])).next()); |
|||
}); |
|||
}; |
|||
Object.defineProperty(exports, "__esModule", { value: true }); |
|||
const path = require("path"); |
|||
const rncryptor_1 = require("../utils/rncryptor"); |
|||
console.log("RNCryptor", rncryptor_1.default); |
|||
const fetch = require("node-fetch"); |
|||
const ldat_1 = require("../utils/ldat"); |
|||
const rsa = require("../crypto/rsa"); |
|||
const crypto = require("crypto"); |
|||
const Blob = require("fetch-blob"); |
|||
const constants = require(path.join(__dirname, '../../config/constants.json')); |
|||
const msgtypes = constants.message_types; |
|||
// `https://${ldat.host}/file/${media_token}`
|
|||
function modifyPayload(payload) { |
|||
if (payload.type === msgtypes.attachment) { |
|||
console.log("MODIFY, ", payload); |
|||
// download image from mediaToken
|
|||
// decrypt key
|
|||
// decrypt image
|
|||
// new key, re-encrypt, re-upload
|
|||
// new payload
|
|||
// how to link w og msg? ogMediaToken?
|
|||
} |
|||
return payload; |
|||
function modifyPayload(payload, chat) { |
|||
return __awaiter(this, void 0, void 0, function* () { |
|||
if (payload.type === msgtypes.attachment) { |
|||
console.log("MODIFY, ", payload); |
|||
const mt = payload.message && payload.message.mediaToken; |
|||
const key = payload.message && payload.message.mediaKey; |
|||
const typ = payload.message && payload.message.mediaType; |
|||
if (!mt || !key) |
|||
return payload; |
|||
const terms = ldat_1.parseLDAT(mt); |
|||
if (!terms.host) |
|||
return payload; |
|||
try { |
|||
const r = yield fetch(`https://${terms.host}/file/${mt}`); |
|||
const buf = yield r.buffer(); |
|||
const decMediaKey = rsa.decrypt(chat.groupPrivateKey, key); |
|||
const imgUTF8 = rncryptor_1.default.Decrypt(decMediaKey, buf.toString()); |
|||
const newKey = crypto.randomBytes(20).toString('hex'); |
|||
const encImg = rncryptor_1.default.Encrypt(newKey, imgUTF8); |
|||
const resp = yield fetch(`https://${terms.host}/file`, { |
|||
method: 'POST', |
|||
body: new Blob([encImg], { type: typ || 'image/jpg', name: 'file', filename: 'Image.jpg' }) |
|||
}); |
|||
let json = resp.json(); |
|||
if (!json.muid) |
|||
return payload; |
|||
// PUT NEW TERMS, to finish in personalizeMessage
|
|||
const amt = terms.meta && terms.meta.amt; |
|||
const ttl = terms.meta && terms.meta.ttl; |
|||
const mediaTerms = { |
|||
muid: json.muid, ttl: ttl || 31536000, |
|||
meta: Object.assign({}, amt && { amt }), |
|||
skipSigning: amt ? true : false // only sign if its free
|
|||
}; |
|||
const encKey = rsa.encrypt(chat.groupKey, newKey); |
|||
return fillmsg(payload, { mediaTerms, mediaKey: encKey }); // key is re-encrypted later
|
|||
} |
|||
catch (e) { |
|||
return payload; |
|||
} |
|||
// how to link w og msg? ogMediaToken?
|
|||
} |
|||
return payload; |
|||
}); |
|||
} |
|||
exports.modifyPayload = modifyPayload; |
|||
function fillmsg(full, props) { |
|||
return Object.assign(Object.assign({}, full), { message: Object.assign(Object.assign({}, full.message), props) }); |
|||
} |
|||
//# sourceMappingURL=modify.js.map
|
@ -1 +1 @@ |
|||
{"version":3,"file":"modify.js","sourceRoot":"","sources":["../../../api/network/modify.ts"],"names":[],"mappings":";;AAAA,6BAA4B;AAC5B,kDAA0C;AAE1C,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,mBAAS,CAAC,CAAA;AAElC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAC,6BAA6B,CAAC,CAAC,CAAA;AAC7E,MAAM,QAAQ,GAAG,SAAS,CAAC,aAAa,CAAA;AAGxC,6CAA6C;AAG7C,SAAgB,aAAa,CAAC,OAAO;IACnC,IAAG,OAAO,CAAC,IAAI,KAAG,QAAQ,CAAC,UAAU,EAAE;QACrC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAEhC,iCAAiC;QACjC,cAAc;QACd,gBAAgB;QAChB,iCAAiC;QACjC,cAAc;QAEd,sCAAsC;KACvC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAbD,sCAaC"} |
|||
{"version":3,"file":"modify.js","sourceRoot":"","sources":["../../../api/network/modify.ts"],"names":[],"mappings":"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"} |
File diff suppressed because one or more lines are too long
@ -1 +1 @@ |
|||
{"version":3,"file":"rncryptor.js","sourceRoot":"","sources":["../../../../api/utils/rncryptor/rncryptor.js"],"names":[],"mappings":";;AAAA,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAE1B,IAAI,SAAS,GAAG,EAAE,CAAC;AAiGX,8BAAS;AA/FjB;;;EAGE;AAEF,SAAS,CAAC,cAAc,GAAG,UAAS,QAAQ,EAAE,IAAI;IAChD,IAAI,QAAQ,GAAG,UAAU,GAAG;QACxB,IAAI,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,GAAG;YACX,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACnD,CAAC,CAAC;IACN,CAAC,CAAC;IACF,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;AACnE,CAAC,CAAA;AAED;;;;;;;EAOE;AACF,SAAS,CAAC,OAAO,GAAG,UAAS,QAAQ,EAAE,SAAS,EAAE,OAAO;IACvD,OAAO,GAAG,OAAO,IAAI,EAAE,CAAA;IACvB,IAAI,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,2BAA2B;IAC/G,IAAI,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAEzE,IAAI,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACvE,IAAI,QAAQ,GAAG,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAE7D,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAE1D,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE1C,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrD,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACzD,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACnD,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAE5C,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,qEAAqE,CAAC,EAAE,CAAC;IACrF,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IAE1D,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAEnD,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAE9C,OAAO,OAAO,CAAC;AACjB,CAAC,CAAA;AAED;;;;;;;EAOE;AACF,SAAS,CAAC,OAAO,GAAG,UAAS,QAAQ,EAAE,OAAO,EAAE,OAAO;IACrD,OAAO,GAAG,OAAO,IAAI,EAAE,CAAA;IAEvB,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAEvD,IAAI,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;IACrE,IAAI,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAEzE,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;IAChE,IAAI,QAAQ,GAAG,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAE7D,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;IAEzD,IAAI,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAEjE,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC;IAEzE,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAE3D,IAAI,aAAa,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IAE7G,+BAA+B;IAC/B,IAAI,CAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE;QAC9C,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;KACpE;IAED,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,qEAAqE,CAAC,EAAE,CAAC;IACrF,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IAE3D,OAAO,SAAS,CAAC;AACnB,CAAC,CAAA"} |
|||
{"version":3,"file":"rncryptor.js","sourceRoot":"","sources":["../../../../api/utils/rncryptor/rncryptor.js"],"names":[],"mappings":"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"} |
Loading…
Reference in new issue