Repository files navigation

Code Pulse

LicenseGitHub releaseBuild statusCII Best PracticesGithub All ReleasesOWASP Labs

Code Pulse is a real-time code coverage tool. It works by monitoring Java or .NET Framework applications while they run, keeps track of coverage data, and shows you what's being called and when. Code Pulse currently supports Java programs up to Java 11, and .NET Framework programs for CLR versions 2 & 4.

Layout

agent/ Contains the Java tracer source.

bytefrog/ Contains the bytefrog source upon which the Java tracer depends.

codepulse/ Contains the web app source.

distrib/ Contains files that are used to package up the entirety of Code Pulse into a native app, using node-webkit in place of a browser, and jetty to run the server. All third party dependencies are downloaded automatically within SBT at package time.

dotnet-symbol-service/ Contains the .NET Symbol Service source upon which the .NET tracer depends.

dotnet-tracer/ Contains the .NET tracer source that is based on a custom version of OpenCover.

installers/ Contains the scripts to package the Code Pulse software for macOS, Linux, and Windows.

project/ Contains the SBT build definition.

Development Environment Setup

The following section describes steps necessary to build and run Code Pulse from source. If you want to download a pre-built version of Code Pulse to run, please visit our releases page for downloads.

Code Pulse lets you trace Java and .NET Framework applications. Use Windows to build a development environment that supports all Code Pulse features. If you are not interested in tracing .NET Framework applications, you can build a development environment on a different operating system by skipping the Windows-specific steps listed below.

  • Install .NET Core 3.1 SDK. The 3.1 version of the SDK can be downloaded from the official Microsoft website at https://www.microsoft.com/net/download.
  • [Windows Only] Enable .NET Framework 3.5 Windows feature. To enable this feature:
    • Run "appwiz.cpl" from the run command or start menu.
    • Select the "Turn Windows features on or off" option.
    • In the Windows Features popup, find and select the ".NET Framework 3.5" feature.
    • Allow Windows to update the operating system as needed to complete the operation.
  • [Windows Only] Install Windows SDK 10.0.16299.91. This version of the Windows SDK can be downloaded from the official Microsoft website's SDK archives at https://developer.microsoft.com/en-us/windows/downloads/sdk-archive
  • [Windows Only] Install Visual Studio 2017, including the C++ workload. The free community edition of Visual Studio is available at https://visualstudio.microsoft.com/vs/older-downloads/. When installing, select the .NET and C++ desktop development workloads.
  • [Windows Only] Install Wix Toolset 3.11. The 3.11 version of the Wix Toolset can be downloaded from the official Wix website at http://wixtoolset.org/releases/.
  • Install SBT 0.13.18. The 0.13.18 version of SBT can be downloaded from the official SBT website at https://www.scala-sbt.org/download.html.
  • Install AdoptOpenJDK OpenJ9 8. The Java JDK can be downloaded from https://adoptopenjdk.net/?variant=openjdk8&jvmVariant=openj9.
    • Create a "JAVA_HOME" environment variable. Set the value of this environment variable to the root location you installed the JDK to, such as "C:\Program Files\Java\jdk1.8.0_181".
    • Add to the PATH variable the value "%JAVA_HOME%\bin".
  • Install Git. Git can be downloaded from the official Git website at https://git-scm.com/downloads
  • Install PowerShell Core. Install PowerShell Core from https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell.
  • [Windows Only] Change Powershell script execution policy to allow local, unsigned scripts to run.
    • Start an elevated (administrator) command prompt.
    • Run pwsh from this command prompt.
    • Run the command "Set-ExecutionPolicy RemoteSigned"
  • Acquire Code Pulse source. Use your preferred Git client to download the Code Pulse source from https://github.com/codedx/codepulse.
  • [Windows Only] Package Code Pulse. Code Pulse uses Windows PowerShell to create Code Pulse releases for macOS, Linux, and Windows.
    • To build Code Pulse for installation: from Windows Powershell in the root Code Pulse directory that you git cloned to, run .\installers\build.ps1 with desired script parameter values to create packages for macOS, Linux, and Windows. You may provide the following switches to skip building for Linux, Mac, or Windows: "-skipLinux", "-skipMac", and "-skipWindows". Combine the switches as desired. For example: .\installers\build.ps1 -version 2.5.0 -skipMac -skipLinux

Note: If you don't want to run Code Pulse from the development environment, you can use the installers created by build.ps1 to install and run Code Pulse.

  • Run Code Pulse from the Development Environment - to run in development mode, where you can use a web browser to run and debug Code Pulse:
    • Start a terminal/command prompt and switch to the Code Pulse root directory
    • [Linux or macOS Only] Edit codepulse/src/main/resources/application.conf by switching systemSettings.symbolService.binary from "SymbolService.exe" to "SymbolService"
    • Run the "sbt" command from the Code Pulse root directory
    • Once sbt loads, enter the command "container:start" to start an instance of Code Pulse
    • Browse via web browser to localhost:8080
    • When you are finished, enter the command "container:stop" to do a clean tear down of Code Pulse

For more information, refer to the Code Pulse User Guide.

License

Code Pulse is made available under the terms of the Apache License 2.0. See the LICENSE file that accompanies this distribution for the full text of the license.

About

Code Pulse is a real-time code coverage tool for penetration testing activities

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Code Pulse

