* Chore: Update dependencies
* New: Add AppVeyor with support for node 6, 8, and 9
* New: Auto release on GitHub and `node-pre-gyp` support
* New: Auto install VC++ redistributable if needed
* Docs: Improve documentation
This commit is contained in:
Anton Molleda 2017-11-16 13:38:31 -08:00 коммит произвёл GitHub
Родитель 7dc8188e96
Коммит 41cb47cb1c
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
23 изменённых файлов: 5613 добавлений и 1902 удалений

5
.gitignore поставляемый
Просмотреть файл

@ -12,11 +12,12 @@
.vs/
# Other folders
build/
native/*/Output/
native/*/build/
node_modules/
out/
typings/
native/*/Output/
native/*/build/
#Visual C++ unwanted files
*.ipch

Просмотреть файл

@ -1,15 +0,0 @@
language: node_js
node_js:
- "node"
before_script:
- npm install -g gulp
- npm install -g typings
- typings install
install:
- npm install --ignore-scripts
script:
- gulp buildscript

181
README.md
Просмотреть файл

@ -1,43 +1,138 @@
# Edge Diagnostics Adapter
[![build status](https://travis-ci.org/Microsoft/edge-diagnostics-adapter.svg?branch=master)](https://travis-ci.org/Microsoft/edge-diagnostics-adapter)
Edge Diagnostics Adapter is a protocol adapter that enables tools to debug and diagnose Edge using the [Chrome DevTools Protocol](https://chromedevtools.github.io/devtools-protocol/).
## Installation
For now we provide binaries on our [releases page](https://github.com/Microsoft/EdgeDiagnosticsAdapter/releases) and via NPM.
#### Install via NPM
```npm install edge-diagnostics-adapter```
Binary is now located in` ./node_modules/edge-diagnostics-adapter/dist/<platform>`
## Usage
```console
./<path>/EdgeDiagnosticsAdapter.exe
```
* `--help` - show available commands
* `--launch <url>` - for opening Edge with a specific URL.
* `--port <number>` - the port number to listen on. Default is 9222.
* `--killall` - kills all running Edge processes.
* `Ctrl-C` to quit. Also, the adapter can be left running as a background process.
#### Usage via node.
To simplify usage with Node we are also providing [edge-diagnostics-launch](https://github.com/Microsoft/edge-diagnostics-launch), that works a simple wrapper for the Edge Diagnostics Adapter.
#### View and inspect debuggable targets
Navigate to [localhost:9222](http://localhost:9222). You'll see a listing of all debuggable targets.
## Supported features and API
See [supported features and API](https://github.com/Microsoft/EdgeDiagnosticsAdapter/wiki/Supported-features-and-API) or download the [protocol.json](https://github.com/Microsoft/edge-diagnostics-adapter/blob/master/src/chromeProtocol/protocol.json).
## Building & Contributing
To build and contribute to this project take a gander at the wiki pages on [building](https://github.com/Microsoft/EdgeDiagnosticsAdapter/wiki/Building) and contributing (coming soon).
### Code of Conduct
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
# Edge Diagnostics Adapter
[![Build status](https://ci.appveyor.com/api/projects/status/wo4fnnx8735xa07d/branch/master?svg=true)](https://ci.appveyor.com/project/molant/edge-diagnostics-adapter/branch/master)
Edge Diagnostics Adapter is a protocol adapter that enables tools to
debug and diagnose Edge using the [Chrome DevTools Protocol][cdp-protocol].
The latest version of Edge Diagnostics Adapter works in Windows 10 - 14393 x64.
## Installation and usage
You can install Edge Diagnostics Adapter via [`npm`][npm]:
```bash
npm install edge-diagnostics-adapter
```
Or downloading it from the [releases page][releases] in GitHub.
Once you have it installed locally you can execute it as follows:
```bash
node /path/to/edge-diagnostics-adapter/out/src/edgeAdapter.js --port=8080 --servetools
```
## View and inspect debuggable targets
Navigate to [localhost:9222][localhost]. You'll see a listing of all
debuggable targets.
## Supported features and API
The following API of the Chrome Debugger Protocol is supported:
| Area | Method |
|-------|-----------|
| CSS | getComputedStyleForNode
| CSS | getInlineStylesForNode
| CSS | getMatchedStylesForNode
| CSS | setPropertyText
| CSS | getStyleSheetText
| Debugger | canSetScriptSource
| Debugger | disable
| Debugger | enable
| Debugger | evaluateOnCallFrame
| Debugger | getScriptSource
| Debugger | pause
| Debugger | removeBreakpoint
| Debugger | resume
| Debugger | setBreakpointByUrl
| Debugger | stepInto
| Debugger | stepOut
| Debugger | stepOver
| DOM | getAttributes
| DOM | getDocument
| DOM | getOuterHTML
| DOM | hideHighlight
| DOM | highlightNode
| DOM | pushNodeByPathToFrontend
| DOM | pushNodesByBackendIdsToFrontend
| DOM | querySelector
| DOM | querySelectorAll
| DOM | requestChildNodes
| DOM | setInspectModeEnabled
| Network | enable
| Network | clearBrowserCache
| Network | setCacheDisabled
| Network | requestWillBeSent
| Network | responseReceived
| Network | getResponseBody
| Page | canEmulate
| Page | canScreencast
| Page | deleteCookie
| Page | enable
| Page | getAnimationsPlaybackRate
| Page | getCookies
| Page | getNavigationHistory
| Page | getResourceTree
| Page | loadEventFired
| Page | navigate
| Page | reload
| Page | setOverlayMessage
| Page | setShowViewportSizeOnResize
| Page | screencastFrameAck
| Page | startRecordingFrames
| Page | startScreencast
| Page | stopRecordingFrames
| Page | stopScreencast
| Runtime | callFunctionOn
| Runtime | enable
| Runtime | evaluate
| Runtime | getProperties
You can also download the [protocol.json][protocol].
## Building & Contributing
To build this project you will need [VS2017 Community][vs2017]. Make
sure to select the Windows 10 14393 SDK in the options.
You will also need to install the [windows-build-tools][windows-build-tools].
Once you have the previous dependencies, run the following commands:
```bash
npm install
npm run build
```
The `.dll`s need to be signed in order for Microsoft Edge to run them.
If you are doing any changes to the binaries, you will need to enable
`testsigning` mode in your machine following [this instructions][testsigning].
## Code of Conduct
This project has adopted the [Microsoft Open Source Code of Conduct][coc].
For more information see the [Code of Conduct FAQ][coc-faq]
or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with
any additional questions or comments.
[cdp-protocol]: https://chromedevtools.github.io/devtools-protocol/
[coc]: https://opensource.microsoft.com/codeofconduct/
[coc-faq]: https://opensource.microsoft.com/codeofconduct/faq/
[connector-edge15]: https://github.com/sonarwhal/connector-edge15/blob/master/src/lib/connectors/connector-edge15/connector-edge15-launcher.ts
[edge-launch]: https://github.com/Microsoft/edge-diagnostics-launch
[localhost]: http://localhost:9222
[npm]: https://npmjs.com/package/edge-diagnostics-adapter
[protocol]: https://github.com/Microsoft/edge-diagnostics-adapter/blob/master/src/chromeProtocol/protocol.json
[releases]: https://github.com/Microsoft/EdgeDiagnosticsAdapter/releases
[testsigning]: https://msdn.microsoft.com/en-us/windows/hardware/drivers/install/the-testsigning-boot-configuration-option
[vs2017]: https://www.visualstudio.com/thank-you-downloading-visual-studio/?sku=Community&rel=15
[windows-build-tools]: https://npmjs.com/package/windows-build-tools

62
appveyor.yml Normal file
Просмотреть файл

@ -0,0 +1,62 @@
environment:
matrix:
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
nodejs_version: 6
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
nodejs_version: LTS
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
nodejs_version: Stable
matrix:
fast_finish: true
platform: x64
configuration: Release
skip_branch_with_pr: true
# Install scripts. (runs after repo cloning)
install:
- ps: Install-Product node $env:nodejs_version x86
- ps: Add-AppveyorMessage "node version $((node --version).trim())"
- ps: Add-AppveyorMessage "npm version $((npm --version).trim())"
- call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
- npm install --ignore-scripts
build_script:
- ps: Add-AppveyorMessage "Starting x86 build"
- ps: Set-AppveyorBuildVariable -Name pkg_version -Value (node -p "require('./package.json').version").trim()
- ps: Set-AppveyorBuildVariable -Name bundle_name -Value (node scripts\bundle.js).trim()
- ps: Add-AppveyorMessage "Package version $($env:pkg_version)"
- ps: Add-AppveyorMessage "Bundle name $($env:bundle_name)"
- npm run build
- dir /s out
- 7z a -ttar %bundle_name%.tar out\lib out\src
- 7z a %bundle_name%.tar.gz %bundle_name%.tar
- appveyor PushArtifact %bundle_name%.tar.gz
- ps: Add-AppveyorMessage "Artifact pushed $($env:bundle_name)"
- ps: Add-AppveyorMessage "Starting x64 build"
- ps: Install-Product node $env:nodejs_version x64
- ps: Set-AppveyorBuildVariable -Name pkg_version -Value (node -p "require('./package.json').version").trim()
- ps: Set-AppveyorBuildVariable -Name bundle_name -Value (node scripts\bundle.js).trim()
- ps: Add-AppveyorMessage "Bundle name $($env:bundle_name)"
- npm run build
- dir /s out
- 7z a -ttar %bundle_name%.tar out\lib out\src
- 7z a %bundle_name%.tar.gz %bundle_name%.tar
- appveyor PushArtifact %bundle_name%.tar.gz
- ps: Add-AppveyorMessage "Artifact pushed $($env:bundle_name)"
#---------------------------------#
# deployment configuration #
#---------------------------------#
deploy:
release: v$(pkg_version)
description: 'Unsigned release'
provider: GitHub
auth_token:
secure: YXNTtjYu8cQ8OYNGZq+HwHhq5UOVxmKGDoZtTf+ahKBDy4Qw2Kfb46XUav/K8HDW
draft: false
prerelease: true
on:
branch: master
appveyor_repo_tag: true # deploy on tag push only

Просмотреть файл

@ -1,207 +1,163 @@
/*---------------------------------------------------------
* Copyright (C) Microsoft Corporation. All rights reserved.
*--------------------------------------------------------*/
const gulp = require('gulp');
const path = require('path');
const fs = require('fs');
const ts = require('gulp-typescript');
const gutil = require('gulp-util');
const log = gutil.log;
const colors = gutil.colors;
const typescript = require('typescript');
const sourcemaps = require('gulp-sourcemaps');
const mocha = require('gulp-mocha');
const tslint = require('gulp-tslint');
const msbuild = require("gulp-msbuild");
const argv = require('yargs').argv;
var exec = require('child_process').exec;
var gulpSequence = require('gulp-sequence');
var sources = [
'src',
'lib',
'test',
'typings'
].map(function(tsFolder) { return tsFolder + '/**/*.ts'; });
var lintSources = [
'src',
'lib',
'test'
].map(function(tsFolder) { return tsFolder + '/**/*.ts'; });
var deploySources = [
'src/**/*.html',
'src/**/*.css',
'src/**/*.json'
];
var nativeSources = [
'native/Common',
'native/DebuggerCore',
'native/Proxy',
].map(function(tsFolder) { return tsFolder + '/*.vcxproj'; });
var projectConfig = {
noImplicitAny: false,
target: 'ES5',
module: 'commonjs',
declaration: true,
typescript: typescript,
moduleResolution: "node"
};
gulp.task('tslint', function() {
return gulp.src(lintSources, { base: '.' })
.pipe(tslint())
.pipe(tslint.report('verbose'));
});
gulp.task('buildtypescript', function () {
return gulp.src(sources, { base: '.' })
.pipe(sourcemaps.init())
.pipe(ts(projectConfig)).js
.pipe(sourcemaps.write('.', { includeContent: false, sourceRoot: 'file:///' + __dirname }))
.pipe(gulp.dest('out'));
});
gulp.task('buildscript', ['buildtypescript', 'tslint'], function() {
return gulp.src(deploySources, { base: '.' })
.pipe(gulp.dest('out'));
});
function logExec(stdout, stderr) {
if (stdout) {
stdout.toString().trim().split(/\r?\n/).forEach(line => log(line))
}
if (stderr) {
stderr.toString().trim().split(/\r?\n/).forEach(line => log(colors.red(line)));
}
}
function getNativeBuildOptions() {
const target = (argv.rebuild ? 'Rebuild' : 'Build');
const config = (argv.debug ? 'Debug' : 'Release');
const arch = (argv.x64 ? 'x64' : 'Win32');
const verbose = (argv.verbose ? '' : 'ErrorsOnly;WarningsOnly')
const outDir = 'out/native/' + config + '/' + arch + '/';
const networkOutDir = 'out/native/network/' + config + '/' + arch + '/';
const outArch = (argv.x64 ? '64' : '');
return {
target: target,
config: config,
arch: arch,
verbose: verbose,
outDir: outDir,
networkOutDir: networkOutDir,
outArch: outArch
}
}
gulp.task('buildnativeprojects',['buildnativeproxy', 'buildnativenetworkproxy']);
gulp.task('buildnativeproxy', function() {
const opts = getNativeBuildOptions();
return gulp.src('native/Proxy/Proxy.vcxproj', { base: '.' })
.pipe(msbuild({
targets: [opts.target],
configuration: opts.config,
properties: { Platform: opts.arch },
stdout: true,
stderr: true,
logCommand: true,
toolsVersion:14,
consoleLoggerParameters: opts.verbose
}));
});
gulp.task('buildnativenetworkproxy', function() {
const opts = getNativeBuildOptions();
return gulp.src('native/NetworkProxy/NetworkProxy.vcxproj', { base: '.' })
.pipe(msbuild({
targets: [opts.target],
configuration: opts.config,
properties: { Platform: opts.arch },
stdout: true,
stderr: true,
logCommand: true,
toolsVersion:14,
consoleLoggerParameters: opts.verbose
}));
});
gulp.task('buildnativeaddon', ['buildnativeprojects'], function(done) {
const opts = getNativeBuildOptions();
const arch = opts.arch == "Win32" ? "ia32" : "x64";
const gypPath = __dirname + "/node_modules/.bin/node-gyp";
return exec('cd native/Addon && ' + gypPath + ' clean configure build --arch=' + arch + " --module_arch=" + opts.outArch, function (err, stdout, stderr) {
logExec(stdout);
logExec(stderr); // node-gyp sends info through stderr and we don't want to treat it as error
done(err);
});
});
gulp.task('buildnative', gulpSequence(['buildnativeaddon'], ['copyproxy', 'copynetworkproxy']));
gulp.task('copyproxy', function() {
const opts = getNativeBuildOptions();
return gulp.src([
opts.outDir + 'Proxy' + opts.outArch + '.dll',
opts.outDir + 'Proxy' + opts.outArch + '.pdb'
], { base: opts.outDir })
.pipe(gulp.dest('out/lib'));
});
gulp.task('copynetworkproxy', function() {
const opts = getNativeBuildOptions();
return gulp.src([
opts.networkOutDir + 'NetworkProxy.exe',
opts.networkOutDir + 'NetworkProxy.pdb'
])
.pipe(gulp.dest('out/lib'));
});
gulp.task('default', ['buildnative']);
gulp.task('buildall', ['buildscript', 'buildnative']);
gulp.task('build', ['buildall']);
gulp.task('watch', ['buildscript'], function() {
log('Watching build sources...');
return gulp.watch(sources, ['buildscript']);
});
function test() {
return gulp.src('out/test/**/*.test.js', { read: false })
.pipe(mocha({ ui: 'tdd' }))
.on('error', function(e) {
log(e ? e.toString() : 'error in test task!');
this.emit('end');
});
}
gulp.task('build-test', ['build'], test);
gulp.task('test', test);
gulp.task('watch-build-test', ['build', 'build-test'], function() {
return gulp.watch(sources, ['build', 'build-test']);
});
gulp.task('copypasta', function(done) {
// Recursively copy out folder to another folder
if(!argv.outDir || !fs.existsSync(argv.outDir)) {
log(colors.red("Usage: gulp copypasta --outDir <path>"));
return;
}
exec(`xcopy out ${argv.outDir} /S /Y /D`, function (err, stdout, stderr) {
logExec(stdout, stderr)
done(err);
})
})
/* ---------------------------------------------------------
* Copyright (C) Microsoft Corporation. All rights reserved.
* --------------------------------------------------------*/
const gulp = require('gulp');
const fs = require('fs');
const path = require('path');
const gutil = require('gulp-util');
const log = gutil.log;
const colors = gutil.colors;
const mocha = require('gulp-mocha');
const msbuild = require('gulp-msbuild');
const argv = require('yargs').argv;
const exec = require('child_process').exec;
const gulpSequence = require('gulp-sequence');
const sources = [
'src',
'lib',
'test',
'typings'
].map(function (tsFolder) {
return tsFolder + '/**/*.ts';
});
function logExec(stdout, stderr) {
if (stdout) {
stdout.toString().trim()
.split(/\r?\n/)
.forEach((line) => {
log(line);
});
}
if (stderr) {
stderr.toString().trim()
.split(/\r?\n/)
.forEach((line) => {
log(colors.red(line));
});
}
}
function getNativeBuildOptions() {
// const target = (argv.rebuild ? 'Rebuild' : 'Build');
const config = 'Release';
const arch = process.arch === 'x64' ? 'x64' : 'Win32';
// const verbose = (argv.verbose ? '' : 'ErrorsOnly;WarningsOnly')
const outDir = 'out/native/' + config + '/' + arch + '/';
const networkOutDir = 'out/native/network/' + config + '/' + arch + '/';
const outArch = arch === 'x64' ? '64' : '';
return {
target: 'Build',
config: config,
arch: arch,
verbose: 'ErrorsOnly;WarningsOnly',
outDir: outDir,
networkOutDir: networkOutDir,
outArch: outArch
};
}
gulp.task('buildnativeproxy', function () {
const opts = getNativeBuildOptions();
return gulp.src('native/Proxy/Proxy.vcxproj', { base: '.' })
.pipe(msbuild({
targets: [opts.target],
configuration: opts.config,
properties: { Platform: opts.arch },
stdout: true,
stderr: true,
logCommand: true,
toolsVersion: 14,
consoleLoggerParameters: opts.verbose
}));
});
gulp.task('buildnativenetworkproxy', function () {
const opts = getNativeBuildOptions();
return gulp.src('native/NetworkProxy/NetworkProxy.vcxproj', { base: '.' })
.pipe(msbuild({
targets: [opts.target],
configuration: opts.config,
properties: { Platform: opts.arch },
stdout: true,
stderr: true,
logCommand: true,
toolsVersion: 14,
consoleLoggerParameters: opts.verbose
}));
});
gulp.task('buildnativeprojects', ['buildnativeproxy', 'buildnativenetworkproxy']);
gulp.task('buildnativeaddon', ['buildnativeprojects'], function (done) {
const opts = getNativeBuildOptions();
const arch = opts.arch === 'Win32' ? 'ia32' : 'x64';
const gypPath = path.join(__dirname, '/node_modules/.bin/node-gyp');
return exec('cd native/Addon && ' + gypPath + ' clean configure build --arch=' + arch, function (err, stdout, stderr) {
logExec(stdout);
logExec(stderr); // node-gyp sends info through stderr and we don't want to treat it as error
done(err);
});
});
gulp.task('buildnative', gulpSequence(['buildnativeaddon'], ['copyproxy', 'copynetworkproxy']));
gulp.task('copyproxy', function () {
const opts = getNativeBuildOptions();
return gulp.src([
opts.outDir + 'Proxy.dll',
opts.outDir + 'Proxy.pdb'
])
.pipe(gulp.dest('out/lib'));
});
gulp.task('copynetworkproxy', function () {
const opts = getNativeBuildOptions();
return gulp.src(
[
opts.networkOutDir + 'NetworkProxy.exe',
opts.networkOutDir + 'NetworkProxy.pdb'
])
.pipe(gulp.dest('out/lib'));
});
gulp.task('default', ['buildnative']);
function test() {
return gulp.src('out/test/**/*.test.js', { read: false })
.pipe(mocha({ ui: 'tdd' }))
.on('error', function (e) {
log(e ? e.toString() : 'error in test task!');
this.emit('end'); // eslint-disable-line no-invalid-this
});
}
gulp.task('build-test', ['build'], test);
gulp.task('test', test);
gulp.task('watch-build-test', ['build', 'build-test'], function () {
return gulp.watch(sources, ['build', 'build-test']);
});
gulp.task('copypasta', function (done) {
// Recursively copy out folder to another folder
if (!argv.outDir || !fs.existsSync(argv.outDir)) { // eslint-disable-line no-sync
log(colors.red('Usage: gulp copypasta --outDir <path>'));
return;
}
exec(`xcopy out ${argv.outDir} /S /Y /D`, function (err, stdout, stderr) {
logExec(stdout, stderr);
done(err);
});
});

30
lib/Addon.node.d.ts поставляемый
Просмотреть файл

@ -1,15 +1,15 @@
export type EdgeInstanceId = string;
export type NetworkProxyInstanceId = string;
export type EngineType = "browser" | "debugger";
export function initialize(rootPath: string, onEdgeMessage: (instanceId: EdgeInstanceId, msg: string) => void, onLogMessage: (msg: string) => void): boolean;
export function getEdgeInstances(): { id: string, url: string, title: string, processName: string }[];
export function setSecurityACLs(filepath: string): boolean;
export function openEdge(url: string): boolean;
export function closeEdge(id: string): boolean;
export function killAll(exeName: string): boolean;
export function serveChromeDevTools(port: number): boolean;
export function connectTo(id: string): EdgeInstanceId;
export function injectScriptTo(instanceId: EdgeInstanceId, engine: EngineType, filename: string, script: string): void
export function forwardTo(instanceId: EdgeInstanceId, message: string): void;
export function createNetworkProxyFor(id: string): NetworkProxyInstanceId;
export function closeNetworkProxyInstance(id: NetworkProxyInstanceId): boolean;
export type EdgeInstanceId = string;
export type NetworkProxyInstanceId = string;
export type EngineType = "browser" | "debugger";
export function initialize(rootPath: string, onEdgeMessage: (instanceId: EdgeInstanceId, msg: string) => void, onLogMessage: (msg: string) => void): boolean;
export function getEdgeInstances(): { id: string, url: string, title: string, processName: string }[];
export function setSecurityACLs(filepath: string): boolean;
export function openEdge(url: string): boolean;
export function closeEdge(id: string): boolean;
export function killAll(exeName: string): boolean;
export function serveChromeDevTools(port: number): boolean;
export function connectTo(id: string): EdgeInstanceId;
export function injectScriptTo(instanceId: EdgeInstanceId, engine: EngineType, filename: string, script: string): void
export function forwardTo(instanceId: EdgeInstanceId, message: string): void;
export function createNetworkProxyFor(id: string): NetworkProxyInstanceId;
export function closeNetworkProxyInstance(id: NetworkProxyInstanceId): boolean;

Просмотреть файл

@ -375,7 +375,7 @@ NAN_METHOD(closeEdge)
#pragma warning(pop)
HRESULT hr = Helpers::CloseWindow(hwnd);
if (hr == S_OK) // S_FALSE is a valid return code
{
info.GetReturnValue().Set(true);
@ -524,28 +524,17 @@ NAN_METHOD(connectTo)
CString path = Helpers::UTF8toUTF16(m_rootPath);
path.Append(L"\\..\\..\\lib\\");
if (is64BitTab)
{
path.Append(L"Proxy64.dll");
}
else
{
path.Append(L"Proxy.dll");
}
path.Append(L"Proxy.dll");
CComPtr<IOleWindow> spSite;
hr = Helpers::StartDiagnosticsMode(spDocument, __uuidof(ProxySite), path, __uuidof(spSite), reinterpret_cast<void**>(&spSite.p));
if (hr == E_ACCESSDENIED && is64BitTab && ::IsWindows8Point1OrGreater())
{
Log("ERROR: Access denied while attempting to connect to a 64 bit tab. The most common solution to this problem is to open an Administrator command prompt, navigate to the folder containing this adapter, and type \"icacls proxy64.dll /grant \"ALL APPLICATION PACKAGES\":(RX)\"");
Log("ERROR: Access denied while attempting to connect to a 64 bit tab. The most common solution to this problem is to open an Administrator command prompt, navigate to the folder containing this adapter, and type \"icacls proxy.dll /grant \"ALL APPLICATION PACKAGES\":(RX)\"");
}
else if (hr == ::HRESULT_FROM_WIN32(ERROR_MOD_NOT_FOUND) && is64BitTab)
else if (hr == ::HRESULT_FROM_WIN32(ERROR_MOD_NOT_FOUND))
{
Log("ERROR: Module could not be found. Ensure Proxy64.dll exists in the out\\lib\\ folder");
}
else if (hr == ::HRESULT_FROM_WIN32(ERROR_MOD_NOT_FOUND) && !is64BitTab)
{
Log("ERROR: Module could not be found. Ensure Proxy.dll exists in the out\\lib\\ folder");
Log("ERROR: Module could not be found. Ensure Proxy.dll exists in the out\\lib\\ folder and is for your architecture.");
}
else if (hr != S_OK)
{
@ -627,7 +616,7 @@ NAN_METHOD(createNetworkProxyFor)
Nan::ThrowTypeError("Incorrect arguments - createNetworkProxyFor(windowId: string): string");
return;
}
String::Utf8Value id(info[0]->ToString());
#pragma warning(push)
#pragma warning(disable: 4312) // truncation to int
@ -636,7 +625,7 @@ NAN_METHOD(createNetworkProxyFor)
info.GetReturnValue().Set(Nan::Null());
if (!IsWindow(hwnd))
if (!IsWindow(hwnd))
{
Log("Argument windowId is not the identifier of a window");
return;
@ -644,13 +633,13 @@ NAN_METHOD(createNetworkProxyFor)
// compose the path to the NetworkProxy app
CString path = Helpers::UTF8toUTF16(m_rootPath);
path.Append(L"\\..\\..\\lib\\");
path.Append(L"NetworkProxy.exe");
path.Append(L"\\..\\..\\lib\\");
path.Append(L"NetworkProxy.exe");
LPDWORD processId;
GetWindowThreadProcessId(hwnd, processId);
GetWindowThreadProcessId(hwnd, processId);
CString arguments;
CString arguments;
arguments.Format(L"--process-id=%d", *processId);
// Launch the process
@ -693,23 +682,23 @@ NAN_METHOD(createNetworkProxyFor)
{
CStringA newId;
newId.Format("%p", proxyHwnd);
info.GetReturnValue().Set(Nan::New<String>(newId).ToLocalChecked());
info.GetReturnValue().Set(Nan::New<String>(newId).ToLocalChecked());
}
else
{
Log("NetworkProxy hwnd not found.");
}
}
}
else
{
CString msg = L"Could not open NetworkProxy at path: ";
msg.Append(path);
CStringA msgUTF8 = Helpers::UTF16toUTF8(msg);
Log(msgUTF8);
}
Log(msgUTF8);
}
}
NAN_METHOD(closeNetworkProxyInstance)
NAN_METHOD(closeNetworkProxyInstance)
{
EnsureInitialized();
if (info.Length() < 1 || !info[0]->IsString())
@ -730,7 +719,7 @@ NAN_METHOD(closeNetworkProxyInstance)
return;
}
::PostMessage(instanceHwnd, WM_DESTROY, 0, 0);
::PostMessage(instanceHwnd, WM_DESTROY, 0, 0);
info.GetReturnValue().Set(true);
}

Просмотреть файл

@ -1,12 +1,11 @@
{
"variables": {
"module_name":"Addon",
"module_path":"../../out/lib/",
"module_arch": ''
"module_path":"../../out/lib/"
},
"targets": [
{
"target_name": "<(module_name)<(module_arch)",
"target_name": "<(module_name)",
"sources": [ "EdgeFunctions.cpp", "MessageReceiver.cpp", "stdafx.cpp" ],
'msvs_precompiled_header': 'stdafx.h',
'msvs_precompiled_source': 'stdafx.cpp',
@ -36,10 +35,10 @@
{
"target_name": "action_after_build",
"type": "none",
"dependencies": [ "<(module_name)<(module_arch)" ],
"dependencies": [ "<(module_name)" ],
"copies": [
{
"files": [ "<(PRODUCT_DIR)\<(module_name)<(module_arch).node" ],
"files": [ "<(PRODUCT_DIR)\<(module_name).node" ],
"destination": "<(module_path)"
}
]

Просмотреть файл

@ -1,157 +1,157 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{DDABCB76-8AAF-454C-86D5-0E13EEA93667}</ProjectGuid>
<SccProjectName>SAK</SccProjectName>
<SccAuxPath>SAK</SccAuxPath>
<SccLocalPath>SAK</SccLocalPath>
<SccProvider>SAK</SccProvider>
<Keyword>Win32Proj</Keyword>
<RootNamespace>Common</RootNamespace>
<WindowsTargetPlatformVersion>10.0.14393.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup>
<OutDir>..\..\out\native\$(Configuration)\$(Platform)\</OutDir>
<IntDir>..\..\out\native\intermediate\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib>
<AdditionalLibraryDirectories>version.lib</AdditionalLibraryDirectories>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="Helpers.h" />
<ClInclude Include="Messages.h" />
<ClInclude Include="stdafx.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="Helpers.cpp" />
<ClCompile Include="Messages.cpp" />
<ClCompile Include="stdafx.cpp">
<PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{DDABCB76-8AAF-454C-86D5-0E13EEA93667}</ProjectGuid>
<SccProjectName>SAK</SccProjectName>
<SccAuxPath>SAK</SccAuxPath>
<SccLocalPath>SAK</SccLocalPath>
<SccProvider>SAK</SccProvider>
<Keyword>Win32Proj</Keyword>
<RootNamespace>Common</RootNamespace>
<WindowsTargetPlatformVersion>10.0.14393.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup>
<OutDir>..\..\out\native\$(Configuration)\$(Platform)\</OutDir>
<IntDir>..\..\out\native\intermediate\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib>
<AdditionalLibraryDirectories>version.lib</AdditionalLibraryDirectories>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="Helpers.h" />
<ClInclude Include="Messages.h" />
<ClInclude Include="stdafx.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="Helpers.cpp" />
<ClCompile Include="Messages.cpp" />
<ClCompile Include="stdafx.cpp">
<PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

Просмотреть файл

@ -1,206 +1,206 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{A9505C3C-5EB9-4989-8028-122E8A5F4B46}</ProjectGuid>
<SccProjectName>SAK</SccProjectName>
<SccAuxPath>SAK</SccAuxPath>
<SccLocalPath>SAK</SccLocalPath>
<SccProvider>SAK</SccProvider>
<Keyword>Win32Proj</Keyword>
<RootNamespace>DebuggerCore</RootNamespace>
<WindowsTargetPlatformVersion>10.0.14393.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup>
<OutDir>..\..\out\native\$(Configuration)\$(Platform)\</OutDir>
<IntDir>..\..\out\native\intermediate\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>$(OutDir)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Midl>
<OutputDirectory>$(OutDir)</OutputDirectory>
</Midl>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>$(OutDir);</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Midl>
<OutputDirectory>$(OutDir)</OutputDirectory>
</Midl>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>$(OutDir);</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<Midl>
<OutputDirectory>$(OutDir)</OutputDirectory>
</Midl>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>$(OutDir);</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<Midl>
<OutputDirectory>$(OutDir)</OutputDirectory>
</Midl>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="ad1ex.h" />
<ClInclude Include="CallFrame.h" />
<ClInclude Include="ComObjPtr.h" />
<ClInclude Include="ComTypeInfoHolderLib.h" />
<ClInclude Include="DebuggerDispatch.h" />
<ClInclude Include="DebuggerStructs.h" />
<ClInclude Include="DebugThreadWindowMessages.h" />
<ClInclude Include="EvalCallback.h" />
<ClInclude Include="EventHelper.h" />
<ClInclude Include="Helpers.h" />
<ClInclude Include="PDMEventMessageQueue.h" />
<ClInclude Include="PDMThreadCallback.h" />
<ClInclude Include="ScriptHelpers.h" />
<ClInclude Include="SourceController.h" />
<ClInclude Include="SourceEventListener.h" />
<ClInclude Include="SourceNode.h" />
<ClInclude Include="stdafx.h" />
<ClInclude Include="ThreadController.h" />
<ClInclude Include="ThreadEventListener.h" />
<ClInclude Include="ThreadHelpers.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="CallFrame.cpp" />
<ClCompile Include="DebuggerDispatch.cpp" />
<ClCompile Include="EventHelper.cpp" />
<ClCompile Include="Helpers.cpp" />
<ClCompile Include="PDMEventMessageQueue.cpp" />
<ClCompile Include="ScriptHelpers.cpp" />
<ClCompile Include="SourceController.cpp" />
<ClCompile Include="SourceEventListener.cpp" />
<ClCompile Include="SourceNode.cpp" />
<ClCompile Include="stdafx.cpp">
<PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="ThreadController.cpp" />
<ClCompile Include="ThreadEventListener.cpp" />
</ItemGroup>
<ItemGroup>
<Midl Include="DebuggerCore.idl">
<TypeLibraryName>$(ProjectName).tlb</TypeLibraryName>
</Midl>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<ItemGroup>
<ProjectReference Include="..\Common\Common.vcxproj">
<Project>{DDABCB76-8AAF-454C-86D5-0E13EEA93667}</Project>
</ProjectReference>
</ItemGroup>
</Project>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{A9505C3C-5EB9-4989-8028-122E8A5F4B46}</ProjectGuid>
<SccProjectName>SAK</SccProjectName>
<SccAuxPath>SAK</SccAuxPath>
<SccLocalPath>SAK</SccLocalPath>
<SccProvider>SAK</SccProvider>
<Keyword>Win32Proj</Keyword>
<RootNamespace>DebuggerCore</RootNamespace>
<WindowsTargetPlatformVersion>10.0.14393.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup>
<OutDir>..\..\out\native\$(Configuration)\$(Platform)\</OutDir>
<IntDir>..\..\out\native\intermediate\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>$(OutDir)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Midl>
<OutputDirectory>$(OutDir)</OutputDirectory>
</Midl>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>$(OutDir);</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Midl>
<OutputDirectory>$(OutDir)</OutputDirectory>
</Midl>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>$(OutDir);</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<Midl>
<OutputDirectory>$(OutDir)</OutputDirectory>
</Midl>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>$(OutDir);</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<Midl>
<OutputDirectory>$(OutDir)</OutputDirectory>
</Midl>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="ad1ex.h" />
<ClInclude Include="CallFrame.h" />
<ClInclude Include="ComObjPtr.h" />
<ClInclude Include="ComTypeInfoHolderLib.h" />
<ClInclude Include="DebuggerDispatch.h" />
<ClInclude Include="DebuggerStructs.h" />
<ClInclude Include="DebugThreadWindowMessages.h" />
<ClInclude Include="EvalCallback.h" />
<ClInclude Include="EventHelper.h" />
<ClInclude Include="Helpers.h" />
<ClInclude Include="PDMEventMessageQueue.h" />
<ClInclude Include="PDMThreadCallback.h" />
<ClInclude Include="ScriptHelpers.h" />
<ClInclude Include="SourceController.h" />
<ClInclude Include="SourceEventListener.h" />
<ClInclude Include="SourceNode.h" />
<ClInclude Include="stdafx.h" />
<ClInclude Include="ThreadController.h" />
<ClInclude Include="ThreadEventListener.h" />
<ClInclude Include="ThreadHelpers.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="CallFrame.cpp" />
<ClCompile Include="DebuggerDispatch.cpp" />
<ClCompile Include="EventHelper.cpp" />
<ClCompile Include="Helpers.cpp" />
<ClCompile Include="PDMEventMessageQueue.cpp" />
<ClCompile Include="ScriptHelpers.cpp" />
<ClCompile Include="SourceController.cpp" />
<ClCompile Include="SourceEventListener.cpp" />
<ClCompile Include="SourceNode.cpp" />
<ClCompile Include="stdafx.cpp">
<PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="ThreadController.cpp" />
<ClCompile Include="ThreadEventListener.cpp" />
</ItemGroup>
<ItemGroup>
<Midl Include="DebuggerCore.idl">
<TypeLibraryName>$(ProjectName).tlb</TypeLibraryName>
</Midl>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<ItemGroup>
<ProjectReference Include="..\Common\Common.vcxproj">
<Project>{DDABCB76-8AAF-454C-86D5-0E13EEA93667}</Project>
</ProjectReference>
</ItemGroup>
</Project>

Просмотреть файл

@ -1,233 +1,233 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>15.0</VCProjectVersion>
<ProjectGuid>{91E9F0AC-6D3A-426D-9895-FD696E67AD99}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>NetworkListener</RootNamespace>
<WindowsTargetPlatformVersion>10.0.14393.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
<IntDir>..\..\out\native\network\intermediate\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
<OutDir>..\..\out\native\network\$(Configuration)\$(Platform)\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
<IntDir>..\..\out\native\network\intermediate\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
<OutDir>..\..\out\native\network\$(Configuration)\$(Platform)\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<OutDir>..\..\out\native\network\$(Configuration)\$(Platform)\</OutDir>
<IntDir>..\..\out\native\network\intermediate\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>..\..\out\native\network\$(Configuration)\$(Platform)\</OutDir>
<IntDir>..\..\out\native\network\intermediate\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;NETWORKLISTENER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<CompileAsWinRT>true</CompileAsWinRT>
<AdditionalUsingDirectories>C:\Program Files %28x86%29\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\vcpackages;C:\Program Files %28x86%29\Windows Kits\10\UnionMetadata;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.UniversalApiContract\3.0.0.0;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.FoundationContract\2.0.0.0;%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
<MinimalRebuild>false</MinimalRebuild>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
<Midl>
<OutputDirectory>$(OutDir)</OutputDirectory>
</Midl>
<ResourceCompile>
<AdditionalIncludeDirectories>$(OutDir);</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>Win32;_DEBUG;_WINDOWS;_USRDLL;NETWORKLISTENER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<CompileAsWinRT>true</CompileAsWinRT>
<AdditionalUsingDirectories>C:\Program Files %28x86%29\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\vcpackages;C:\Program Files %28x86%29\Windows Kits\10\UnionMetadata;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.UniversalApiContract\3.0.0.0;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.FoundationContract\2.0.0.0;%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
<MinimalRebuild>false</MinimalRebuild>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>$(OutDir);</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<AdditionalDependencies>version.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Midl>
<OutputDirectory>$(OutDir)</OutputDirectory>
</Midl>
<ResourceCompile>
<AdditionalIncludeDirectories>$(OutDir);</AdditionalIncludeDirectories>
</ResourceCompile>
<PostBuildEvent>
<Command>
</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;NETWORKLISTENER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<CompileAsWinRT>true</CompileAsWinRT>
<AdditionalUsingDirectories>C:\Program Files %28x86%29\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\vcpackages;C:\Program Files %28x86%29\Windows Kits\10\UnionMetadata;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.UniversalApiContract\3.0.0.0;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.FoundationContract\2.0.0.0;%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<Midl>
<OutputDirectory>$(OutDir)</OutputDirectory>
</Midl>
<ResourceCompile>
<AdditionalIncludeDirectories>$(OutDir);</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_WINDOWS;_USRDLL;NETWORKLISTENER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<CompileAsWinRT>true</CompileAsWinRT>
<AdditionalIncludeDirectories>
</AdditionalIncludeDirectories>
<AdditionalUsingDirectories>C:\Program Files %28x86%29\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\vcpackages;C:\Program Files %28x86%29\Windows Kits\10\UnionMetadata;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.UniversalApiContract\3.0.0.0;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.FoundationContract\2.0.0.0;%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<Midl>
<OutputDirectory>$(OutDir)</OutputDirectory>
</Midl>
<ResourceCompile>
<AdditionalIncludeDirectories>$(OutDir);</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemGroup>
<Text Include="ReadMe.txt" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="base64.h" />
<ClInclude Include="PayloadQueue.h" />
<ClInclude Include="HttpListener.h" />
<ClInclude Include="Message.h" />
<ClInclude Include="MessageManager.h" />
<ClInclude Include="NetworkMonitor.h" />
<ClInclude Include="PayloadContainer.h" />
<ClInclude Include="resource.h" />
<ClInclude Include="stdafx.h" />
<ClInclude Include="targetver.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="PayloadQueue.cpp" />
<ClCompile Include="dllmain.cpp">
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</CompileAsManaged>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
</PrecompiledHeader>
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</CompileAsManaged>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
</PrecompiledHeader>
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</CompileAsManaged>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
</PrecompiledHeader>
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</CompileAsManaged>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
</PrecompiledHeader>
</ClCompile>
<ClCompile Include="HttpListener.cpp" />
<ClCompile Include="MessageManager.cpp" />
<ClCompile Include="NetworkListener.cpp" />
<ClCompile Include="NetworkMonitor.cpp" />
<ClCompile Include="stdafx.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>15.0</VCProjectVersion>
<ProjectGuid>{91E9F0AC-6D3A-426D-9895-FD696E67AD99}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>NetworkListener</RootNamespace>
<WindowsTargetPlatformVersion>10.0.14393.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
<IntDir>..\..\out\native\network\intermediate\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
<OutDir>..\..\out\native\network\$(Configuration)\$(Platform)\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
<IntDir>..\..\out\native\network\intermediate\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
<OutDir>..\..\out\native\network\$(Configuration)\$(Platform)\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<OutDir>..\..\out\native\network\$(Configuration)\$(Platform)\</OutDir>
<IntDir>..\..\out\native\network\intermediate\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>..\..\out\native\network\$(Configuration)\$(Platform)\</OutDir>
<IntDir>..\..\out\native\network\intermediate\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;NETWORKLISTENER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<CompileAsWinRT>true</CompileAsWinRT>
<AdditionalUsingDirectories>C:\Program Files %28x86%29\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\vcpackages;C:\Program Files %28x86%29\Windows Kits\10\UnionMetadata;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.UniversalApiContract\3.0.0.0;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.FoundationContract\2.0.0.0;%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
<MinimalRebuild>false</MinimalRebuild>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
<Midl>
<OutputDirectory>$(OutDir)</OutputDirectory>
</Midl>
<ResourceCompile>
<AdditionalIncludeDirectories>$(OutDir);</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>Win32;_DEBUG;_WINDOWS;_USRDLL;NETWORKLISTENER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<CompileAsWinRT>true</CompileAsWinRT>
<AdditionalUsingDirectories>C:\Program Files %28x86%29\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\vcpackages;C:\Program Files %28x86%29\Windows Kits\10\UnionMetadata;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.UniversalApiContract\3.0.0.0;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.FoundationContract\2.0.0.0;%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
<MinimalRebuild>false</MinimalRebuild>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>$(OutDir);</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<AdditionalDependencies>version.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Midl>
<OutputDirectory>$(OutDir)</OutputDirectory>
</Midl>
<ResourceCompile>
<AdditionalIncludeDirectories>$(OutDir);</AdditionalIncludeDirectories>
</ResourceCompile>
<PostBuildEvent>
<Command>
</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;NETWORKLISTENER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<CompileAsWinRT>true</CompileAsWinRT>
<AdditionalUsingDirectories>C:\Program Files %28x86%29\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\vcpackages;C:\Program Files %28x86%29\Windows Kits\10\UnionMetadata;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.UniversalApiContract\3.0.0.0;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.FoundationContract\2.0.0.0;%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<Midl>
<OutputDirectory>$(OutDir)</OutputDirectory>
</Midl>
<ResourceCompile>
<AdditionalIncludeDirectories>$(OutDir);</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_WINDOWS;_USRDLL;NETWORKLISTENER_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<CompileAsWinRT>true</CompileAsWinRT>
<AdditionalIncludeDirectories>
</AdditionalIncludeDirectories>
<AdditionalUsingDirectories>C:\Program Files %28x86%29\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\vcpackages;C:\Program Files %28x86%29\Windows Kits\10\UnionMetadata;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.UniversalApiContract\3.0.0.0;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.FoundationContract\2.0.0.0;%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<Midl>
<OutputDirectory>$(OutDir)</OutputDirectory>
</Midl>
<ResourceCompile>
<AdditionalIncludeDirectories>$(OutDir);</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemGroup>
<Text Include="ReadMe.txt" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="base64.h" />
<ClInclude Include="PayloadQueue.h" />
<ClInclude Include="HttpListener.h" />
<ClInclude Include="Message.h" />
<ClInclude Include="MessageManager.h" />
<ClInclude Include="NetworkMonitor.h" />
<ClInclude Include="PayloadContainer.h" />
<ClInclude Include="resource.h" />
<ClInclude Include="stdafx.h" />
<ClInclude Include="targetver.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="PayloadQueue.cpp" />
<ClCompile Include="dllmain.cpp">
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</CompileAsManaged>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
</PrecompiledHeader>
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</CompileAsManaged>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
</PrecompiledHeader>
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</CompileAsManaged>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
</PrecompiledHeader>
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</CompileAsManaged>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
</PrecompiledHeader>
</ClCompile>
<ClCompile Include="HttpListener.cpp" />
<ClCompile Include="MessageManager.cpp" />
<ClCompile Include="NetworkListener.cpp" />
<ClCompile Include="NetworkMonitor.cpp" />
<ClCompile Include="stdafx.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

Просмотреть файл

@ -1,209 +1,209 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>15.0</VCProjectVersion>
<ProjectGuid>{8BD0AEFA-0909-4571-9BAF-C464E673BFF5}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>NetworkProxy</RootNamespace>
<WindowsTargetPlatformVersion>10.0.14393.0</WindowsTargetPlatformVersion>
<ProjectName>NetworkProxy</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
<OutDir>..\..\out\native\network\$(Configuration)\$(Platform)\</OutDir>
<IntDir>..\..\out\native\network\intermediate\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
<OutDir>..\..\out\native\network\$(Configuration)\$(Platform)\</OutDir>
<IntDir>..\..\out\native\network\intermediate\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<OutDir>..\..\out\native\network\$(Configuration)\$(Platform)\</OutDir>
<IntDir>..\..\out\native\network\intermediate\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>..\..\out\native\network\$(Configuration)\$(Platform)\</OutDir>
<IntDir>..\..\out\native\network\intermediate\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalUsingDirectories>C:\Program Files %28x86%29\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\vcpackages;C:\Program Files %28x86%29\Windows Kits\10\UnionMetadata;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.UniversalApiContract\3.0.0.0;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.FoundationContract\2.0.0.0;%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
<CompileAsWinRT>true</CompileAsWinRT>
<MinimalRebuild>false</MinimalRebuild>
<CompileAsManaged>false</CompileAsManaged>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<AdditionalIncludeDirectories>..\NetworkListener\;$(OutDir);</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<CompileAsWinRT>true</CompileAsWinRT>
<AdditionalUsingDirectories>C:\Program Files %28x86%29\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\vcpackages;C:\Program Files %28x86%29\Windows Kits\10\UnionMetadata;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.UniversalApiContract\3.0.0.0;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.FoundationContract\2.0.0.0;%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
<MinimalRebuild>false</MinimalRebuild>
<AdditionalIncludeDirectories>..\NetworkListener</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
<PostBuildEvent>
<Command>
</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\NetworkListener</AdditionalIncludeDirectories>
<CompileAsWinRT>true</CompileAsWinRT>
<AdditionalUsingDirectories>C:\Program Files %28x86%29\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\vcpackages;C:\Program Files %28x86%29\Windows Kits\10\UnionMetadata;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.UniversalApiContract\3.0.0.0;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.FoundationContract\2.0.0.0;%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<PostBuildEvent>
<Command>
</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<CompileAsWinRT>true</CompileAsWinRT>
<AdditionalIncludeDirectories>..\NetworkListener</AdditionalIncludeDirectories>
<AdditionalUsingDirectories>C:\Program Files %28x86%29\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\vcpackages;C:\Program Files %28x86%29\Windows Kits\10\UnionMetadata;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.UniversalApiContract\3.0.0.0;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.FoundationContract\2.0.0.0;%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
</Link>
<PostBuildEvent>
<Command>
</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<Text Include="ReadMe.txt" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="NetworkProxy.h" />
<ClInclude Include="Resource.h" />
<ClInclude Include="stdafx.h" />
<ClInclude Include="targetver.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="NetworkProxy.cpp" />
<ClCompile Include="stdafx.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="NetworkProxy.rc" />
</ItemGroup>
<ItemGroup>
<Image Include="NetworkProxy.ico" />
<Image Include="small.ico" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\NetworkListener\NetworkListener.vcxproj">
<Project>{91e9f0ac-6d3a-426d-9895-fd696e67ad99}</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>15.0</VCProjectVersion>
<ProjectGuid>{8BD0AEFA-0909-4571-9BAF-C464E673BFF5}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>NetworkProxy</RootNamespace>
<WindowsTargetPlatformVersion>10.0.14393.0</WindowsTargetPlatformVersion>
<ProjectName>NetworkProxy</ProjectName>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
<OutDir>..\..\out\native\network\$(Configuration)\$(Platform)\</OutDir>
<IntDir>..\..\out\native\network\intermediate\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
<OutDir>..\..\out\native\network\$(Configuration)\$(Platform)\</OutDir>
<IntDir>..\..\out\native\network\intermediate\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<OutDir>..\..\out\native\network\$(Configuration)\$(Platform)\</OutDir>
<IntDir>..\..\out\native\network\intermediate\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>..\..\out\native\network\$(Configuration)\$(Platform)\</OutDir>
<IntDir>..\..\out\native\network\intermediate\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalUsingDirectories>C:\Program Files %28x86%29\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\vcpackages;C:\Program Files %28x86%29\Windows Kits\10\UnionMetadata;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.UniversalApiContract\3.0.0.0;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.FoundationContract\2.0.0.0;%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
<CompileAsWinRT>true</CompileAsWinRT>
<MinimalRebuild>false</MinimalRebuild>
<CompileAsManaged>false</CompileAsManaged>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<AdditionalIncludeDirectories>..\NetworkListener\;$(OutDir);</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<CompileAsWinRT>true</CompileAsWinRT>
<AdditionalUsingDirectories>C:\Program Files %28x86%29\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\vcpackages;C:\Program Files %28x86%29\Windows Kits\10\UnionMetadata;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.UniversalApiContract\3.0.0.0;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.FoundationContract\2.0.0.0;%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
<MinimalRebuild>false</MinimalRebuild>
<AdditionalIncludeDirectories>..\NetworkListener</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
<PostBuildEvent>
<Command>
</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\NetworkListener</AdditionalIncludeDirectories>
<CompileAsWinRT>true</CompileAsWinRT>
<AdditionalUsingDirectories>C:\Program Files %28x86%29\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\vcpackages;C:\Program Files %28x86%29\Windows Kits\10\UnionMetadata;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.UniversalApiContract\3.0.0.0;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.FoundationContract\2.0.0.0;%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<PostBuildEvent>
<Command>
</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<CompileAsWinRT>true</CompileAsWinRT>
<AdditionalIncludeDirectories>..\NetworkListener</AdditionalIncludeDirectories>
<AdditionalUsingDirectories>C:\Program Files %28x86%29\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\vcpackages;C:\Program Files %28x86%29\Windows Kits\10\UnionMetadata;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.UniversalApiContract\3.0.0.0;C:\Program Files %28x86%29\Windows Kits\10\References\Windows.Foundation.FoundationContract\2.0.0.0;%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
</Link>
<PostBuildEvent>
<Command>
</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<Text Include="ReadMe.txt" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="NetworkProxy.h" />
<ClInclude Include="Resource.h" />
<ClInclude Include="stdafx.h" />
<ClInclude Include="targetver.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="NetworkProxy.cpp" />
<ClCompile Include="stdafx.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="NetworkProxy.rc" />
</ItemGroup>
<ItemGroup>
<Image Include="NetworkProxy.ico" />
<Image Include="small.ico" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\NetworkListener\NetworkListener.vcxproj">
<Project>{91e9f0ac-6d3a-426d-9895-fd696e67ad99}</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

Просмотреть файл

@ -1,248 +1,248 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{272CE0B2-BFE2-40EC-A0D0-BA6718522572}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>Proxy</RootNamespace>
<SccProjectName>SAK</SccProjectName>
<SccAuxPath>SAK</SccAuxPath>
<SccLocalPath>SAK</SccLocalPath>
<SccProvider>SAK</SccProvider>
<ProjectName>Proxy</ProjectName>
<WindowsTargetPlatformVersion>10.0.14393.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
<TargetName>$(ProjectName)64</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>$(ProjectName)64</TargetName>
</PropertyGroup>
<PropertyGroup>
<OutDir>..\..\out\native\$(Configuration)\$(Platform)\</OutDir>
<IntDir>..\..\out\native\intermediate\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>Win32;_DEBUG;_WINDOWS;_USRDLL;PROXY_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\Common\;$(OutDir);</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ModuleDefinitionFile>Proxy.def</ModuleDefinitionFile>
<AdditionalLibraryDirectories>$(OutDir);</AdditionalLibraryDirectories>
<AdditionalDependencies>chakrart.lib;version.lib;Common.lib;DebuggerCore.lib</AdditionalDependencies>
</Link>
<Midl>
<OutputDirectory>$(OutDir)</OutputDirectory>
</Midl>
<ResourceCompile>
<AdditionalIncludeDirectories>$(OutDir);</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>Win32;_DEBUG;_WINDOWS;_USRDLL;PROXY_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\Common\;$(OutDir);</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ModuleDefinitionFile>Proxy.def</ModuleDefinitionFile>
<AdditionalLibraryDirectories>$(OutDir);</AdditionalLibraryDirectories>
<AdditionalDependencies>chakrart.lib;version.lib;Common.lib;DebuggerCore.lib</AdditionalDependencies>
</Link>
<Midl>
<OutputDirectory>$(OutDir)</OutputDirectory>
</Midl>
<ResourceCompile>
<AdditionalIncludeDirectories>$(OutDir);</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>Win32;NDEBUG;_WINDOWS;_USRDLL;PROXY_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\Common\;$(OutDir);</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>Proxy.def</ModuleDefinitionFile>
<AdditionalLibraryDirectories>$(OutDir);</AdditionalLibraryDirectories>
<AdditionalDependencies>chakrart.lib;version.lib;Common.lib;DebuggerCore.lib</AdditionalDependencies>
</Link>
<Midl>
<OutputDirectory>$(OutDir)</OutputDirectory>
</Midl>
<ResourceCompile>
<AdditionalIncludeDirectories>$(OutDir);</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>Win32;NDEBUG;_WINDOWS;_USRDLL;PROXY_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\Common\;$(OutDir);</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>Proxy.def</ModuleDefinitionFile>
<AdditionalLibraryDirectories>$(OutDir);</AdditionalLibraryDirectories>
<AdditionalDependencies>chakrart.lib;version.lib;Common.lib;DebuggerCore.lib</AdditionalDependencies>
</Link>
<Midl>
<OutputDirectory>$(OutDir)</OutputDirectory>
</Midl>
<ResourceCompile>
<AdditionalIncludeDirectories>$(OutDir);</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="BrowserHost.h" />
<ClInclude Include="DebuggerHost.h" />
<ClInclude Include="dllmain.h" />
<ClInclude Include="JsWrappers.h" />
<ClInclude Include="BrowserMessageQueue.h" />
<ClInclude Include="ProxySite.h" />
<ClInclude Include="resource.h" />
<ClInclude Include="ScriptEngineHost.h" />
<ClInclude Include="stdafx.h" />
<ClInclude Include="WebSocketClientHost.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="$(OutDir)\Proxy_i.c">
<PrecompiledHeader>NotUsing</PrecompiledHeader>
</ClCompile>
<ClCompile Include="$(OutDir)\DebuggerCore_i.c">
<PrecompiledHeader>NotUsing</PrecompiledHeader>
</ClCompile>
<ClCompile Include="BrowserHost.cpp" />
<ClCompile Include="DebuggerHost.cpp" />
<ClCompile Include="dllmain.cpp" />
<ClCompile Include="BrowserMessageQueue.cpp" />
<ClCompile Include="ProxySite.cpp" />
<ClCompile Include="ScriptEngineHost.cpp" />
<ClCompile Include="stdafx.cpp">
<PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="WebSocketClientHost.cpp" />
</ItemGroup>
<ItemGroup>
<None Include="Proxy.def" />
</ItemGroup>
<ItemGroup>
<Midl Include="Proxy.idl">
<TypeLibraryName>$(ProjectName).tlb</TypeLibraryName>
</Midl>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Resource.rc">
<AdditionalIncludeDirectories>$(OutDir);$(IntDir)</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<ItemGroup>
<ProjectReference Include="..\DebuggerCore\DebuggerCore.vcxproj">
<Project>{A9505C3C-5EB9-4989-8028-122E8A5F4B46}</Project>
</ProjectReference>
</ItemGroup>
</Project>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{272CE0B2-BFE2-40EC-A0D0-BA6718522572}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>Proxy</RootNamespace>
<SccProjectName>SAK</SccProjectName>
<SccAuxPath>SAK</SccAuxPath>
<SccLocalPath>SAK</SccLocalPath>
<SccProvider>SAK</SccProvider>
<ProjectName>Proxy</ProjectName>
<WindowsTargetPlatformVersion>10.0.14393.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
<TargetName>$(ProjectName)</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<TargetName>$(ProjectName)</TargetName>
</PropertyGroup>
<PropertyGroup>
<OutDir>..\..\out\native\$(Configuration)\$(Platform)\</OutDir>
<IntDir>..\..\out\native\intermediate\$(Configuration)\$(Platform)\$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>Win32;_DEBUG;_WINDOWS;_USRDLL;PROXY_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\Common\;$(OutDir);</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ModuleDefinitionFile>Proxy.def</ModuleDefinitionFile>
<AdditionalLibraryDirectories>$(OutDir);</AdditionalLibraryDirectories>
<AdditionalDependencies>chakrart.lib;version.lib;Common.lib;DebuggerCore.lib</AdditionalDependencies>
</Link>
<Midl>
<OutputDirectory>$(OutDir)</OutputDirectory>
</Midl>
<ResourceCompile>
<AdditionalIncludeDirectories>$(OutDir);</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>Win32;_DEBUG;_WINDOWS;_USRDLL;PROXY_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\Common\;$(OutDir);</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ModuleDefinitionFile>Proxy.def</ModuleDefinitionFile>
<AdditionalLibraryDirectories>$(OutDir);</AdditionalLibraryDirectories>
<AdditionalDependencies>chakrart.lib;version.lib;Common.lib;DebuggerCore.lib</AdditionalDependencies>
</Link>
<Midl>
<OutputDirectory>$(OutDir)</OutputDirectory>
</Midl>
<ResourceCompile>
<AdditionalIncludeDirectories>$(OutDir);</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>Win32;NDEBUG;_WINDOWS;_USRDLL;PROXY_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\Common\;$(OutDir);</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>Proxy.def</ModuleDefinitionFile>
<AdditionalLibraryDirectories>$(OutDir);</AdditionalLibraryDirectories>
<AdditionalDependencies>chakrart.lib;version.lib;Common.lib;DebuggerCore.lib</AdditionalDependencies>
</Link>
<Midl>
<OutputDirectory>$(OutDir)</OutputDirectory>
</Midl>
<ResourceCompile>
<AdditionalIncludeDirectories>$(OutDir);</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>Win32;NDEBUG;_WINDOWS;_USRDLL;PROXY_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\Common\;$(OutDir);</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>Proxy.def</ModuleDefinitionFile>
<AdditionalLibraryDirectories>$(OutDir);</AdditionalLibraryDirectories>
<AdditionalDependencies>chakrart.lib;version.lib;Common.lib;DebuggerCore.lib</AdditionalDependencies>
</Link>
<Midl>
<OutputDirectory>$(OutDir)</OutputDirectory>
</Midl>
<ResourceCompile>
<AdditionalIncludeDirectories>$(OutDir);</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="BrowserHost.h" />
<ClInclude Include="DebuggerHost.h" />
<ClInclude Include="dllmain.h" />
<ClInclude Include="JsWrappers.h" />
<ClInclude Include="BrowserMessageQueue.h" />
<ClInclude Include="ProxySite.h" />
<ClInclude Include="resource.h" />
<ClInclude Include="ScriptEngineHost.h" />
<ClInclude Include="stdafx.h" />
<ClInclude Include="WebSocketClientHost.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="$(OutDir)\Proxy_i.c">
<PrecompiledHeader>NotUsing</PrecompiledHeader>
</ClCompile>
<ClCompile Include="$(OutDir)\DebuggerCore_i.c">
<PrecompiledHeader>NotUsing</PrecompiledHeader>
</ClCompile>
<ClCompile Include="BrowserHost.cpp" />
<ClCompile Include="DebuggerHost.cpp" />
<ClCompile Include="dllmain.cpp" />
<ClCompile Include="BrowserMessageQueue.cpp" />
<ClCompile Include="ProxySite.cpp" />
<ClCompile Include="ScriptEngineHost.cpp" />
<ClCompile Include="stdafx.cpp">
<PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="WebSocketClientHost.cpp" />
</ItemGroup>
<ItemGroup>
<None Include="Proxy.def" />
</ItemGroup>
<ItemGroup>
<Midl Include="Proxy.idl">
<TypeLibraryName>$(ProjectName).tlb</TypeLibraryName>
</Midl>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Resource.rc">
<AdditionalIncludeDirectories>$(OutDir);$(IntDir)</AdditionalIncludeDirectories>
</ResourceCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<ItemGroup>
<ProjectReference Include="..\DebuggerCore\DebuggerCore.vcxproj">
<Project>{A9505C3C-5EB9-4989-8028-122E8A5F4B46}</Project>
</ProjectReference>
</ItemGroup>
</Project>

3548
package-lock.json сгенерированный Normal file

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1,50 +1,70 @@
{
"name": "edge-diagnostics-adapter",
"version": "0.5.0",
"description": "Microsoft Edge Diagnostics Adapter",
"main": "out/src/edgeAdapter.js",
"files": [
"out\\lib",
"out\\src",
"redistributable",
"scripts"
],
"keywords": [
"edge",
"diagnostics",
"devtools",
"browser"
],
"author": "Microsoft Corporation",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/Microsoft/edge-diagnostics-adapter.git"
},
"dependencies": {
"ws": "1.1.0"
},
"devDependencies": {
"gulp": "^3.9.1",
"gulp-mocha": "^2.1.3",
"gulp-msbuild": "^0.4.4",
"gulp-sequence": "^0.4.6",
"gulp-sourcemaps": "^1.5.2",
"gulp-tslint": "^3.3.1",
"gulp-typescript": "^2.12.1",
"gulp-util": "^3.0.5",
"nan": "^2.2.1",
"node-gyp": "^3.5.0",
"tslint": "^3.3.0",
"typescript": "1.8.7",
"typings": "1.0.4",
"yargs": "^4.6.0"
},
"cpu": [
"x64",
"x32"
],
"scripts": {
"postinstall": "node scripts/postinstall.js"
}
}
{
"name": "edge-diagnostics-adapter",
"version": "0.6.0-unsigned",
"description": "Microsoft Edge Diagnostics Adapter",
"main": "out/src/edgeAdapter.js",
"files": [
"out/src",
"redistributable",
"scripts",
"tsconfig.json"
],
"keywords": [
"edge",
"diagnostics",
"devtools",
"browser"
],
"author": "Microsoft Corporation",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/Microsoft/edge-diagnostics-adapter.git"
},
"dependencies": {
"node-pre-gyp": "^0.6.38",
"regedit": "^2.2.7",
"ws": "3.2.0",
"yargs": "^9.0.1"
},
"devDependencies": {
"@types/node": "^8.0.32",
"@types/ws": "^3.0.2",
"@types/yargs": "^8.0.2",
"cpx": "^1.5.0",
"gulp": "^3.9.1",
"gulp-mocha": "^4.3.1",
"gulp-msbuild": "^0.5.3",
"gulp-sequence": "^0.4.6",
"gulp-util": "^3.0.8",
"nan": "^2.7.0",
"node-gyp": "^3.6.2",
"rimraf": "^2.6.2",
"tslint": "^5.7.0",
"typescript": "2.5.3"
},
"binary": {
"module_name": "edge-diagnostics-adapter",
"module_path": "out/",
"host": "https://github.com/Microsoft/edge-diagnostics-adapter/releases/download/",
"remote_path": "v{version}"
},
"cpu": [
"x64",
"ia32"
],
"os": [
"win32"
],
"scripts": {
"copy:static": "cpx \"./src/**/{!(*.ts),.!(ts)}\" out/src",
"build": "npm run clean && npm run lint && npm run build:ts && npm run copy:static && prebuild.cmd && npm run build:native",
"build:native": "npm config set msvs_version 2015 && gulp buildnative",
"build:ts": "tsc",
"clean": "rimraf out",
"install": "node-pre-gyp install --fallback-to-build",
"lint": "tslint /src/**/*.ts",
"postinstall": "node scripts/postinstall.js",
"watch:ts": "tsc --watch"
}
}

Просмотреть файл

@ -1,5 +1,9 @@
REM Node-gyp currently does not support vs2017 build tools. We set the C++ build tools v140(vs2015).
REM If you have installed vs2017 enterprise edition:
REM set VCTargetsPath=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets
set VCTargetsPath=C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140
set GYP_MSVS_VERSION=2015
@echo off
IF DEFINED APPVEYOR (
ECHO Building in AppVeyor
) ELSE (
ECHO Setting VCTargetsPath
set VCTargetsPath=\"C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140\"
)
set GYP_MSVS_VERSION=2015

10
scripts/bundle.js Normal file
Просмотреть файл

@ -0,0 +1,10 @@
const platform = process.platform;
const architecture = process.arch;
const v8Version = process.versions.modules;
const package = require('../package.json');
const pkgName = package.name;
const pkgVersion = package.version;
const name = `${pkgName}-v${pkgVersion}-node-v${v8Version}-${platform}-${architecture}`;
console.log(name);

Просмотреть файл

@ -1,11 +1,31 @@
const child = require('child_process');
const path = require('path');
const arch = process.arch;
console.log(`Installing Microsoft Visual C++ 2017 Redistributable (${arch})`);
const command = `${path.join(__dirname, '..', 'redistributable', `VC_redist.${arch}.exe`)} /quiet /norestart`;
child.execSync(command);
console.log(`Microsoft Visual C++ 2017 Redistributable (${arch}) Installed`);
const child = require('child_process');
const path = require('path');
const regedit = require('regedit');
const arch = process.arch === 'x64' ? 'x64' : 'x86';
const keys = {
x64: 'HKCR\\Installer\\Dependencies\\,,amd64,14.0,bundle',
x86: 'HKCR\\Installer\\Dependencies\\,,x86,14.0,bundle'
};
const key = keys[arch];
regedit.list(key, function (err, result) {
if(result){
console.log('VC++ 2017 seems to be installed. Skipping installation.');
console.log('If you have any problems, please install it manually from the "redistributable" folder.');
return;
}
if(err){
console.error('Error trying to determine if VC++ 2017 Redistributable is installed. Installing it anyways...');
}
console.log(`Installing Microsoft Visual C++ 2017 Redistributable (${arch})`);
const command = `${path.join(__dirname, '..', 'redistributable', `VC_redist.${arch}.exe`)} /quiet /norestart`;
try {
child.execSync(command);
console.log(`VC++ 2017 Redistributable (${arch}) Installed`);
} catch (e) {
console.error('Error installing VC++ 2017 Redistributable, please install it manually from the "redistributable" folder');
}
});

Просмотреть файл

@ -1,442 +1,426 @@
//
// Copyright (C) Microsoft. All rights reserved.
//
// Override require to pick the correct addon architecture at runtime
(function () {
var originalReq = require;
require = <any>function (path: string) {
if (path !== "../../lib/Addon.node") {
return originalReq(path);
} else {
let mod;
try {
mod = originalReq(path);
} catch (ex) {
try {
mod = originalReq("../../lib/Addon64.node");
} catch (ex) {
// Potential node version mismatch error
console.log(ex.message, ex.stack);
}
}
return mod;
}
}
})();
import { IChromeInstance } from '../../lib/EdgeAdapterInterfaces'
import * as edgeAdapter from '../../lib/Addon.node';
import * as http from 'http';
import * as ws from 'ws';
import * as fs from 'fs';
import * as crypto from 'crypto';
import { Server as WebSocketServer } from 'ws';
declare var __dirname;
export module EdgeAdapter {
export class Service {
private _httpServer: http.Server;
private _webSocketServer: WebSocketServer;
private _serverPort: number;
private _chromeToolsPort: number;
private _guidToIdMap: Map<string, string> = new Map<string, string>();
private _idToEdgeMap: Map<string, edgeAdapter.EdgeInstanceId> = new Map<string, edgeAdapter.EdgeInstanceId>();
private _idToNetWorkProxyMap: Map<string, edgeAdapter.NetworkProxyInstanceId> = new Map<string, edgeAdapter.NetworkProxyInstanceId>();
private _edgeToWSMap: Map<edgeAdapter.EdgeInstanceId, ws[]> = new Map<edgeAdapter.EdgeInstanceId, ws[]>();
private _diagLogging: boolean = false;
private _newtworkProxyImplementedRequests: Array<string> = new Array<string>('Network.enable', 'Network.disable', 'Network.getResponseBody');
constructor(diagLogging: boolean) {
this._diagLogging = diagLogging;
}
public run(serverPort: number, chromeToolsPort: number, url: string): void {
this._serverPort = serverPort;
this._chromeToolsPort = chromeToolsPort;
edgeAdapter.initialize(__dirname, (id, msg) => this.onEdgeMessage(id, msg), (msg) => this.onLogMessage(msg));
edgeAdapter.setSecurityACLs(__dirname + "\\..\\..\\lib\\");
if (chromeToolsPort > 0) {
edgeAdapter.serveChromeDevTools(chromeToolsPort);
}
if (url) {
edgeAdapter.openEdge(url);
}
this._httpServer = http.createServer((req, res) => this.onServerRequest(req, res));
this._webSocketServer = new WebSocketServer({ server: this._httpServer });
this._webSocketServer.on('connection', (client) => this.onWSSConnection(client));
this._httpServer.listen(serverPort, "0.0.0.0");
}
private onServerRequest(request: http.IncomingMessage, response: http.ServerResponse): void {
// Normalize request url
let url = request.url.trim().toLocaleLowerCase();
// Extract parameter list
// TODO: improve the parameter extraction
let urlParts = this.extractParametersFromUrl(url);
url = urlParts.url;
let param = urlParts.paramChain;
if (url.lastIndexOf('/') == url.length - 1) {
url = url.substr(0, url.length - 1);
}
const host = request.headers.host || "localhost";
switch (url) {
case '/json':
case '/json/list':
// Respond with json
response.writeHead(200, { "Content-Type": "text/json" });
response.write(JSON.stringify(this.getEdgeJson(host)));
response.end();
break;
case '/json/version':
// Write out protocol.json file
response.writeHead(200, { "Content-Type": "text/json" });
response.write(this.getEdgeVersionJson());
response.end();
break;
case '/json/protocol':
// Write out protocol.json file
response.writeHead(200, { "Content-Type": "text/json" });
response.write(this.getChromeProtocol());
response.end();
break;
case '':
// Respond with attach page
response.writeHead(200, { "Content-Type": "text/html" });
response.write(fs.readFileSync(__dirname + '/../chromeProtocol/inspect.html', 'utf8'));
response.end();
break;
case '/json/new':
// create a new tab
if (!param) {
param = "";
}
this.createNewTab(param, host, response)
break;
case '/json/close':
// close a tab
response.writeHead(200, { "Content-Type": "text/html" });
this.closeEdgeInstance(param);
response.end();
break;
default:
// Not found
response.writeHead(404, { "Content-Type": "text/html" });
response.end();
break;
}
}
private createNewTab(param: string, host: any, response: http.ServerResponse) {
let initialChromeTabs = this.getEdgeJson(host);
let retries = 200; // Retry for 30 seconds.
if (edgeAdapter.openEdge(param)) {
const getNewTab = () => {
let actualChromeTabs = this.getEdgeJson(host);
let newTabInfo = this.getNewTabInfo(initialChromeTabs, actualChromeTabs, param);
if (!newTabInfo && retries > 0) {
retries--;
return setTimeout(getNewTab, 150);
}
response.write(JSON.stringify(newTabInfo));
response.end();
}
return getNewTab();
} else {
response.end();
}
}
private getNewTabInfo(initialInstances: IChromeInstance[], actualInstances: IChromeInstance[], url: string): IChromeInstance {
for (var index = 0; index < actualInstances.length; index++) {
let element = actualInstances[index];
if (!initialInstances.some(x => x.id == element.id)) {
return element;
}
}
return null;
}
private onWSSConnection(ws: ws): void {
// Normalize request url
let url = ws.upgradeReq.url.trim().toUpperCase();
if (url.lastIndexOf('/') == url.length - 1) {
url = url.substr(0, url.length - 1);
}
let guid = url;
const index = guid.lastIndexOf('/');
if (index != -1) {
guid = guid.substr(index + 1);
}
let succeeded = false;
let instanceId: edgeAdapter.EdgeInstanceId = null;
let networkInstanceId: edgeAdapter.NetworkProxyInstanceId = null;
if (this._guidToIdMap.has(guid)) {
const id = this._guidToIdMap.get(guid);
instanceId = this._idToEdgeMap.get(id);
if (!instanceId) {
// New connection
instanceId = edgeAdapter.connectTo(id);
if (instanceId) {
this.injectAdapterFiles(instanceId);
this._idToEdgeMap.set(id, instanceId);
this._edgeToWSMap.set(instanceId, [ws]);
succeeded = true;
}
} else {
// Already connected
const sockets = this._edgeToWSMap.get(instanceId);
sockets.push(ws);
this._edgeToWSMap.set(instanceId, sockets);
succeeded = true;
}
networkInstanceId = this._idToNetWorkProxyMap.get(id);
if (!networkInstanceId) {
networkInstanceId = edgeAdapter.createNetworkProxyFor(id);
if (networkInstanceId) {
this._idToNetWorkProxyMap.set(id, networkInstanceId);
this._idToNetWorkProxyMap.set(networkInstanceId, id);
}
}
}
if (succeeded && networkInstanceId) {
// Forward messages to the proxy
ws.on('message', (msg) => {
if (this._diagLogging) {
console.log("Client:", instanceId, msg);
}
if (this.isMessageForNetworkProxy(msg)) {
edgeAdapter.forwardTo(networkInstanceId, msg);
} else {
edgeAdapter.forwardTo(instanceId, msg);
}
});
const removeSocket = (instanceId: edgeAdapter.EdgeInstanceId) => {
const sockets = this._edgeToWSMap.get(instanceId);
const index = sockets.indexOf(ws);
if (index > -1) {
sockets.splice(index, 1);
}
this._edgeToWSMap.set(instanceId, sockets);
};
// Remove socket on close or error
ws.on('close', () => {
removeSocket(instanceId);
});
ws.on('error', () => {
removeSocket(instanceId);
});
} else {
// No matching Edge instance
ws.close();
}
}
private log(message: string): void {
this.onLogMessage(message);
}
private isMessageForNetworkProxy(requestMessage: string): boolean {
var parsedMessage: Object;
try {
parsedMessage = JSON.parse(requestMessage);
} catch (SyntaxError) {
console.log("Error parsing request message: ", requestMessage);
return false;
}
let requestType = parsedMessage['method'] as string;
return this._newtworkProxyImplementedRequests.indexOf(requestType) != -1;
}
private onEdgeMessage(instanceId: edgeAdapter.EdgeInstanceId, msg: string): void {
if (this._diagLogging) {
console.log("EdgeService:", instanceId, msg);
}
let edgeProxyId;
if (this._idToNetWorkProxyMap.has(instanceId)) {
// message comes from network proxy, we get he edge proxy id
const id = this._idToNetWorkProxyMap.get(instanceId)
edgeProxyId = this._idToEdgeMap.get(id);
}
else {
edgeProxyId = instanceId;
}
if (this._edgeToWSMap.has(edgeProxyId)) {
const sockets = this._edgeToWSMap.get(edgeProxyId)
for (let i = 0; i < sockets.length; i++) {
sockets[i].send(msg);
}
}
}
private onLogMessage(msg: string): void {
console.log("Log: " + msg);
}
private injectAdapterFiles(instanceId: edgeAdapter.EdgeInstanceId): void {
const files: { engine: edgeAdapter.EngineType, filename: string }[] = [
{ engine: "browser", filename: "assert.js" },
{ engine: "browser", filename: "common.js" },
{ engine: "browser", filename: "browser.js" },
{ engine: "browser", filename: "dom.js" },
{ engine: "browser", filename: "runtime.js" },
{ engine: "browser", filename: "page.js" },
{ engine: "browser", filename: "CssParser.js" },
{ engine: "browser", filename: "browserTool.js" },
{ engine: "browser", filename: "network.js" },
{ engine: "debugger", filename: "assert.js" },
{ engine: "debugger", filename: "common.js" },
{ engine: "debugger", filename: "debugger.js" },
];
for (let i = 0; i < files.length; i++) {
const script = fs.readFileSync(__dirname + '/../chromeProtocol/' + files[i].filename, 'utf8');
this.log(`Injecting '${files[i].engine}:${files[i].filename}'`);
edgeAdapter.injectScriptTo(instanceId, files[i].engine, files[i].filename, script);
}
}
private getEdgeJson(host: string): IChromeInstance[] {
const chromeInstances: IChromeInstance[] = [];
const map = new Map<string, string>();
const instances = edgeAdapter.getEdgeInstances();
if (this._diagLogging) {
console.log("Edge Instances:", instances);
}
for (let i = 0; i < instances.length; i++) {
// Get or generate a new guid
let guid: string = null;
if (!this._guidToIdMap.has(instances[i].id)) {
guid = this.createGuid();
} else {
guid = this._guidToIdMap.get(instances[i].id);
}
map.set(guid, instances[i].id);
map.set(instances[i].id, guid);
const websocket = `ws://${host}/devtools/page/${guid}`;
const devtools = `chrome-devtools://devtools/bundled/inspector.html?ws=${websocket.substr(5)}`;
// Generate the json description of this instance
chromeInstances.push({
description: instances[i].processName,
devtoolsFrontendUrl: devtools,
id: guid,
title: instances[i].title,
type: "page",
url: instances[i].url,
webSocketDebuggerUrl: websocket
});
}
// Reset the map to the new instances
this._guidToIdMap = map;
return chromeInstances;
}
private getEdgeVersionJson(): string {
// Todo: Currently Edge does not store it's UA string and there is no way to fetch the UA without loading Edge.
const userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586";
const version = {
"Browser": "Microsoft Edge 13",
"Protocol-Version": "1",
"User-Agent": userAgent,
"WebKit-Version": "0"
};
return JSON.stringify(version);
}
private getChromeProtocol(): string {
const script = fs.readFileSync(__dirname + '/../chromeProtocol/protocol.json', 'utf8');
return script;
}
private createGuid(): string {
const g: string = crypto.createHash('md5').update(Math.random().toString()).digest('hex').toUpperCase();
return `${g.substring(0, 8)}-${g.substring(9, 13)}-${g.substring(13, 17)}-${g.substring(17, 21)}-${g.substring(21, 31)}`
}
private extractParametersFromUrl(url: string): { url: string, paramChain: string } {
let parameters;
const closeUrl = '/json/close';
if (url.indexOf('/json/new') != -1) {
const urlSegements = url.split('?');
if (urlSegements.length > 1) {
url = urlSegements[0];
parameters = urlSegements[1];
}
} else if (url.indexOf(closeUrl) != -1) {
parameters = url.replace(`${closeUrl}/`, '');
url = url.slice(0, closeUrl.length);
}
return { url: url, paramChain: parameters };
}
private closeEdgeInstance(guid: string): boolean {
var edgeResult = false;
var networkProxyResult = false;
const id = this._guidToIdMap.get(guid.toLocaleUpperCase());
if (id) {
edgeResult = edgeAdapter.closeEdge(id);
const networkInstanceId = this._idToNetWorkProxyMap.get(id);
if (networkInstanceId) {
networkProxyResult = edgeAdapter.closeNetworkProxyInstance(networkInstanceId);
}
// tab is closed, clean all the mappings and close connections
let instanceId = this._idToEdgeMap.get(id);
const sockets = this._edgeToWSMap.get(instanceId)
if (sockets) {
for (let i = 0; i < sockets.length; i++) {
sockets[i].removeAllListeners();
sockets[i].close();
}
}
this._edgeToWSMap.delete(instanceId);
this._guidToIdMap.delete(guid.toLocaleUpperCase());
this._guidToIdMap.delete(id);
this._idToNetWorkProxyMap.delete(id);
this._idToNetWorkProxyMap.delete(networkInstanceId);
this._idToEdgeMap.delete(id);
}
return edgeResult && networkProxyResult;
}
}
}
///<reference path='../../lib/Addon.node.d.ts' />
//
// Copyright (C) Microsoft. All rights reserved.
//
import { IChromeInstance } from '../../lib/EdgeAdapterInterfaces';
import * as edgeAdapter from '../../lib/Addon.node';
// const binding_path = binary.find(path.resolve(path.join(__dirname,'../../../package.json')));
// var edgeAdapter = require(binding_path);
import * as http from 'http';
import * as ws from 'ws';
import * as fs from 'fs';
import * as crypto from 'crypto';
import { Server as WebSocketServer } from 'ws';
declare var __dirname;
export module EdgeAdapter {
export class Service {
private _httpServer: http.Server;
private _webSocketServer: WebSocketServer;
private _serverPort: number;
private _chromeToolsPort: number;
private _guidToIdMap: Map<string, string> = new Map<string, string>();
private _idToEdgeMap: Map<string, edgeAdapter.EdgeInstanceId> = new Map<string, edgeAdapter.EdgeInstanceId>();
private _idToNetWorkProxyMap: Map<string, edgeAdapter.NetworkProxyInstanceId> = new Map<string, edgeAdapter.NetworkProxyInstanceId>();
private _edgeToWSMap: Map<edgeAdapter.EdgeInstanceId, ws[]> = new Map<edgeAdapter.EdgeInstanceId, ws[]>();
private _diagLogging: boolean = false;
private _newtworkProxyImplementedRequests: Array<string> = new Array<string>('Network.enable', 'Network.disable', 'Network.getResponseBody');
constructor(diagLogging: boolean) {
this._diagLogging = diagLogging;
}
public run(serverPort: number, chromeToolsPort: number, url: string): void {
this._serverPort = serverPort;
this._chromeToolsPort = chromeToolsPort;
edgeAdapter.initialize(__dirname, (id, msg) => this.onEdgeMessage(id, msg), (msg) => this.onLogMessage(msg));
edgeAdapter.setSecurityACLs(__dirname + "\\..\\..\\lib\\");
if (chromeToolsPort > 0) {
edgeAdapter.serveChromeDevTools(chromeToolsPort);
}
if (url) {
edgeAdapter.openEdge(url);
}
this._httpServer = http.createServer((req, res) => this.onServerRequest(req, res));
this._webSocketServer = new WebSocketServer({ server: this._httpServer });
this._webSocketServer.on('connection', (client, message) => this.onWSSConnection(client, message));
this._httpServer.listen(serverPort, "0.0.0.0");
}
private onServerRequest(request: http.IncomingMessage, response: http.ServerResponse): void {
// Normalize request url
let url = request.url.trim().toLocaleLowerCase();
// Extract parameter list
// TODO: improve the parameter extraction
let urlParts = this.extractParametersFromUrl(url);
url = urlParts.url;
let param = urlParts.paramChain;
if (url.lastIndexOf('/') == url.length - 1) {
url = url.substr(0, url.length - 1);
}
const host = request.headers.host || "localhost";
switch (url) {
case '/json':
case '/json/list':
// Respond with json
response.writeHead(200, { "Content-Type": "text/json" });
response.write(JSON.stringify(this.getEdgeJson(host)));
response.end();
break;
case '/json/version':
// Write out protocol.json file
response.writeHead(200, { "Content-Type": "text/json" });
response.write(this.getEdgeVersionJson());
response.end();
break;
case '/json/protocol':
// Write out protocol.json file
response.writeHead(200, { "Content-Type": "text/json" });
response.write(this.getChromeProtocol());
response.end();
break;
case '':
// Respond with attach page
response.writeHead(200, { "Content-Type": "text/html" });
response.write(fs.readFileSync(__dirname + '/../chromeProtocol/inspect.html', 'utf8'));
response.end();
break;
case '/json/new':
// create a new tab
if (!param) {
param = "";
}
this.createNewTab(param, host, response)
break;
case '/json/close':
// close a tab
response.writeHead(200, { "Content-Type": "text/html" });
this.closeEdgeInstance(param);
response.end();
break;
default:
// Not found
response.writeHead(404, { "Content-Type": "text/html" });
response.end();
break;
}
}
private createNewTab(param: string, host: any, response: http.ServerResponse) {
let initialChromeTabs = this.getEdgeJson(host);
let retries = 200; // Retry for 30 seconds.
if (edgeAdapter.openEdge(param)) {
const getNewTab = () => {
let actualChromeTabs = this.getEdgeJson(host);
let newTabInfo = this.getNewTabInfo(initialChromeTabs, actualChromeTabs, param);
if (!newTabInfo && retries > 0) {
retries--;
return setTimeout(getNewTab, 150);
}
response.write(JSON.stringify(newTabInfo));
response.end();
}
return getNewTab();
} else {
response.end();
}
}
private getNewTabInfo(initialInstances: IChromeInstance[], actualInstances: IChromeInstance[], url: string): IChromeInstance {
for (var index = 0; index < actualInstances.length; index++) {
let element = actualInstances[index];
if (!initialInstances.some(x => x.id == element.id)) {
return element;
}
}
return null;
}
private onWSSConnection(ws: ws, message?: http.IncomingMessage): void {
// Normalize request url
if (!message) {
return;
}
let url = message.url.trim().toUpperCase();
if (url.lastIndexOf('/') == url.length - 1) {
url = url.substr(0, url.length - 1);
}
let guid = url;
const index = guid.lastIndexOf('/');
if (index != -1) {
guid = guid.substr(index + 1);
}
let succeeded = false;
let instanceId: edgeAdapter.EdgeInstanceId = null;
let networkInstanceId: edgeAdapter.NetworkProxyInstanceId = null;
if (this._guidToIdMap.has(guid)) {
const id = this._guidToIdMap.get(guid);
instanceId = this._idToEdgeMap.get(id);
if (!instanceId) {
// New connection
instanceId = edgeAdapter.connectTo(id);
if (instanceId) {
this.injectAdapterFiles(instanceId);
this._idToEdgeMap.set(id, instanceId);
this._edgeToWSMap.set(instanceId, [ws]);
succeeded = true;
}
} else {
// Already connected
const sockets = this._edgeToWSMap.get(instanceId);
sockets.push(ws);
this._edgeToWSMap.set(instanceId, sockets);
succeeded = true;
}
networkInstanceId = this._idToNetWorkProxyMap.get(id);
if (!networkInstanceId) {
networkInstanceId = edgeAdapter.createNetworkProxyFor(id);
if (networkInstanceId) {
this._idToNetWorkProxyMap.set(id, networkInstanceId);
this._idToNetWorkProxyMap.set(networkInstanceId, id);
}
}
}
if (succeeded && networkInstanceId) {
// Forward messages to the proxy
ws.on('message', (msg: ws.Data) => {
if (this._diagLogging) {
console.log("Client:", instanceId, msg);
}
if (this.isMessageForNetworkProxy(msg)) {
edgeAdapter.forwardTo(networkInstanceId, msg.toString());
} else {
edgeAdapter.forwardTo(instanceId, msg.toString());
}
});
const removeSocket = (instanceId: edgeAdapter.EdgeInstanceId) => {
const sockets = this._edgeToWSMap.get(instanceId);
const index = sockets.indexOf(ws);
if (index > -1) {
sockets.splice(index, 1);
}
this._edgeToWSMap.set(instanceId, sockets);
};
// Remove socket on close or error
ws.on('close', () => {
removeSocket(instanceId);
});
ws.on('error', () => {
removeSocket(instanceId);
});
} else {
// No matching Edge instance
ws.close();
}
}
private log(message: string): void {
this.onLogMessage(message);
}
private isMessageForNetworkProxy(requestMessage: ws.Data): boolean {
var parsedMessage: Object;
try {
parsedMessage = JSON.parse(requestMessage.toString());
} catch (SyntaxError) {
console.log("Error parsing request message: ", requestMessage);
return false;
}
let requestType = parsedMessage['method'] as string;
return this._newtworkProxyImplementedRequests.indexOf(requestType) != -1;
}
private onEdgeMessage(instanceId: edgeAdapter.EdgeInstanceId, msg: string): void {
if (this._diagLogging) {
console.log("EdgeService:", instanceId, msg);
}
let edgeProxyId;
if (this._idToNetWorkProxyMap.has(instanceId)) {
// message comes from network proxy, we get he edge proxy id
const id = this._idToNetWorkProxyMap.get(instanceId)
edgeProxyId = this._idToEdgeMap.get(id);
}
else {
edgeProxyId = instanceId;
}
if (this._edgeToWSMap.has(edgeProxyId)) {
const sockets = this._edgeToWSMap.get(edgeProxyId)
for (let i = 0; i < sockets.length; i++) {
sockets[i].send(msg);
}
}
}
private onLogMessage(msg: string): void {
console.log("Log: " + msg);
}
private injectAdapterFiles(instanceId: edgeAdapter.EdgeInstanceId): void {
const files: { engine: edgeAdapter.EngineType, filename: string }[] = [
{ engine: "browser", filename: "assert.js" },
{ engine: "browser", filename: "common.js" },
{ engine: "browser", filename: "browser.js" },
{ engine: "browser", filename: "dom.js" },
{ engine: "browser", filename: "runtime.js" },
{ engine: "browser", filename: "page.js" },
{ engine: "browser", filename: "CssParser.js" },
{ engine: "browser", filename: "browserTool.js" },
{ engine: "browser", filename: "network.js" },
{ engine: "debugger", filename: "assert.js" },
{ engine: "debugger", filename: "common.js" },
{ engine: "debugger", filename: "debugger.js" },
];
for (let i = 0; i < files.length; i++) {
const script = fs.readFileSync(__dirname + '/../chromeProtocol/' + files[i].filename, 'utf8');
this.log(`Injecting '${files[i].engine}:${files[i].filename}'`);
edgeAdapter.injectScriptTo(instanceId, files[i].engine, files[i].filename, script);
}
}
private getEdgeJson(host: string | string[]): IChromeInstance[] {
const chromeInstances: IChromeInstance[] = [];
const map = new Map<string, string>();
const instances = edgeAdapter.getEdgeInstances();
if (this._diagLogging) {
console.log("Edge Instances:", instances);
}
for (let i = 0; i < instances.length; i++) {
// Get or generate a new guid
let guid: string = null;
if (!this._guidToIdMap.has(instances[i].id)) {
guid = this.createGuid();
} else {
guid = this._guidToIdMap.get(instances[i].id);
}
map.set(guid, instances[i].id);
map.set(instances[i].id, guid);
const websocket = `ws://${host}/devtools/page/${guid}`;
const devtools = `chrome-devtools://devtools/bundled/inspector.html?ws=${websocket.substr(5)}`;
// Generate the json description of this instance
chromeInstances.push({
description: instances[i].processName,
devtoolsFrontendUrl: devtools,
id: guid,
title: instances[i].title,
type: "page",
url: instances[i].url,
webSocketDebuggerUrl: websocket
});
}
// Reset the map to the new instances
this._guidToIdMap = map;
return chromeInstances;
}
private getEdgeVersionJson(): string {
// Todo: Currently Edge does not store it's UA string and there is no way to fetch the UA without loading Edge.
const userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586";
const version = {
"Browser": "Microsoft Edge 13",
"Protocol-Version": "1",
"User-Agent": userAgent,
"WebKit-Version": "0"
};
return JSON.stringify(version);
}
private getChromeProtocol(): string {
const script = fs.readFileSync(__dirname + '/../chromeProtocol/protocol.json', 'utf8');
return script;
}
private createGuid(): string {
const g: string = crypto.createHash('md5').update(Math.random().toString()).digest('hex').toUpperCase();
return `${g.substring(0, 8)}-${g.substring(9, 13)}-${g.substring(13, 17)}-${g.substring(17, 21)}-${g.substring(21, 31)}`
}
private extractParametersFromUrl(url: string): { url: string, paramChain: string } {
let parameters;
const closeUrl = '/json/close';
if (url.indexOf('/json/new') != -1) {
const urlSegements = url.split('?');
if (urlSegements.length > 1) {
url = urlSegements[0];
parameters = urlSegements[1];
}
} else if (url.indexOf(closeUrl) != -1) {
parameters = url.replace(`${closeUrl}/`, '');
url = url.slice(0, closeUrl.length);
}
return { url: url, paramChain: parameters };
}
private closeEdgeInstance(guid: string): boolean {
var edgeResult = false;
var networkProxyResult = false;
const id = this._guidToIdMap.get(guid.toLocaleUpperCase());
if (id) {
edgeResult = edgeAdapter.closeEdge(id);
const networkInstanceId = this._idToNetWorkProxyMap.get(id);
if (networkInstanceId) {
networkProxyResult = edgeAdapter.closeNetworkProxyInstance(networkInstanceId);
}
// tab is closed, clean all the mappings and close connections
let instanceId = this._idToEdgeMap.get(id);
const sockets = this._edgeToWSMap.get(instanceId)
if (sockets) {
for (let i = 0; i < sockets.length; i++) {
sockets[i].removeAllListeners();
sockets[i].close();
}
}
this._edgeToWSMap.delete(instanceId);
this._guidToIdMap.delete(guid.toLocaleUpperCase());
this._guidToIdMap.delete(id);
this._idToNetWorkProxyMap.delete(id);
this._idToNetWorkProxyMap.delete(networkInstanceId);
this._idToEdgeMap.delete(id);
}
return edgeResult && networkProxyResult;
}
}
}

Просмотреть файл

@ -1526,6 +1526,55 @@
],
"description": "Returns the root DOM node to the caller."
},
{
"name": "querySelector",
"parameters": [
{
"name": "nodeId",
"$ref": "NodeId",
"description": "Id of the node to query upon."
},
{
"name": "selector",
"type": "string",
"description": "Selector string."
}
],
"returns": [
{
"name": "nodeId",
"$ref": "NodeId",
"description": "Query selector result."
}
],
"description": "Executes <code>querySelector</code> on a given node."
},
{
"name": "querySelectorAll",
"parameters": [
{
"name": "nodeId",
"$ref": "NodeId",
"description": "Id of the node to query upon."
},
{
"name": "selector",
"type": "string",
"description": "Selector string."
}
],
"returns": [
{
"name": "nodeIds",
"type": "array",
"items": {
"$ref": "NodeId"
},
"description": "Query selector result."
}
],
"description": "Executes <code>querySelectorAll</code> on a given node."
},
{
"name": "getOuterHTML",
"parameters": [

Просмотреть файл

@ -2,8 +2,8 @@
// Copyright (C) Microsoft. All rights reserved.
//
import {argv} from 'yargs';
import {EdgeAdapter} from './adapterService/edgeAdapterService';
import { argv } from 'yargs';
import { EdgeAdapter } from './adapterService/edgeAdapterService';
if (argv.h || argv.help || argv["?"]) {
console.log("node edgeAdapter.js <options>");

Просмотреть файл

@ -1,17 +1,13 @@
{
"compilerOptions": {
"module": "commonjs",
"noImplicitAny": false,
"removeComments": false,
"target": "es5",
"sourceMap": true,
"outDir": "out"
},
"exclude": [
"native",
"node_modules",
"out",
"typings/browser",
"typings/browser.d.ts"
]
}
{
"compilerOptions": {
"module": "commonjs",
"noImplicitAny": false,
"removeComments": false,
"target": "es5",
"sourceMap": true,
"outDir": "out/src"
},
"include": [
"src"
]
}

Просмотреть файл

@ -1,7 +0,0 @@
{
"globalDependencies": {
"node": "registry:dt/node#4.0.0+20160423143914",
"ws": "registry:dt/ws#0.0.0+20160317120654",
"yargs": "registry:dt/yargs#0.0.0+20160326124407"
}
}