Skip to content

Commit 839a91d

Browse files
authored
Merge pull request #8 from ADTJ/self-decrypting-files
Self decrypting files
2 parents 63ea7f2 + a7aa8f9 commit 839a91d

17 files changed

+363
-130
lines changed

Cryptify/Cryptify.njsproj

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
<Name>Cryptify</Name>
77
<RootNamespace>Cryptify</RootNamespace>
88
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
9+
<LaunchUrl>src/Cryptify.html</LaunchUrl>
10+
<SaveNodeJsSettingsInProjectFile>True</SaveNodeJsSettingsInProjectFile>
911
</PropertyGroup>
1012
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
1113
<PropertyGroup>
@@ -24,9 +26,9 @@
2426
<NodejsPort>1337</NodejsPort>
2527
<TypeScriptSourceMap>true</TypeScriptSourceMap>
2628
<TypeScriptModuleKind>CommonJS</TypeScriptModuleKind>
27-
<TypeScriptToolsVersion>3.1</TypeScriptToolsVersion>
29+
<TypeScriptToolsVersion>3.7</TypeScriptToolsVersion>
2830
<EnableTypeScript>true</EnableTypeScript>
29-
<StartWebBrowser>true</StartWebBrowser>
31+
<StartWebBrowser>True</StartWebBrowser>
3032
</PropertyGroup>
3133
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
3234
<DebugSymbols>true</DebugSymbols>
@@ -36,12 +38,15 @@
3638
</PropertyGroup>
3739
<ItemGroup>
3840
<TypeScriptCompile Include="server.ts" />
41+
<Content Include="src\Cryptify.css">
42+
<SubType>Code</SubType>
43+
</Content>
3944
<Content Include="src\Cryptify.html" />
4045
<Content Include="tsconfig.json" />
4146
<Content Include="package.json" />
4247
<Content Include="README.md" />
4348
<TypeScriptCompile Include="src\Cryptify.ts" />
44-
<TypeScriptCompile Include="src\FIleManager.ts" />
49+
<TypeScriptCompile Include="src\FileManager.ts" />
4550
<TypeScriptCompile Include="src\helper.ts" />
4651
</ItemGroup>
4752
<ItemGroup>

Cryptify/package-lock.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cryptify/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@
77
"name": ""
88
},
99
"devDependencies": {
10-
"@types/node": "^8.0.14"
10+
"@types/node": "^8.10.62"
1111
}
1212
}

Cryptify/server.js

Lines changed: 51 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cryptify/server.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cryptify/server.ts

Lines changed: 57 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,57 @@
1-
import http = require('http');
2-
var port = process.env.port || 1337
3-
http.createServer(function (req, res) {
4-
res.writeHead(200, { 'Content-Type': 'text/plain' });
5-
res.end('Hello World\n');
6-
}).listen(port);
1+
let http = require('http');
2+
let fs = require('fs');
3+
let path = require('path');
4+
5+
let port = process.env.port || 1337
6+
http.createServer(function (request, response) {
7+
console.log('request starting...');
8+
9+
var filePath = '.' + request.url;
10+
if (filePath == './')
11+
filePath = './index.html';
12+
13+
var extname = path.extname(filePath);
14+
var contentType = 'text/html';
15+
switch (extname) {
16+
case '.js':
17+
contentType = 'text/javascript';
18+
break;
19+
case '.css':
20+
contentType = 'text/css';
21+
break;
22+
case '.json':
23+
contentType = 'application/json';
24+
break;
25+
case '.png':
26+
contentType = 'image/png';
27+
break;
28+
case '.jpg':
29+
contentType = 'image/jpg';
30+
break;
31+
case '.wav':
32+
contentType = 'audio/wav';
33+
break;
34+
}
35+
36+
fs.readFile(filePath, function (error, content) {
37+
if (error) {
38+
if (error.code == 'ENOENT') {
39+
fs.readFile('./404.html', function (error, content) {
40+
response.writeHead(200, { 'Content-Type': contentType });
41+
response.end(content, 'utf-8');
42+
});
43+
}
44+
else {
45+
response.writeHead(500);
46+
response.end('Sorry, check with the site admin for error: ' + error.code + ' ..\n');
47+
response.end();
48+
}
49+
}
50+
else {
51+
response.writeHead(200, { 'Content-Type': contentType });
52+
response.end(content, 'utf-8');
53+
}
54+
});
55+
56+
}).listen(port);
57+
console.log(`Server running at http://127.0.0.1:${port}/`);

Cryptify/src/Cryptify.css

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#btnEncrypt, #btnDecrypt {
2+
display: none;
3+
}
4+
5+
input[type=file] {
6+
display: none;
7+
}

Cryptify/src/Cryptify.html

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
<html>
22
<head>
33
<title>Cryptify</title>
4+
5+
<link href="Cryptify.css" rel="stylesheet" />
46

57
<script type="text/javascript" src="helper.js"></script>
68
<script type="text/javascript" src="FileManager.js"></script>
@@ -11,13 +13,14 @@
1113
<h2>Cryptify</h2>
1214
</div>
1315
<div>
14-
<input type="button" onclick="Cryptify.encryptFile();" value="Encrypt" />
15-
<input type="button" onclick="Cryptify.decryptFile();" value="Decrypt" />
16-
<input type="button" onclick="Cryptify.generateSelfDecrypt();" value="Generate Self-decrypting file" />
16+
<input id="btnEncrypt" type="button" onclick="Cryptify.encryptFile();" value="Encrypt" />
17+
<input id="btnDecrypt" type="button" onclick="Cryptify.decryptFile();" value="Decrypt" />
18+
<input id="btnGenerate" type="button" onclick="Cryptify.generateSelfDecrypt();" value="Generate Self-decrypting file" />
1719
</div>
1820
<div>
1921
<div>Encryption key</div>
20-
<input id="txtKey" type="text" />
22+
<span id="txtKey"></span>
23+
<!-- Used for having a custom key <input id="txtKey" type="text" /> -->
2124
</div>
2225

2326
<div id="dvSelfDecrypt" style="display: none;">

0 commit comments

Comments
 (0)