LicenseGitHub releaseBuild statusCII Best PracticesGithub All ReleasesOWASP Labs

Code Pulse is a real-time code coverage tool. It works by monitoring Java or .NET Framework applications while they run, keeps track of coverage data, and shows you what's being called and when. Code Pulse currently supports Java programs up to Java 11, and .NET Framework programs for CLR versions 2 & 4.

Layout

agent/ Contains the Java tracer source.

bytefrog/ Contains the bytefrog source upon which the Java tracer depends.

codepulse/ Contains the web app source.

distrib/ Contains files that are used to package up the entirety of Code Pulse into a native app, using node-webkit in place of a browser, and jetty to run the server. All third party dependencies are downloaded automatically within SBT at package time.

dotnet-symbol-service/ Contains the .NET Symbol Service source upon which the .NET tracer depends.

dotnet-tracer/ Contains the .NET tracer source that is based on a custom version of OpenCover.

installers/ Contains the scripts to package the Code Pulse software for macOS, Linux, and Windows.

project/ Contains the SBT build definition.

Development Environment Setup

The following section describes steps necessary to build and run Code Pulse from source. If you want to download a pre-built version of Code Pulse to run, please visit our releases page for downloads.

Code Pulse lets you trace Java and .NET Framework applications. Use Windows to build a development environment that supports all Code Pulse features. If you are not interested in tracing .NET Framework applications, you can build a development environment on a different operating system by skipping the Windows-specific steps listed below.

  • Install .NET Core 3.1 SDK. The 3.1 version of the SDK can be downloaded from the official Microsoft website at https://www.microsoft.com/net/download.
  • [Windows Only] Enable .NET Framework 3.5 Windows feature. To enable this feature:
    • Run "appwiz.cpl" from the run command or start menu.
    • Select the "Turn Windows features on or off" option.
    • In the Windows Features popup, find and select the ".NET Framework 3.5" feature.
    • Allow Windows to update the operating system as needed to complete the operation.
  • [Windows Only] Install Windows SDK 10.0.16299.91. This version of the Windows SDK can be downloaded from the official Microsoft website's SDK archives at https://developer.microsoft.com/en-us/windows/downloads/sdk-archive
  • [Windows Only] Install Visual Studio 2017, including the C++ workload. The free community edition of Visual Studio is available at https://visualstudio.microsoft.com/vs/older-downloads/. When installing, select the .NET and C++ desktop development workloads.
  • [Windows Only] Install Wix Toolset 3.11. The 3.11 version of the Wix Toolset can be downloaded from the official Wix website at http://wixtoolset.org/releases/.
  • Install SBT 0.13.18. The 0.13.18 version of SBT can be downloaded from the official SBT website at https://www.scala-sbt.org/download.html.
  • Install AdoptOpenJDK OpenJ9 8. The Java JDK can be downloaded from https://adoptopenjdk.net/?variant=openjdk8&jvmVariant=openj9.
    • Create a "JAVA_HOME" environment variable. Set the value of this environment variable to the root location you installed the JDK to, such as "C:\Program Files\Java\jdk1.8.0_181".
    • Add to the PATH variable the value "%JAVA_HOME%\bin".
  • Install Git. Git can be downloaded from the official Git website at https://git-scm.com/downloads
  • Install PowerShell Core. Install PowerShell Core from https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell.
  • [Windows Only] Change Powershell script execution policy to allow local, unsigned scripts to run.
    • Start an elevated (administrator) command prompt.
    • Run pwsh from this command prompt.
    • Run the command "Set-ExecutionPolicy RemoteSigned"
  • Acquire Code Pulse source. Use your preferred Git client to download the Code Pulse source from https://github.com/codedx/codepulse.
  • [Windows Only] Package Code Pulse. Code Pulse uses Windows PowerShell to create Code Pulse releases for macOS, Linux, and Windows.
    • To build Code Pulse for installation: from Windows Powershell in the root Code Pulse directory that you git cloned to, run .\installers\build.ps1 with desired script parameter values to create packages for macOS, Linux, and Windows. You may provide the following switches to skip building for Linux, Mac, or Windows: "-skipLinux", "-skipMac", and "-skipWindows". Combine the switches as desired. For example: .\installers\build.ps1 -version 2.5.0 -skipMac -skipLinux

Note: If you don't want to run Code Pulse from the development environment, you can use the installers created by build.ps1 to install and run Code Pulse.

  • Run Code Pulse from the Development Environment - to run in development mode, where you can use a web browser to run and debug Code Pulse:
    • Start a terminal/command prompt and switch to the Code Pulse root directory
    • [Linux or macOS Only] Edit codepulse/src/main/resources/application.conf by switching systemSettings.symbolService.binary from "SymbolService.exe" to "SymbolService"
    • Run the "sbt" command from the Code Pulse root directory
    • Once sbt loads, enter the command "container:start" to start an instance of Code Pulse
    • Browse via web browser to localhost:8080
    • When you are finished, enter the command "container:stop" to do a clean tear down of Code Pulse

For more information, refer to the Code Pulse User Guide.

License

Code Pulse is made available under the terms of the Apache License 2.0. See the LICENSE file that accompanies this distribution for the full text of the license.

About

Code Pulse is a real-time code coverage tool for penetration testing activities

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Code Pulse

