Skip to content

Commit 3617501

Browse files
committed
update 1.5
1 parent 9df0be9 commit 3617501

File tree

4 files changed

+34
-16
lines changed

4 files changed

+34
-16
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7094,3 +7094,4 @@ client/release-builds/cryptoip-win32-x64/version
70947094
client/release-builds/cryptoip-win32-x64/vk_swiftshader.dll
70957095
client/release-builds/cryptoip-win32-x64/vk_swiftshader_icd.json
70967096
client/release-builds/cryptoip-win32-x64/vulkan-1.dll
7097+
client/release-builds/cryptoip-win32-x64/cryptoip-win32-x64.zip

client/app/js/app.js

Lines changed: 31 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ var channels = [];
1010
var isInCall = false;
1111
var muted = false;
1212
var callThread = null;
13+
var keyHash = null;
1314
const fs = require('fs');
1415
const crypto = require('crypto');
1516
window.$ = window.jQuery = require('./3rdparty/jquery.js');
@@ -58,6 +59,7 @@ $(document).on("click", ".disconnect-button", function () {
5859
socket = null;
5960
});
6061
$(document).on("submit", ".sendMessage", function (e) {
62+
e.preventDefault();
6163
currentChannel.messages.push({ author: username, content: $(".message-send").val(), signature: sign($(".message-send").val(), keyPair.privateKey, passSentence), isMain: currentChannel.name == "main", checked: verify($(".message-send").val(), sign($(".message-send").val(), keyPair.privateKey, passSentence), keyPair.publicKey) });
6264
$(".messages").empty();
6365
currentChannel.messages.forEach((message) => {
@@ -67,7 +69,13 @@ $(document).on("submit", ".sendMessage", function (e) {
6769
var messageHTML = '<li class="message"><h5 class="title">' + message.author + '</h5><div class="message-content"><p class="text-normal">' + message.content + '</p><div class="signature-check"><i style="color: ' + color + ';" class="fas fa-' + icon + '"></i><p class="hover"><strong>Signature:</strong> ' + message.signature + ' (' + checkResult + ')</p></div></li>';
6870
$(".messages").append($(messageHTML));
6971
});
70-
e.preventDefault();
72+
var messageData = JSON.parse(decrypt(fs.readFileSync("data.bin").toString(), keyHash));
73+
if (messageData[currentServer].findIndex(p => p.name == currentChannel.name) != -1) {
74+
messageData[currentServer][messageData[currentServer].findIndex(p => p.name == currentChannel.name)].messages.push({ author: username, content: $(".message-send").val(), signature: sign($(".message-send").val(), keyPair.privateKey, passSentence), isMain: currentChannel.name == "main", checked: verify($(".message-send").val(), sign($(".message-send").val(), keyPair.privateKey, passSentence), keyPair.publicKey) });
75+
} else {
76+
messageData[currentServer].push(currentChannel);
77+
}
78+
fs.writeFileSync("data.bin", encrypt(JSON.stringify(messageData), crypto.createHash('sha256').update(passSentence).digest("hex")));
7179
secureKey = randomString(16);
7280
if (currentChannel.name == "main") {
7381
socket.emit("message", encrypt(JSON.stringify({ message: encrypt($(".message-send").val(), currentChannel.clientKey), signature: sign($(".message-send").val(), keyPair.privateKey, passSentence), receiver: currentChannel.socketId, publicKey: keyPair.publicKey }), secureKey), secureKey);
@@ -103,6 +111,8 @@ $(document).on("click", ".call-btn", function () {
103111
});
104112
var enc = new TextEncoder();
105113
if (!muted && isInCall) {
114+
console.log("transmiting");
115+
console.log(blob);
106116
blob.arrayBuffer().then(array => socket.emit('radio', Crypto.encrypt_aes_cbc(Crypto.pkcs_pad(array), enc.encode(mainKey).buffer, enc.encode(mainKey).buffer)));
107117
}
108118
};
@@ -131,6 +141,7 @@ $(document).on("click", ".connectToServer-btn", function () {
131141
keyPair = createKeyPair(passSentence);
132142
username = $(".username-input").val();
133143
currentServer = $(".host-input").val();
144+
keyHash = crypto.createHash('sha256').update(passSentence).digest("hex");
134145
var config = JSON.parse(fs.readFileSync("config.json"));
135146
config.username = username;
136147
config.servers.push(currentServer);
@@ -144,7 +155,7 @@ $(document).on("click", ".connectToServer-btn", function () {
144155
$(".serverConnected").css("display", "block");
145156
$(".host-title").text(currentServer);
146157
var secureKey = randomString(16);
147-
socket.emit("connection", encrypt(JSON.stringify({ username: username, keyHash: crypto.createHash('sha256').update(passSentence).digest("hex"), publicKey: keyPair.publicKey, clientKey: clientKey }), secureKey), secureKey);
158+
socket.emit("connection", encrypt(JSON.stringify({ username: username, keyHash: keyHash, publicKey: keyPair.publicKey, clientKey: clientKey }), secureKey), secureKey);
148159
socket.on("infos", function (infos, secureKey) {
149160
var infosDecrypt = JSON.parse(decrypt(infos, secureKey));
150161
$(".motd").text(infosDecrypt.motd);
@@ -170,9 +181,10 @@ $(document).on("click", ".connectToServer-btn", function () {
170181
}
171182
});
172183
switchChannel("main");
173-
//var messagesData = decrypt(fs.readFileSync("data.bin"), crypto.createHash('sha256').update(passSentence).digest("hex"));
174-
console.log("clientlist");
175-
var messageData = JSON.parse(fs.readFileSync("data.bin"));
184+
if (!fs.existsSync("data.bin") || fs.readFileSync("data.bin") == null || fs.readFileSync("data.bin") == undefined || fs.readFileSync("data.bin").toString() == "") {
185+
fs.writeFileSync("data.bin", encrypt(JSON.stringify({}), keyHash));
186+
}
187+
var messageData = JSON.parse(decrypt(fs.readFileSync("data.bin").toString(), keyHash));
176188
if (messageData[currentServer] != undefined && messageData[currentServer] != null) {
177189
for (var i = 0; i < channels.length; i++) {
178190
if (messageData[currentServer].findIndex(p => p.name == channels[i].name) != -1) {
@@ -181,8 +193,15 @@ $(document).on("click", ".connectToServer-btn", function () {
181193
}
182194
} else {
183195
messageData[currentServer] = [];
184-
fs.writeFileSync("data.bin", JSON.stringify(messageData));
196+
fs.writeFileSync("data.bin", encrypt(JSON.stringify(messageData), keyHash));
185197
}
198+
currentChannel.messages.forEach((message) => {
199+
var color = message.checked ? '#19b019' : '#b02819';
200+
var icon = message.checked ? 'check-square' : 'times';
201+
var checkResult = message.checked ? 'valid' : 'invalid';
202+
var messageHTML = '<li class="message"><h5 class="title">' + message.author + '</h5><div class="message-content"><p class="text-normal">' + message.content + '</p><div class="signature-check"><i style="color: ' + color + ';" class="fas fa-' + icon + '"></i><p class="hover"><strong>Signature:</strong> ' + message.signature + ' (' + checkResult + ')</p></div></li>';
203+
$(".messages").append($(messageHTML));
204+
});
186205
});
187206
socket.on("kick", function (reason, secureKey) {
188207
socket.disconnect();
@@ -196,25 +215,25 @@ $(document).on("click", ".connectToServer-btn", function () {
196215
console.log(messageDataDecrypt);
197216
if (messageDataDecrypt.isMain) {
198217
currentChannel.messages.push({ author: messageDataDecrypt.author, content: decrypt(messageDataDecrypt.message, currentChannel.clientKey), signature: messageDataDecrypt.signature, isMain: messageDataDecrypt.isMain, checked: verify(decrypt(messageDataDecrypt.message, currentChannel.clientKey), messageDataDecrypt.signature, messageDataDecrypt.publicKey) });
199-
var messageData = JSON.parse(fs.readFileSync("data.bin"));
218+
var messageData = JSON.parse(decrypt(fs.readFileSync("data.bin").toString(), keyHash));
200219
if (messageData[currentServer].findIndex(p => p.name == messageDataDecrypt.author) != -1) {
201220
messageData[currentServer][messageData[currentServer].findIndex(p => p.name == messageDataDecrypt.author)].messages.push({ author: messageDataDecrypt.author, content: decrypt(messageDataDecrypt.message, currentChannel.clientKey), signature: messageDataDecrypt.signature, isMain: messageDataDecrypt.isMain, checked: verify(decrypt(messageDataDecrypt.message, currentChannel.clientKey), messageDataDecrypt.signature, messageDataDecrypt.publicKey) });
202221
} else {
203222
messageData[currentServer].push(channels[0]);
204223
}
205-
fs.writeFileSync("data.bin", JSON.stringify(messageData));
224+
fs.writeFileSync("data.bin", encrypt(JSON.stringify(messageData), keyHash));
206225
} else {
207226
for (var i = 0; i < channels.length; i++) {
208227
if (channels[i].name == messageDataDecrypt.author) {
209228
console.log(channels[i]);
210229
channels[i].messages.push({ author: messageDataDecrypt.author, content: decrypt(messageDataDecrypt.message, channels[i].clientKey), signature: messageDataDecrypt.signature, isMain: messageDataDecrypt.isMain, checked: verify(decrypt(messageDataDecrypt.message, channels[i].clientKey), messageDataDecrypt.signature, channels[i].publicKey) });
211-
var messageData = JSON.parse(fs.readFileSync("data.bin"));
212-
if (messageData[currentServer].findIndex(p => p.name == channels[i]) != -1) {
213-
messageData[currentServer][messageData[currentServer].findIndex(p => p.name == channels[i])].messages.push({ author: messageDataDecrypt.author, content: decrypt(messageDataDecrypt.message, channels[i].clientKey), signature: messageDataDecrypt.signature, isMain: messageDataDecrypt.isMain, checked: verify(decrypt(messageDataDecrypt.message, channels[i].clientKey), messageDataDecrypt.signature, channels[i].publicKey) });
230+
var messageData = JSON.parse(decrypt(fs.readFileSync("data.bin").toString(), keyHash));
231+
if (messageData[currentServer].findIndex(p => p.name == channels[i].name) != -1) {
232+
messageData[currentServer][messageData[currentServer].findIndex(p => p.name == channels[i].name)].messages.push({ author: messageDataDecrypt.author, content: decrypt(messageDataDecrypt.message, channels[i].clientKey), signature: messageDataDecrypt.signature, isMain: messageDataDecrypt.isMain, checked: verify(decrypt(messageDataDecrypt.message, channels[i].clientKey), messageDataDecrypt.signature, channels[i].publicKey) });
214233
} else {
215234
messageData[currentServer].push(channels[i]);
216235
}
217-
fs.writeFileSync("data.bin", JSON.stringify(messageData));
236+
fs.writeFileSync("data.bin", encrypt(JSON.stringify(messageData), keyHash));
218237
}
219238
}
220239
}

client/main.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ function createWindow () {
1212
contextIsolation: false
1313
}
1414
});
15-
// mainWindow.removeMenu();
15+
mainWindow.removeMenu();
1616
mainWindow.loadFile('index.html');
1717
}
1818

client/package.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,7 @@
1313
"author": "Drayneur",
1414
"license": "MIT",
1515
"devDependencies": {
16-
"electron": "^11.0.3",
17-
"audio-play": "2.3.1",
18-
"audio-context": "1.0.3"
16+
"electron": "^11.0.3"
1917
},
2018
"dependencies": {
2119
"remote": "^0.2.6"

0 commit comments

Comments
 (0)