Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v10.0.0 #1405

Merged
merged 86 commits into from
Mar 22, 2023
Merged

v10.0.0 #1405

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
85ffe48
Input now uses CodeMirror editor
n1474335 Jun 29, 2022
bc949b4
Improved Controls CSS
n1474335 Jul 1, 2022
68733c7
Output now uses CodeMirror editor
n1474335 Jul 2, 2022
2785459
Merge branch 'master' into io-overhaul
n1474335 Jul 10, 2022
890f645
Overhauled Highlighting to work with new editor and support multiple …
n1474335 Jul 10, 2022
157dacb
Improved highlighting colours and selection ranges
n1474335 Jul 11, 2022
5c8aac5
Improved input change update responsiveness
n1474335 Jul 11, 2022
0dc2322
Fixed dropping text in the input
n1474335 Jul 11, 2022
7c8a185
HTML outputs can now be selected and handle control characters correctly
n1474335 Jul 18, 2022
e93aa42
Input and output character encodings can now be set
n1474335 Sep 2, 2022
16b79e3
File details are now displayed in a side panel and the input is still…
n1474335 Sep 2, 2022
406da9f
Efficiency improvements to reduce unnecessary casting
n1474335 Sep 2, 2022
3893c22
Changing the output encoding no longer triggers a full bake
n1474335 Sep 9, 2022
cd7156d
Merge branch 'master' into v10
n1474335 Sep 16, 2022
08b91fd
Removed ioDisplayThreshold option
n1474335 Sep 16, 2022
a141873
Highlighting now takes account of character set width
n1474335 Sep 16, 2022
a07b8f6
Input and Output character encodings are now stored in the URL, allow…
n1474335 Sep 16, 2022
01508a2
Merge branch 'master' into v10
n1474335 Oct 21, 2022
5efd125
Simplified TabWaiter structure
n1474335 Oct 21, 2022
bdb8c02
Input and Output encodings are now saved per tab
n1474335 Oct 21, 2022
f6ae895
EOL sequences are now preserved between tabs
n1474335 Oct 28, 2022
570206a
Line ending sequences for the current tab are included in the deep li…
n1474335 Oct 28, 2022
b92501e
Introduced use of conditional chaining operator
n1474335 Oct 28, 2022
09fd333
Fixed bug where input would not be loaded from deep links if a chrenc…
n1474335 Nov 4, 2022
44c7a1e
Output loading messages are displayed properly again
n1474335 Nov 4, 2022
61d4c0e
File loading progress is now updated
n1474335 Nov 4, 2022
a116a2a
Input tab headers now show the filename for file inputs
n1474335 Nov 4, 2022
c1d2970
File details can now be hidden
n1474335 Dec 9, 2022
2e201c7
Merge remote-tracking branch 'origin/master' into v10
n1474335 Dec 9, 2022
b354f61
Updated dependencies
n1474335 Dec 9, 2022
771a013
Removed output-file markup and handlers
n1474335 Dec 9, 2022
ff45f61
Fixed the snackbar
n1474335 Dec 9, 2022
1b3d55f
Status bar widgets are disabled for HTML output
n1474335 Dec 9, 2022
f2bd838
Fixed CSS for theme highlighting and status bar dropup height
n1474335 Jan 13, 2023
17c3499
Fixed file loading bug where the wrong input is set
n1474335 Jan 13, 2023
c1394e2
Fixed replace input with output button
n1474335 Jan 13, 2023
4e512a9
Updated dependencies
n1474335 Jan 13, 2023
e9d7a83
Removed treatAsUTF8 option
n1474335 Jan 13, 2023
d6159cc
Event bug fixes
n1474335 Jan 13, 2023
56d1a01
Tidied InputWaiter and made inputChange debounce delay variable based…
n1474335 Jan 13, 2023
91f1be8
Reviewed Input and Output Waiters and improved logging in workers
n1474335 Jan 18, 2023
934efcc
Reviewed InputWorker
n1474335 Jan 19, 2023
fa21768
Reviewed Highlighter and Options waiters
n1474335 Jan 19, 2023
84f0750
Reviewed HTML and options
n1474335 Jan 19, 2023
4e747b3
Use process.platform to detect OS during postinstall
ParkerM Jan 22, 2023
0b2cb7e
Added fine-grain timing for aspects of the bake. Improved efficiency …
n1474335 Feb 3, 2023
7a2517f
Fixed 'Clear All IO' button
n1474335 Feb 3, 2023
659325c
Improved performance of str/array buffer conversions
n1474335 Feb 3, 2023
533047a
Improved file type detection and timing output
n1474335 Feb 3, 2023
251bd86
Large inputs with long line lengths are now handled better. Issues wi…
n1474335 Feb 24, 2023
cdde716
Changing tabs no longer triggers a bake
n1474335 Feb 24, 2023
dd6eae5
Folders can now be dropped into the CyberChef input
n1474335 Feb 27, 2023
9e679f4
Fixed progress bug
n1474335 Feb 27, 2023
bf949c0
Fixed operational tests and updated some dependencies
n1474335 Feb 27, 2023
9cbf217
Fixed UI tests to work with new input and output areas
n1474335 Feb 27, 2023
046a091
Nightwatch test improvements
n1474335 Feb 27, 2023
5cfc1ab
Fixed XSS in TranslateDateTimeFormat
ntomoya Feb 28, 2023
0516022
Added initial input and output UI tests
n1474335 Mar 2, 2023
8c0e23e
Further IO tests added
n1474335 Mar 2, 2023
819e4a5
Added more tests, fixed length count bug and IO clearance bug
n1474335 Mar 3, 2023
73f5069
Added more IO tests and created browser test utils
n1474335 Mar 5, 2023
c5766c8
Further operation tests
n1474335 Mar 5, 2023
acc1df2
Merge branch 'fix-xss-datetime' of https://github.com/ntomoya/CyberCh…
n1474335 Mar 5, 2023
36aafb9
Added test for alert bar
n1474335 Mar 6, 2023
7eda2fd
Added UI tests for all HTML operations
n1474335 Mar 8, 2023
80e8b23
Improved HTML output sizing
n1474335 Mar 8, 2023
b9f2bdd
Added UI tests back into Github Actions scripts
n1474335 Mar 9, 2023
65e431b
Merge branch 'fix/postinstall-msys' of https://github.com/ParkerM/Cyb…
n1474335 Mar 9, 2023
bd16378
Fixed postinstall scipts to work on msys shells
n1474335 Mar 9, 2023
cab83ca
Switched arg layout to use flexbox instead of css grid
n1474335 Mar 9, 2023
5d3c66f
Removed call to cptable from NTHash operation
n1474335 Mar 9, 2023
61501a7
Updated dependencies and fixed some code scanning findings
n1474335 Mar 13, 2023
51e2b97
Updated CodeQL action
n1474335 Mar 13, 2023
ccea5cd
Fixed bad HTML filtering
n1474335 Mar 13, 2023
13e3dba
Removed LGTM badge from README
n1474335 Mar 13, 2023
a24fdf4
Regex improvements
n1474335 Mar 13, 2023
d9d6b7a
fix XSS in operation TranslateDateTimeFormat
mikecat Mar 17, 2023
ab283fc
use Utils.escapeHtml instead of manual escaping
mikecat Mar 17, 2023
d6f8e0a
Added a contextual help feature and started writing help descriptions
n1474335 Mar 17, 2023
7605d48
Fixed IO folder tests with unpredictable file ordering
n1474335 Mar 17, 2023
4c7fe14
Merge branch 'fix-translatedatetimeformat-xss' of https://github.com/…
n1474335 Mar 17, 2023
7419009
Added more help topics and added filetype detection to the 'save outp…
n1474335 Mar 20, 2023
ea56efa
Added Download pane
n1474335 Mar 21, 2023
c6569b7
Added compile message to master build chain
n1474335 Mar 22, 2023
92dada8
Final tweaks to download wording
n1474335 Mar 22, 2023
5d3302f
Added a few more UI tests
n1474335 Mar 22, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .eslintrc.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"parser": "@babel/eslint-parser",
"parserOptions": {
"ecmaVersion": 9,
"ecmaVersion": 2022,
"ecmaFeatures": {
"impliedStrict": true
},
Expand Down
7 changes: 7 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,18 @@ on:
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
types: [synchronize, opened, reopened]
schedule:
- cron: '22 17 * * 5'

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write

strategy:
fail-fast: false
Expand All @@ -31,3 +36,5 @@ jobs:

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
with:
category: "/language:${{matrix.language}}"
10 changes: 6 additions & 4 deletions .github/workflows/master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,14 +32,16 @@ jobs:

- name: Production Build
if: success()
run: npx grunt prod
run: npx grunt prod --msg="Version 10 is here! Read more about the new features <a href='https://github.com/gchq/CyberChef/wiki/Character-encoding,-EOL-separators,-and-editor-features'>here</a>"

- name: Generate sitemap
run: npx grunt exec:sitemap

# - name: UI Tests
# if: success()
# run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui
- name: UI Tests
if: success()
run: |
sudo apt-get install xvfb
xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui

- name: Prepare for GitHub Pages
if: success()
Expand Down
8 changes: 5 additions & 3 deletions .github/workflows/pull_requests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ jobs:
if: success()
run: npx grunt prod

# - name: UI Tests
# if: success()
# run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui
- name: UI Tests
if: success()
run: |
sudo apt-get install xvfb
xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui
8 changes: 5 additions & 3 deletions .github/workflows/releases.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,11 @@ jobs:
if: success()
run: npx grunt prod

# - name: UI Tests
# if: success()
# run: xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui
- name: UI Tests
if: success()
run: |
sudo apt-get install xvfb
xvfb-run --server-args="-screen 0 1200x800x24" npx grunt testui

- name: Upload Release Assets
if: success()
Expand Down
44 changes: 36 additions & 8 deletions Gruntfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ module.exports = function (grunt) {
"Creates a production-ready build. Use the --msg flag to add a compile message.",
[
"eslint", "clean:prod", "clean:config", "exec:generateConfig", "findModules", "webpack:web",
"copy:standalone", "zip:standalone", "clean:standalone", "chmod"
"copy:standalone", "zip:standalone", "clean:standalone", "exec:calcDownloadHash", "chmod"
]);

grunt.registerTask("node",
Expand Down Expand Up @@ -323,6 +323,22 @@ module.exports = function (grunt) {
}
},
exec: {
calcDownloadHash: {
command: function () {
switch (process.platform) {
case "darwin":
return chainCommands([
`shasum -a 256 build/prod/CyberChef_v${pkg.version}.zip | awk '{print $1;}' > build/prod/sha256digest.txt`,
`sed -i '' -e "s/DOWNLOAD_HASH_PLACEHOLDER/$(cat build/prod/sha256digest.txt)/" build/prod/index.html`
]);
default:
return chainCommands([
`sha256sum build/prod/CyberChef_v${pkg.version}.zip | awk '{print $1;}' > build/prod/sha256digest.txt`,
`sed -i -e "s/DOWNLOAD_HASH_PLACEHOLDER/$(cat build/prod/sha256digest.txt)/" build/prod/index.html`
]);
}
},
},
repoSize: {
command: chainCommands([
"git ls-files | wc -l | xargs printf '\n%b\ttracked files\n'",
Expand Down Expand Up @@ -390,13 +406,25 @@ module.exports = function (grunt) {
stdout: false,
},
fixCryptoApiImports: {
command: [
`[[ "$OSTYPE" == "darwin"* ]]`,
"&&",
`find ./node_modules/crypto-api/src/ \\( -type d -name .git -prune \\) -o -type f -print0 | xargs -0 sed -i '' -e '/\\.mjs/!s/\\(from "\\.[^"]*\\)";/\\1.mjs";/g'`,
"||",
`find ./node_modules/crypto-api/src/ \\( -type d -name .git -prune \\) -o -type f -print0 | xargs -0 sed -i -e '/\\.mjs/!s/\\(from "\\.[^"]*\\)";/\\1.mjs";/g'`
].join(" "),
command: function () {
switch (process.platform) {
case "darwin":
return `find ./node_modules/crypto-api/src/ \\( -type d -name .git -prune \\) -o -type f -print0 | xargs -0 sed -i '' -e '/\\.mjs/!s/\\(from "\\.[^"]*\\)";/\\1.mjs";/g'`;
default:
return `find ./node_modules/crypto-api/src/ \\( -type d -name .git -prune \\) -o -type f -print0 | xargs -0 sed -i -e '/\\.mjs/!s/\\(from "\\.[^"]*\\)";/\\1.mjs";/g'`;
}
},
stdout: false
},
fixSnackbarMarkup: {
command: function () {
switch (process.platform) {
case "darwin":
return `sed -i '' 's/<div id=snackbar-container\\/>/<div id=snackbar-container>/g' ./node_modules/snackbarjs/src/snackbar.js`;
default:
return `sed -i 's/<div id=snackbar-container\\/>/<div id=snackbar-container>/g' ./node_modules/snackbarjs/src/snackbar.js`;
}
},
stdout: false
}
},
Expand Down
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# CyberChef

[![](https://github.com/gchq/CyberChef/workflows/Master%20Build,%20Test%20&%20Deploy/badge.svg)](https://github.com/gchq/CyberChef/actions?query=workflow%3A%22Master+Build%2C+Test+%26+Deploy%22)
[![Language grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/gchq/CyberChef.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/gchq/CyberChef/context:javascript)
[![npm](https://img.shields.io/npm/v/cyberchef.svg)](https://www.npmjs.com/package/cyberchef)
[![](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/gchq/CyberChef/blob/master/LICENSE)
[![Gitter](https://badges.gitter.im/gchq/CyberChef.svg)](https://gitter.im/gchq/CyberChef?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
Expand Down
1 change: 1 addition & 0 deletions nightwatch.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"src_folders": ["tests/browser"],
"exclude": ["tests/browser/browserUtils.js"],
"output_folder": "tests/browser/output",

"test_settings": {
Expand Down
Loading