LicenseGitHub releaseBuild statusCII Best PracticesGithub All ReleasesOWASP Labs

Code Pulse is a real-time code coverage tool. It works by monitoring Java or .NET Framework applications while they run, keeps track of coverage data, and shows you what's being called and when. Code Pulse currently supports Java programs up to Java 11, and .NET Framework programs for CLR versions 2 & 4.

Layout

agent/ Contains the Java tracer source.

bytefrog/ Contains the bytefrog source upon which the Java tracer depends.

codepulse/ Contains the web app source.

distrib/ Contains files that are used to package up the entirety of Code Pulse into a native app, using node-webkit in place of a browser, and jetty to run the server. All third party dependencies are downloaded automatically within SBT at package time.

dotnet-symbol-service/ Contains the .NET Symbol Service source upon which the .NET tracer depends.

dotnet-tracer/ Contains the .NET tracer source that is based on a custom version of OpenCover.

installers/ Contains the scripts to package the Code Pulse software for macOS, Linux, and Windows.

project/ Contains the SBT build definition.

Development Environment Setup

The following section describes steps necessary to build and run Code Pulse from source. If you want to download a pre-built version of Code Pulse to run, please visit our releases page for downloads.

Code Pulse lets you trace Java and .NET Framework applications. Use Windows to build a development environment that supports all Code Pulse features. If you are not interested in tracing .NET Framework applications, you can build a development environment on a different operating system by skipping the Windows-specific steps listed below.

  • Install .NET Core 3.1 SDK. The 3.1 version of the SDK can be downloaded from the official Microsoft website at https://www.microsoft.com/net/download.
  • [Windows Only] Enable .NET Framework 3.5 Windows feature. To enable this feature:
    • Run "appwiz.cpl" from the run command or start menu.
    • Select the "Turn Windows features on or off" option.
    • In the Windows Features popup, find and select the ".NET Framework 3.5" feature.
    • Allow Windows to update the operating system as needed to complete the operation.
  • [Windows Only] Install Windows SDK 10.0.16299.91. This version of the Windows SDK can be downloaded from the official Microsoft website's SDK archives at https://developer.microsoft.com/en-us/windows/downloads/sdk-archive
  • [Windows Only] Install Visual Studio 2017, including the C++ workload. The free community edition of Visual Studio is available at https://visualstudio.microsoft.com/vs/older-downloads/. When installing, select the .NET and C++ desktop development workloads.
  • [Windows Only] Install Wix Toolset 3.11. The 3.11 version of the Wix Toolset can be downloaded from the official Wix website at http://wixtoolset.org/releases/.
  • Install SBT 0.13.18. The 0.13.18 version of SBT can be downloaded from the official SBT website at https://www.scala-sbt.org/download.html.
  • Install AdoptOpenJDK OpenJ9 8. The Java JDK can be downloaded from https://adoptopenjdk.net/?variant=openjdk8&jvmVariant=openj9.
    • Create a "JAVA_HOME" environment variable. Set the value of this environment variable to the root location you installed the JDK to, such as "C:\Program Files\Java\jdk1.8.0_181".
    • Add to the PATH variable the value "%JAVA_HOME%\bin".
  • Install Git. Git can be downloaded from the official Git website at https://git-scm.com/downloads
  • Install PowerShell Core. Install PowerShell Core from https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell.
  • [Windows Only] Change Powershell script execution policy to allow local, unsigned scripts to run.
    • Start an elevated (administrator) command prompt.
    • Run pwsh from this command prompt.
    • Run the command "Set-ExecutionPolicy RemoteSigned"
  • Acquire Code Pulse source. Use your preferred Git client to download the Code Pulse source from https://github.com/codedx/codepulse.
  • [Windows Only] Package Code Pulse. Code Pulse uses Windows PowerShell to create Code Pulse releases for macOS, Linux, and Windows.
    • To build Code Pulse for installation: from Windows Powershell in the root Code Pulse directory that you git cloned to, run .\installers\build.ps1 with desired script parameter values to create packages for macOS, Linux, and Windows. You may provide the following switches to skip building for Linux, Mac, or Windows: "-skipLinux", "-skipMac", and "-skipWindows". Combine the switches as desired. For example: .\installers\build.ps1 -version 2.5.0 -skipMac -skipLinux

Note: If you don't want to run Code Pulse from the development environment, you can use the installers created by build.ps1 to install and run Code Pulse.

  • Run Code Pulse from the Development Environment - to run in development mode, where you can use a web browser to run and debug Code Pulse:
    • Start a terminal/command prompt and switch to the Code Pulse root directory
    • [Linux or macOS Only] Edit codepulse/src/main/resources/application.conf by switching systemSettings.symbolService.binary from "SymbolService.exe" to "SymbolService"
    • Run the "sbt" command from the Code Pulse root directory
    • Once sbt loads, enter the command "container:start" to start an instance of Code Pulse
    • Browse via web browser to localhost:8080
    • When you are finished, enter the command "container:stop" to do a clean tear down of Code Pulse

For more information, refer to the Code Pulse User Guide.

License

Code Pulse is made available under the terms of the Apache License 2.0. See the LICENSE file that accompanies this distribution for the full text of the license.

About

Code Pulse is a real-time code coverage tool for penetration testing activities

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Code Pulse

