diff --git a/.github/workflows/codecov.yml b/.github/workflows/codecov.yml index cda26870..a36dd3a6 100644 --- a/.github/workflows/codecov.yml +++ b/.github/workflows/codecov.yml @@ -40,7 +40,7 @@ jobs: - name: Codecov # You may pin to the exact commit or the version. # uses: codecov/codecov-action@81cd2dc8148241f03f5839d295e000b8f761e378 - uses: codecov/codecov-action@v3 + uses: codecov/codecov-action@v4 with: # Repository upload token - get it from codecov.io. Required only for private repositories token: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/rasp-runner.yml b/.github/workflows/rasp-runner.yml index 1f913d60..4cd37a9b 100644 --- a/.github/workflows/rasp-runner.yml +++ b/.github/workflows/rasp-runner.yml @@ -36,4 +36,4 @@ jobs: uses: actions/upload-artifact@v3 with: name: Debian Bundle - path: ${{ github.workspace }}/target/release/bundle/deb/raspirus_1.0.0_arm64.deb + path: ${{ github.workspace }}/target/release/bundle/deb/raspirus_1.1.0_arm64.deb diff --git a/CHANGELOG.md b/CHANGELOG.md index dae248c5..0af40cc5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,6 +38,7 @@ Our release schedule is designed to balance feature development, stability, and | 0.1.7 | BETA: Dependency update | | 1.1.8 | BETA: Moving dependabot to renovate | | 1.0.0 | First full release with a working product | +| 1.1.0 | Added compressed file scanning functionality | Please refer to this change log for details on each version's changes and improvements. We appreciate your feedback and contributions as we continue to enhance our antivirus application to meet your security needs. \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index c62bc0e2..ebe14b4d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -154,9 +154,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.3" +version = "0.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "414dcefbc63d77c526a76b3afcf6fbb9b5e2791c19c3aa2297733208750c6e53" +checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" [[package]] name = "base64ct" @@ -298,7 +298,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "599aa35200ffff8f04c1925aa1acc92fa2e08874379ef42e210a80e527e60838" dependencies = [ "serde", - "toml 0.7.7", + "toml 0.7.8", ] [[package]] @@ -355,9 +355,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.30" +version = "0.4.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "defd4e7873dbddba6c7c91e199c7fcb946abc4a6a4ac3195400bcfb01b5de877" +checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" dependencies = [ "android-tzdata", "iana-time-zone", @@ -770,7 +770,7 @@ checksum = "fd0a2c9b742a980060d22545a7a83b573acd6b73045b9de6370c9530ce652f27" dependencies = [ "cc", "rustc_version", - "toml 0.7.7", + "toml 0.7.8", "vswhom", "winreg 0.51.0", ] @@ -1760,15 +1760,9 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" - -[[package]] -name = "linux-raw-sys" -version = "0.4.5" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503" +checksum = "1a9bad9f94746442c783ca431b22403b519cd7fbeed0533fdd6328b2f2212128" [[package]] name = "lock_api" @@ -2375,7 +2369,7 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bdc0001cfea3db57a2e24bc0d818e9e20e554b5f97fabb9bc231dc240269ae06" dependencies = [ - "base64 0.21.3", + "base64 0.21.4", "indexmap 1.9.3", "line-wrap", "quick-xml", @@ -2558,7 +2552,7 @@ dependencies = [ [[package]] name = "raspirus" -version = "1.0.0" +version = "1.1.0" dependencies = [ "chrono", "ctor 0.2.4", @@ -2691,7 +2685,7 @@ version = "0.11.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e9ad3fe7488d7e34558a2033d45a0c90b72d97b4f80705666fea71472e2e6a1" dependencies = [ - "base64 0.21.3", + "base64 0.21.4", "bytes", "encoding_rs", "futures-core", @@ -2777,28 +2771,14 @@ dependencies = [ [[package]] name = "rustix" -version = "0.37.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06" -dependencies = [ - "bitflags 1.3.2", - "errno", - "io-lifetimes", - "libc", - "linux-raw-sys 0.3.8", - "windows-sys", -] - -[[package]] -name = "rustix" -version = "0.38.11" +version = "0.38.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0c3dde1fc030af041adc40e79c0e7fbcf431dd24870053d187d7c66e4b87453" +checksum = "bdf14a7a466ce88b5eac3da815b53aefc208ce7e74d1c263aabb04d88c4abeb1" dependencies = [ "bitflags 2.4.0", "errno", "libc", - "linux-raw-sys 0.4.5", + "linux-raw-sys", "windows-sys", ] @@ -2924,9 +2904,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.105" +version = "1.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360" +checksum = "2cc66a619ed80bf7a0f6b17dd063a84b88f6dea1813737cf469aef1d081142c2" dependencies = [ "itoa 1.0.9", "ryu", @@ -2971,7 +2951,7 @@ version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ca3b16a3d82c4088f343b7480a93550b3eabe1a358569c2dfe38bbcead07237" dependencies = [ - "base64 0.21.3", + "base64 0.21.4", "chrono", "hex", "indexmap 1.9.3", @@ -3255,7 +3235,7 @@ dependencies = [ "cfg-expr 0.15.5", "heck 0.4.1", "pkg-config", - "toml 0.7.7", + "toml 0.7.8", "version-compare 0.1.1", ] @@ -3404,7 +3384,7 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "54ad2d49fdeab4a08717f5b49a163bdc72efc3b1950b6758245fcde79b645e1a" dependencies = [ - "base64 0.21.3", + "base64 0.21.4", "brotli", "ico", "json-patch", @@ -3514,7 +3494,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5993dc129e544393574288923d1ec447c857f3f644187f4fbf7d9a875fbfc4fb" dependencies = [ "embed-resource", - "toml 0.7.7", + "toml 0.7.8", ] [[package]] @@ -3526,7 +3506,7 @@ dependencies = [ "cfg-if", "fastrand", "redox_syscall 0.3.5", - "rustix 0.38.11", + "rustix", "windows-sys", ] @@ -3552,11 +3532,11 @@ dependencies = [ [[package]] name = "terminal_size" -version = "0.2.6" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e6bf6f19e9f8ed8d4048dc22981458ebcf406d67e94cd422e5ecd73d63b3237" +checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" dependencies = [ - "rustix 0.37.23", + "rustix", "windows-sys", ] @@ -3698,9 +3678,9 @@ dependencies = [ [[package]] name = "toml" -version = "0.7.7" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de0a3ab2091e52d7299a39d098e200114a972df0a7724add02a273aa9aada592" +checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" dependencies = [ "serde", "serde_spanned", diff --git a/README.md b/README.md index f4e7d5fa..91eafb01 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ # :rocket: Raspirus ![banner_logo](https://user-images.githubusercontent.com/50681275/223684389-ed0f104f-c183-4223-9723-c268e7cc5268.png) +[![Get it from the Snap Store](https://snapcraft.io/static/images/badges/en/snap-store-white.svg)](https://snapcraft.io/raspirus) [![Download Raspirus](https://a.fsdn.com/con/app/sf-download-button)](https://sourceforge.net/projects/raspirus/files/latest/download) ## Introduction diff --git a/package-lock.json b/package-lock.json index ccea4534..f03251f6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,23 +1,23 @@ { "name": "raspirus", - "version": "1.0.0", + "version": "1.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "raspirus", - "version": "1.0.0", + "version": "1.1.0", "dependencies": { "@fortawesome/fontawesome-svg-core": "^6.2.1", "@fortawesome/free-solid-svg-icons": "^6.2.1", "@fortawesome/react-fontawesome": "^0.2.0", "@tauri-apps/api": "^1.4.0", - "@types/node": "18.17.14", + "@types/node": "18.17.16", "@types/react": "18.2.21", "@types/react-dom": "18.2.7", "bootstrap": "^5.2.3", "date-fns": "^2.29.3", - "eslint": "8.48.0", + "eslint": "8.49.0", "eslint-config-next": "13.4.19", "flag-icons": "^6.6.6", "i18next": "^23.2.1", @@ -121,9 +121,9 @@ } }, "node_modules/@eslint/js": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.48.0.tgz", - "integrity": "sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==", + "version": "8.49.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.49.0.tgz", + "integrity": "sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } @@ -736,9 +736,9 @@ } }, "node_modules/@types/node": { - "version": "18.17.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.17.14.tgz", - "integrity": "sha512-ZE/5aB73CyGqgQULkLG87N9GnyGe5TcQjv34pwS8tfBs1IkCh0ASM69mydb2znqd6v0eX+9Ytvk6oQRqu8T1Vw==" + "version": "18.17.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.17.16.tgz", + "integrity": "sha512-e0zgs7qe1XH/X3KEPnldfkD07LH9O1B9T31U8qoO7lqGSjj3/IrBuvqMeJ1aYejXRK3KOphIUDw6pLIplEW17A==" }, "node_modules/@types/prop-types": { "version": "15.7.5", @@ -1194,9 +1194,9 @@ } }, "node_modules/bootstrap": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.1.tgz", - "integrity": "sha512-jzwza3Yagduci2x0rr9MeFSORjcHpt0lRZukZPZQJT1Dth5qzV7XcgGqYzi39KGAVYR8QEDVoO0ubFKOxzMG+g==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.2.tgz", + "integrity": "sha512-D32nmNWiQHo94BKHLmOrdjlL05q1c8oxbtBphQFb9Z5to6eGRDCm0QgeaZ4zFBHzfg2++rqa2JkqCcxDy0sH0g==", "funding": [ { "type": "github", @@ -1304,9 +1304,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001529", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001529.tgz", - "integrity": "sha512-n2pUQYGAkrLG4QYj2desAh+NqsJpHbNmVZz87imptDdxLAtjxary7Df/psdfyDGmskJK/9Dt9cPnx5RZ3CU4Og==", + "version": "1.0.30001532", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001532.tgz", + "integrity": "sha512-FbDFnNat3nMnrROzqrsg314zhqN5LGQ1kyyMk2opcrwGbVGpHRhgCWtAgD5YJUqNAiQ+dklreil/c3Qf1dfCTw==", "funding": [ { "type": "opencollective", @@ -1591,9 +1591,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.512", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.512.tgz", - "integrity": "sha512-1W8wRbYlQE4ph7eoj3TJ+uqwO6+xvAE/L+KGU7WTQQvX3tnSIGZAb90MTsMoJqzntamiwJhBAj4WZmygXhsOUg==", + "version": "1.4.513", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.513.tgz", + "integrity": "sha512-cOB0xcInjm+E5qIssHeXJ29BaUyWpMyFKT5RB3bsLENDheCja0wMkHJyiPl0NBE/VzDI7JDuNEQWhe6RitEUcw==", "dev": true }, "node_modules/emoji-regex": { @@ -1744,15 +1744,15 @@ } }, "node_modules/eslint": { - "version": "8.48.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.48.0.tgz", - "integrity": "sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==", + "version": "8.49.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.49.0.tgz", + "integrity": "sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.48.0", - "@humanwhocodes/config-array": "^0.11.10", + "@eslint/js": "8.49.0", + "@humanwhocodes/config-array": "^0.11.11", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.12.4", @@ -4530,9 +4530,9 @@ } }, "node_modules/sweetalert2": { - "version": "11.7.27", - "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.7.27.tgz", - "integrity": "sha512-QbRXGQn1sb7HEhzA/K2xtWIwQHh/qkSbb1w6jYcTql2xy17876lTREEt1D4X6Q0x2wHtfUjKJ+Cb8IVkRoq7DQ==", + "version": "11.7.28", + "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.7.28.tgz", + "integrity": "sha512-9895DVuYTDlV4Hx4IJablFKMdSqzwpy0PKycztbO4cXnOeVMmw55weOq4gcZAh3/tAyunCKjApFDrlSAcswwcA==", "funding": { "type": "individual", "url": "https://github.com/sponsors/limonte" diff --git a/package.json b/package.json index 61bf12c7..eb19742e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "raspirus", - "version": "1.0.0", + "version": "1.1.0", "private": true, "scripts": { "dev": "next dev", @@ -15,12 +15,12 @@ "@fortawesome/free-solid-svg-icons": "^6.2.1", "@fortawesome/react-fontawesome": "^0.2.0", "@tauri-apps/api": "^1.4.0", - "@types/node": "18.17.14", + "@types/node": "18.17.16", "@types/react": "18.2.21", "@types/react-dom": "18.2.7", "bootstrap": "^5.2.3", "date-fns": "^2.29.3", - "eslint": "8.48.0", + "eslint": "8.49.0", "eslint-config-next": "13.4.19", "flag-icons": "^6.6.6", "i18next": "^23.2.1", diff --git a/snapcraft.yaml b/snapcraft.yaml index 7184375b..a88de1a4 100644 --- a/snapcraft.yaml +++ b/snapcraft.yaml @@ -1,30 +1,41 @@ name: raspirus -version: git -summary: A lightweight hash-based virus scanner -description: | - Raspirus is a user-friendly hash-based virus scanner written - in Rust and JavaScript. - -base: core22 -confinement: classic -adopt-info: raspirus +base: core18 +version: 1.1.0 +summary: A resource- and human-friendly malware scanner +description: Raspirus is your cost-free, versatile malware scanner. Tailored signature detection, comprehensive file scans, and privacy prioritized for swift, reliable protection. grade: stable +confinement: strict +architectures: + - amd64 + - arm64 + - armhf parts: - raspirus: - source: . - plugin: rust - build-packages: - - cargo - - npm - override-build: | - TERM=xterm make build + raspirus-amd64: + plugin: dump + source: https://github.com/Raspirus/Raspirus/releases/download/v$SNAPCRAFT_PROJECT_VERSION/raspirus_$SNAPCRAFT_PROJECT_VERSION_amd64.deb + source-type: deb + organize: + usr/bin/raspirus: usr/bin/raspirus-amd64 -apps: - raspirus: - command: bin/raspirus + raspirus-arm64: + plugin: dump + source: https://github.com/Raspirus/Raspirus/releases/download/v$SNAPCRAFT_PROJECT_VERSION/raspirus_$SNAPCRAFT_PROJECT_VERSION_arm64.deb + source-type: deb + organize: + usr/bin/raspirus: usr/bin/raspirus-arm64 + + raspirus-armhf: + plugin: dump + source: https://github.com/Raspirus/Raspirus/releases/download/v$SNAPCRAFT_PROJECT_VERSION/raspirus_$SNAPCRAFT_PROJECT_VERSION_armhf.deb + source-type: deb + organize: + usr/bin/raspirus: usr/bin/raspirus-armhf - # If you have a GUI-based frontend, you may need to specify a desktop launcher. - # raspirus-desktop: - # command: bin/raspirus - # desktop: usr/share/applications/raspirus.desktop +apps: + raspirus-amd64: + command: raspirus-amd64 + raspirus-arm64: + command: raspirus-arm64 + raspirus-armhf: + command: raspirus-armhf \ No newline at end of file diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 82e487d6..665deef2 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "raspirus" -version = "1.0.0" +version = "1.1.0" description = "A simple hash-based virus-scanner" authors = ["Demetz Benjamin, Hell Björn Felix"] license = "GPLv3" @@ -18,13 +18,13 @@ winapi = "0.3" sysinfo = "0.29" reqwest = { version = "0.11.20", features = ["blocking"] } rusqlite = { version = "0.29.0", features = ["bundled"] } -terminal_size = "0.2.6" +terminal_size = "0.3.0" tokio = "1.32.0" walkdir = "2.4.0" serde_json = "1.0" serde = { version = "1.0", features = ["derive"] } tauri = { version = "1.4.1", features = [ "cli", "dialog-open"] } -chrono = "0.4.30" +chrono = "0.4.31" directories-next = "2.0.0" zip = "0.6.6" mime_guess = "2.0.4" diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 79ebed45..06d89ac8 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -6,8 +6,8 @@ "distDir": "../out" }, "package": { - "productName": "Raspirus", - "version": "1.0.0" + "productName": "raspirus", + "version": "1.1.0" }, "tauri": { "allowlist": {