LicenseGitHub releaseBuild statusCII Best PracticesGithub All ReleasesOWASP Labs

Code Pulse is a real-time code coverage tool. It works by monitoring Java or .NET Framework applications while they run, keeps track of coverage data, and shows you what's being called and when. Code Pulse currently supports Java programs up to Java 11, and .NET Framework programs for CLR versions 2 & 4.

Layout

agent/ Contains the Java tracer source.

bytefrog/ Contains the bytefrog source upon which the Java tracer depends.

codepulse/ Contains the web app source.

distrib/ Contains files that are used to package up the entirety of Code Pulse into a native app, using node-webkit in place of a browser, and jetty to run the server. All third party dependencies are downloaded automatically within SBT at package time.

dotnet-symbol-service/ Contains the .NET Symbol Service source upon which the .NET tracer depends.

dotnet-tracer/ Contains the .NET tracer source that is based on a custom version of OpenCover.

installers/ Contains the scripts to package the Code Pulse software for macOS, Linux, and Windows.

project/ Contains the SBT build definition.

Development Environment Setup

The following section describes steps necessary to build and run Code Pulse from source. If you want to download a pre-built version of Code Pulse to run, please visit our releases page for downloads.

Code Pulse lets you trace Java and .NET Framework applications. Use Windows to build a development environment that supports all Code Pulse features. If you are not interested in tracing .NET Framework applications, you can build a development environment on a different operating system by skipping the Windows-specific steps listed below.

  • Install .NET Core 3.1 SDK. The 3.1 version of the SDK can be downloaded from the official Microsoft website at https://www.microsoft.com/net/download.
  • [Windows Only] Enable .NET Framework 3.5 Windows feature. To enable this feature:
    • Run "appwiz.cpl" from the run command or start menu.
    • Select the "Turn Windows features on or off" option.
    • In the Windows Features popup, find and select the ".NET Framework 3.5" feature.
    • Allow Windows to update the operating system as needed to complete the operation.
  • [Windows Only] Install Windows SDK 10.0.16299.91. This version of the Windows SDK can be downloaded from the official Microsoft website's SDK archives at https://developer.microsoft.com/en-us/windows/downloads/sdk-archive
  • [Windows Only] Install Visual Studio 2017, including the C++ workload. The free community edition of Visual Studio is available at https://visualstudio.microsoft.com/vs/older-downloads/. When installing, select the .NET and C++ desktop development workloads.
  • [Windows Only] Install Wix Toolset 3.11. The 3.11 version of the Wix Toolset can be downloaded from the official Wix website at http://wixtoolset.org/releases/.
  • Install SBT 0.13.18. The 0.13.18 version of SBT can be downloaded from the official SBT website at https://www.scala-sbt.org/download.html.
  • Install AdoptOpenJDK OpenJ9 8. The Java JDK can be downloaded from https://adoptopenjdk.net/?variant=openjdk8&jvmVariant=openj9.
    • Create a "JAVA_HOME" environment variable. Set the value of this environment variable to the root location you installed the JDK to, such as "C:\Program Files\Java\jdk1.8.0_181".
    • Add to the PATH variable the value "%JAVA_HOME%\bin".
  • Install Git. Git can be downloaded from the official Git website at https://git-scm.com/downloads
  • Install PowerShell Core. Install PowerShell Core from https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell.
  • [Windows Only] Change Powershell script execution policy to allow local, unsigned scripts to run.
    • Start an elevated (administrator) command prompt.
    • Run pwsh from this command prompt.
    • Run the command "Set-ExecutionPolicy RemoteSigned"
  • Acquire Code Pulse source. Use your preferred Git client to download the Code Pulse source from https://github.com/codedx/codepulse.
  • [Windows Only] Package Code Pulse. Code Pulse uses Windows PowerShell to create Code Pulse releases for macOS, Linux, and Windows.
    • To build Code Pulse for installation: from Windows Powershell in the root Code Pulse directory that you git cloned to, run .\installers\build.ps1 with desired script parameter values to create packages for macOS, Linux, and Windows. You may provide the following switches to skip building for Linux, Mac, or Windows: "-skipLinux", "-skipMac", and "-skipWindows". Combine the switches as desired. For example: .\installers\build.ps1 -version 2.5.0 -skipMac -skipLinux

Note: If you don't want to run Code Pulse from the development environment, you can use the installers created by build.ps1 to install and run Code Pulse.

  • Run Code Pulse from the Development Environment - to run in development mode, where you can use a web browser to run and debug Code Pulse:
    • Start a terminal/command prompt and switch to the Code Pulse root directory
    • [Linux or macOS Only] Edit codepulse/src/main/resources/application.conf by switching systemSettings.symbolService.binary from "SymbolService.exe" to "SymbolService"
    • Run the "sbt" command from the Code Pulse root directory
    • Once sbt loads, enter the command "container:start" to start an instance of Code Pulse
    • Browse via web browser to localhost:8080
    • When you are finished, enter the command "container:stop" to do a clean tear down of Code Pulse

For more information, refer to the Code Pulse User Guide.

License

Code Pulse is made available under the terms of the Apache License 2.0. See the LICENSE file that accompanies this distribution for the full text of the license.

About

Code Pulse is a real-time code coverage tool for penetration testing activities

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Code Pulse

LicenseGitHub releaseBuild statusCII Best PracticesGithub All ReleasesOWASP Labs

Code Pulse is a real-time code coverage tool. It works by monitoring Java or .NET Framework applications while they run, keeps track of coverage data, and shows you what's being called and when. Code Pulse currently supports Java programs up to Java 11, and .NET Framework programs for CLR versions 2 & 4.

Layout

agent/ Contains the Java tracer source.

bytefrog/ Contains the bytefrog source upon which the Java tracer depends.

codepulse/ Contains the web app source.

distrib/ Contains files that are used to package up the entirety of Code Pulse into a native app, using node-webkit in place of a browser, and jetty to run the server. All third party dependencies are downloaded automatically within SBT at package time.

dotnet-symbol-service/ Contains the .NET Symbol Service source upon which the .NET tracer depends.

dotnet-tracer/ Contains the .NET tracer source that is based on a custom version of OpenCover.

installers/ Contains the scripts to package the Code Pulse software for macOS, Linux, and Windows.

project/ Contains the SBT build definition.

Development Environment Setup

The following section describes steps necessary to build and run Code Pulse from source. If you want to download a pre-built version of Code Pulse to run, please visit our releases page for downloads.

Code Pulse lets you trace Java and .NET Framework applications. Use Windows to build a development environment that supports all Code Pulse features. If you are not interested in tracing .NET Framework applications, you can build a development environment on a different operating system by skipping the Windows-specific steps listed below.

  • Install .NET Core 3.1 SDK. The 3.1 version of the SDK can be downloaded from the official Microsoft website at https://www.microsoft.com/net/download.
  • [Windows Only] Enable .NET Framework 3.5 Windows feature. To enable this feature:
    • Run "appwiz.cpl" from the run command or start menu.
    • Select the "Turn Windows features on or off" option.
    • In the Windows Features popup, find and select the ".NET Framework 3.5" feature.
    • Allow Windows to update the operating system as needed to complete the operation.
  • [Windows Only] Install Windows SDK 10.0.16299.91. This version of the Windows SDK can be downloaded from the official Microsoft website's SDK archives at https://developer.microsoft.com/en-us/windows/downloads/sdk-archive
  • [Windows Only] Install Visual Studio 2017, including the C++ workload. The free community edition of Visual Studio is available at https://visualstudio.microsoft.com/vs/older-downloads/. When installing, select the .NET and C++ desktop development workloads.
  • [Windows Only] Install Wix Toolset 3.11. The 3.11 version of the Wix Toolset can be downloaded from the official Wix website at http://wixtoolset.org/releases/.
  • Install SBT 0.13.18. The 0.13.18 version of SBT can be downloaded from the official SBT website at https://www.scala-sbt.org/download.html.
  • Install AdoptOpenJDK OpenJ9 8. The Java JDK can be downloaded from https://adoptopenjdk.net/?variant=openjdk8&jvmVariant=openj9.
    • Create a "JAVA_HOME" environment variable. Set the value of this environment variable to the root location you installed the JDK to, such as "C:\Program Files\Java\jdk1.8.0_181".
    • Add to the PATH variable the value "%JAVA_HOME%\bin".
  • Install Git. Git can be downloaded from the official Git website at https://git-scm.com/downloads
  • Install PowerShell Core. Install PowerShell Core from https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell.
  • [Windows Only] Change Powershell script execution policy to allow local, unsigned scripts to run.
    • Start an elevated (administrator) command prompt.
    • Run pwsh from this command prompt.
    • Run the command "Set-ExecutionPolicy RemoteSigned"
  • Acquire Code Pulse source. Use your preferred Git client to download the Code Pulse source from https://github.com/codedx/codepulse.
  • [Windows Only] Package Code Pulse. Code Pulse uses Windows PowerShell to create Code Pulse releases for macOS, Linux, and Windows.
    • To build Code Pulse for installation: from Windows Powershell in the root Code Pulse directory that you git cloned to, run .\installers\build.ps1 with desired script parameter values to create packages for macOS, Linux, and Windows. You may provide the following switches to skip building for Linux, Mac, or Windows: "-skipLinux", "-skipMac", and "-skipWindows". Combine the switches as desired. For example: .\installers\build.ps1 -version 2.5.0 -skipMac -skipLinux

Note: If you don't want to run Code Pulse from the development environment, you can use the installers created by build.ps1 to install and run Code Pulse.

  • Run Code Pulse from the Development Environment - to run in development mode, where you can use a web browser to run and debug Code Pulse:
    • Start a terminal/command prompt and switch to the Code Pulse root directory
    • [Linux or macOS Only] Edit codepulse/src/main/resources/application.conf by switching systemSettings.symbolService.binary from "SymbolService.exe" to "SymbolService"
    • Run the "sbt" command from the Code Pulse root directory
    • Once sbt loads, enter the command "container:start" to start an instance of Code Pulse
    • Browse via web browser to localhost:8080
    • When you are finished, enter the command "container:stop" to do a clean tear down of Code Pulse

For more information, refer to the Code Pulse User Guide.

License

Code Pulse is made available under the terms of the Apache License 2.0. See the LICENSE file that accompanies this distribution for the full text of the license.

About

Code Pulse is a real-time code coverage tool for penetration testing activities

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Code Pulse

LicenseGitHub releaseBuild statusCII Best PracticesGithub All ReleasesOWASP Labs

Code Pulse is a real-time code coverage tool. It works by monitoring Java or .NET Framework applications while they run, keeps track of coverage data, and shows you what's being called and when. Code Pulse currently supports Java programs up to Java 11, and .NET Framework programs for CLR versions 2 & 4.

Layout

agent/ Contains the Java tracer source.

bytefrog/ Contains the bytefrog source upon which the Java tracer depends.

codepulse/ Contains the web app source.

distrib/ Contains files that are used to package up the entirety of Code Pulse into a native app, using node-webkit in place of a browser, and jetty to run the server. All third party dependencies are downloaded automatically within SBT at package time.

dotnet-symbol-service/ Contains the .NET Symbol Service source upon which the .NET tracer depends.

dotnet-tracer/ Contains the .NET tracer source that is based on a custom version of OpenCover.

installers/ Contains the scripts to package the Code Pulse software for macOS, Linux, and Windows.

project/ Contains the SBT build definition.

Development Environment Setup

The following section describes steps necessary to build and run Code Pulse from source. If you want to download a pre-built version of Code Pulse to run, please visit our releases page for downloads.

Code Pulse lets you trace Java and .NET Framework applications. Use Windows to build a development environment that supports all Code Pulse features. If you are not interested in tracing .NET Framework applications, you can build a development environment on a different operating system by skipping the Windows-specific steps listed below.

  • Install .NET Core 3.1 SDK. The 3.1 version of the SDK can be downloaded from the official Microsoft website at https://www.microsoft.com/net/download.
  • [Windows Only] Enable .NET Framework 3.5 Windows feature. To enable this feature:
    • Run "appwiz.cpl" from the run command or start menu.
    • Select the "Turn Windows features on or off" option.
    • In the Windows Features popup, find and select the ".NET Framework 3.5" feature.
    • Allow Windows to update the operating system as needed to complete the operation.
  • [Windows Only] Install Windows SDK 10.0.16299.91. This version of the Windows SDK can be downloaded from the official Microsoft website's SDK archives at https://developer.microsoft.com/en-us/windows/downloads/sdk-archive
  • [Windows Only] Install Visual Studio 2017, including the C++ workload. The free community edition of Visual Studio is available at https://visualstudio.microsoft.com/vs/older-downloads/. When installing, select the .NET and C++ desktop development workloads.
  • [Windows Only] Install Wix Toolset 3.11. The 3.11 version of the Wix Toolset can be downloaded from the official Wix website at http://wixtoolset.org/releases/.
  • Install SBT 0.13.18. The 0.13.18 version of SBT can be downloaded from the official SBT website at https://www.scala-sbt.org/download.html.
  • Install AdoptOpenJDK OpenJ9 8. The Java JDK can be downloaded from https://adoptopenjdk.net/?variant=openjdk8&jvmVariant=openj9.
    • Create a "JAVA_HOME" environment variable. Set the value of this environment variable to the root location you installed the JDK to, such as "C:\Program Files\Java\jdk1.8.0_181".
    • Add to the PATH variable the value "%JAVA_HOME%\bin".
  • Install Git. Git can be downloaded from the official Git website at https://git-scm.com/downloads
  • Install PowerShell Core. Install PowerShell Core from https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell.
  • [Windows Only] Change Powershell script execution policy to allow local, unsigned scripts to run.
    • Start an elevated (administrator) command prompt.
    • Run pwsh from this command prompt.
    • Run the command "Set-ExecutionPolicy RemoteSigned"
  • Acquire Code Pulse source. Use your preferred Git client to download the Code Pulse source from https://github.com/codedx/codepulse.
  • [Windows Only] Package Code Pulse. Code Pulse uses Windows PowerShell to create Code Pulse releases for macOS, Linux, and Windows.
    • To build Code Pulse for installation: from Windows Powershell in the root Code Pulse directory that you git cloned to, run .\installers\build.ps1 with desired script parameter values to create packages for macOS, Linux, and Windows. You may provide the following switches to skip building for Linux, Mac, or Windows: "-skipLinux", "-skipMac", and "-skipWindows". Combine the switches as desired. For example: .\installers\build.ps1 -version 2.5.0 -skipMac -skipLinux

Note: If you don't want to run Code Pulse from the development environment, you can use the installers created by build.ps1 to install and run Code Pulse.

  • Run Code Pulse from the Development Environment - to run in development mode, where you can use a web browser to run and debug Code Pulse:
    • Start a terminal/command prompt and switch to the Code Pulse root directory
    • [Linux or macOS Only] Edit codepulse/src/main/resources/application.conf by switching systemSettings.symbolService.binary from "SymbolService.exe" to "SymbolService"
    • Run the "sbt" command from the Code Pulse root directory
    • Once sbt loads, enter the command "container:start" to start an instance of Code Pulse
    • Browse via web browser to localhost:8080
    • When you are finished, enter the command "container:stop" to do a clean tear down of Code Pulse

For more information, refer to the Code Pulse User Guide.

License

Code Pulse is made available under the terms of the Apache License 2.0. See the LICENSE file that accompanies this distribution for the full text of the license.

About

Code Pulse is a real-time code coverage tool for penetration testing activities

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Code Pulse

LicenseGitHub releaseBuild statusCII Best PracticesGithub All ReleasesOWASP Labs

Code Pulse is a real-time code coverage tool. It works by monitoring Java or .NET Framework applications while they run, keeps track of coverage data, and shows you what's being called and when. Code Pulse currently supports Java programs up to Java 11, and .NET Framework programs for CLR versions 2 & 4.

Layout

agent/ Contains the Java tracer source.

bytefrog/ Contains the bytefrog source upon which the Java tracer depends.

codepulse/ Contains the web app source.

distrib/ Contains files that are used to package up the entirety of Code Pulse into a native app, using node-webkit in place of a browser, and jetty to run the server. All third party dependencies are downloaded automatically within SBT at package time.

dotnet-symbol-service/ Contains the .NET Symbol Service source upon which the .NET tracer depends.

dotnet-tracer/ Contains the .NET tracer source that is based on a custom version of OpenCover.

installers/ Contains the scripts to package the Code Pulse software for macOS, Linux, and Windows.

project/ Contains the SBT build definition.

Development Environment Setup

The following section describes steps necessary to build and run Code Pulse from source. If you want to download a pre-built version of Code Pulse to run, please visit our releases page for downloads.

Code Pulse lets you trace Java and .NET Framework applications. Use Windows to build a development environment that supports all Code Pulse features. If you are not interested in tracing .NET Framework applications, you can build a development environment on a different operating system by skipping the Windows-specific steps listed below.

  • Install .NET Core 3.1 SDK. The 3.1 version of the SDK can be downloaded from the official Microsoft website at https://www.microsoft.com/net/download.
  • [Windows Only] Enable .NET Framework 3.5 Windows feature. To enable this feature:
    • Run "appwiz.cpl" from the run command or start menu.
    • Select the "Turn Windows features on or off" option.
    • In the Windows Features popup, find and select the ".NET Framework 3.5" feature.
    • Allow Windows to update the operating system as needed to complete the operation.
  • [Windows Only] Install Windows SDK 10.0.16299.91. This version of the Windows SDK can be downloaded from the official Microsoft website's SDK archives at https://developer.microsoft.com/en-us/windows/downloads/sdk-archive
  • [Windows Only] Install Visual Studio 2017, including the C++ workload. The free community edition of Visual Studio is available at https://visualstudio.microsoft.com/vs/older-downloads/. When installing, select the .NET and C++ desktop development workloads.
  • [Windows Only] Install Wix Toolset 3.11. The 3.11 version of the Wix Toolset can be downloaded from the official Wix website at http://wixtoolset.org/releases/.
  • Install SBT 0.13.18. The 0.13.18 version of SBT can be downloaded from the official SBT website at https://www.scala-sbt.org/download.html.
  • Install AdoptOpenJDK OpenJ9 8. The Java JDK can be downloaded from https://adoptopenjdk.net/?variant=openjdk8&jvmVariant=openj9.
    • Create a "JAVA_HOME" environment variable. Set the value of this environment variable to the root location you installed the JDK to, such as "C:\Program Files\Java\jdk1.8.0_181".
    • Add to the PATH variable the value "%JAVA_HOME%\bin".
  • Install Git. Git can be downloaded from the official Git website at https://git-scm.com/downloads
  • Install PowerShell Core. Install PowerShell Core from https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell.
  • [Windows Only] Change Powershell script execution policy to allow local, unsigned scripts to run.
    • Start an elevated (administrator) command prompt.
    • Run pwsh from this command prompt.
    • Run the command "Set-ExecutionPolicy RemoteSigned"
  • Acquire Code Pulse source. Use your preferred Git client to download the Code Pulse source from https://github.com/codedx/codepulse.
  • [Windows Only] Package Code Pulse. Code Pulse uses Windows PowerShell to create Code Pulse releases for macOS, Linux, and Windows.
    • To build Code Pulse for installation: from Windows Powershell in the root Code Pulse directory that you git cloned to, run .\installers\build.ps1 with desired script parameter values to create packages for macOS, Linux, and Windows. You may provide the following switches to skip building for Linux, Mac, or Windows: "-skipLinux", "-skipMac", and "-skipWindows". Combine the switches as desired. For example: .\installers\build.ps1 -version 2.5.0 -skipMac -skipLinux

Note: If you don't want to run Code Pulse from the development environment, you can use the installers created by build.ps1 to install and run Code Pulse.

  • Run Code Pulse from the Development Environment - to run in development mode, where you can use a web browser to run and debug Code Pulse:
    • Start a terminal/command prompt and switch to the Code Pulse root directory
    • [Linux or macOS Only] Edit codepulse/src/main/resources/application.conf by switching systemSettings.symbolService.binary from "SymbolService.exe" to "SymbolService"
    • Run the "sbt" command from the Code Pulse root directory
    • Once sbt loads, enter the command "container:start" to start an instance of Code Pulse
    • Browse via web browser to localhost:8080
    • When you are finished, enter the command "container:stop" to do a clean tear down of Code Pulse

For more information, refer to the Code Pulse User Guide.

License

Code Pulse is made available under the terms of the Apache License 2.0. See the LICENSE file that accompanies this distribution for the full text of the license.

About

Code Pulse is a real-time code coverage tool for penetration testing activities

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Code Pulse

LicenseGitHub releaseBuild statusCII Best PracticesGithub All ReleasesOWASP Labs

Code Pulse is a real-time code coverage tool. It works by monitoring Java or .NET Framework applications while they run, keeps track of coverage data, and shows you what's being called and when. Code Pulse currently supports Java programs up to Java 11, and .NET Framework programs for CLR versions 2 & 4.

Layout

agent/ Contains the Java tracer source.

bytefrog/ Contains the bytefrog source upon which the Java tracer depends.

codepulse/ Contains the web app source.

distrib/ Contains files that are used to package up the entirety of Code Pulse into a native app, using node-webkit in place of a browser, and jetty to run the server. All third party dependencies are downloaded automatically within SBT at package time.

dotnet-symbol-service/ Contains the .NET Symbol Service source upon which the .NET tracer depends.

dotnet-tracer/ Contains the .NET tracer source that is based on a custom version of OpenCover.

installers/ Contains the scripts to package the Code Pulse software for macOS, Linux, and Windows.

project/ Contains the SBT build definition.

Development Environment Setup

The following section describes steps necessary to build and run Code Pulse from source. If you want to download a pre-built version of Code Pulse to run, please visit our releases page for downloads.

Code Pulse lets you trace Java and .NET Framework applications. Use Windows to build a development environment that supports all Code Pulse features. If you are not interested in tracing .NET Framework applications, you can build a development environment on a different operating system by skipping the Windows-specific steps listed below.

  • Install .NET Core 3.1 SDK. The 3.1 version of the SDK can be downloaded from the official Microsoft website at https://www.microsoft.com/net/download.
  • [Windows Only] Enable .NET Framework 3.5 Windows feature. To enable this feature:
    • Run "appwiz.cpl" from the run command or start menu.
    • Select the "Turn Windows features on or off" option.
    • In the Windows Features popup, find and select the ".NET Framework 3.5" feature.
    • Allow Windows to update the operating system as needed to complete the operation.
  • [Windows Only] Install Windows SDK 10.0.16299.91. This version of the Windows SDK can be downloaded from the official Microsoft website's SDK archives at https://developer.microsoft.com/en-us/windows/downloads/sdk-archive
  • [Windows Only] Install Visual Studio 2017, including the C++ workload. The free community edition of Visual Studio is available at https://visualstudio.microsoft.com/vs/older-downloads/. When installing, select the .NET and C++ desktop development workloads.
  • [Windows Only] Install Wix Toolset 3.11. The 3.11 version of the Wix Toolset can be downloaded from the official Wix website at http://wixtoolset.org/releases/.
  • Install SBT 0.13.18. The 0.13.18 version of SBT can be downloaded from the official SBT website at https://www.scala-sbt.org/download.html.
  • Install AdoptOpenJDK OpenJ9 8. The Java JDK can be downloaded from https://adoptopenjdk.net/?variant=openjdk8&jvmVariant=openj9.
    • Create a "JAVA_HOME" environment variable. Set the value of this environment variable to the root location you installed the JDK to, such as "C:\Program Files\Java\jdk1.8.0_181".
    • Add to the PATH variable the value "%JAVA_HOME%\bin".
  • Install Git. Git can be downloaded from the official Git website at https://git-scm.com/downloads
  • Install PowerShell Core. Install PowerShell Core from https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell.
  • [Windows Only] Change Powershell script execution policy to allow local, unsigned scripts to run.
    • Start an elevated (administrator) command prompt.
    • Run pwsh from this command prompt.
    • Run the command "Set-ExecutionPolicy RemoteSigned"
  • Acquire Code Pulse source. Use your preferred Git client to download the Code Pulse source from https://github.com/codedx/codepulse.
  • [Windows Only] Package Code Pulse. Code Pulse uses Windows PowerShell to create Code Pulse releases for macOS, Linux, and Windows.
    • To build Code Pulse for installation: from Windows Powershell in the root Code Pulse directory that you git cloned to, run .\installers\build.ps1 with desired script parameter values to create packages for macOS, Linux, and Windows. You may provide the following switches to skip building for Linux, Mac, or Windows: "-skipLinux", "-skipMac", and "-skipWindows". Combine the switches as desired. For example: .\installers\build.ps1 -version 2.5.0 -skipMac -skipLinux

Note: If you don't want to run Code Pulse from the development environment, you can use the installers created by build.ps1 to install and run Code Pulse.

  • Run Code Pulse from the Development Environment - to run in development mode, where you can use a web browser to run and debug Code Pulse:
    • Start a terminal/command prompt and switch to the Code Pulse root directory
    • [Linux or macOS Only] Edit codepulse/src/main/resources/application.conf by switching systemSettings.symbolService.binary from "SymbolService.exe" to "SymbolService"
    • Run the "sbt" command from the Code Pulse root directory
    • Once sbt loads, enter the command "container:start" to start an instance of Code Pulse
    • Browse via web browser to localhost:8080
    • When you are finished, enter the command "container:stop" to do a clean tear down of Code Pulse

For more information, refer to the Code Pulse User Guide.

License

Code Pulse is made available under the terms of the Apache License 2.0. See the LICENSE file that accompanies this distribution for the full text of the license.

About

Code Pulse is a real-time code coverage tool for penetration testing activities

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages