diff --git a/.editorconfig b/.editorconfig index 5721b26e..2315b117 100644 --- a/.editorconfig +++ b/.editorconfig @@ -8,6 +8,9 @@ indent_style = space indent_size = 4 trim_trailing_whitespace = true +[*.rtf] +end_of_line = crlf + [{.gitignore,*.desktop}] indent_size = 0 diff --git a/.gitattributes b/.gitattributes index a6efae89..cd335aad 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,6 +1,7 @@ * text eol=lf .* text eol=lf +*.bmp binary *.png binary *.icns binary *.ico binary diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index bad586b0..c74d0b56 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -2,19 +2,216 @@ name: Package on: workflow_dispatch: - workflow_call: - secrets: - NPCAP_OEM_URL: - required: true jobs: - package: - runs-on: ${{ matrix.os }} + build: + runs-on: ${{ matrix.os }}-latest strategy: + fail-fast: true matrix: - os: [ubuntu-latest, macos-latest, windows-latest] + include: + - os: ubuntu + arch: i386 + target: i686-unknown-linux-gnu + - os: ubuntu + arch: armhf + target: armv7-unknown-linux-gnueabihf + - os: ubuntu + arch: amd64 + target: x86_64-unknown-linux-gnu + - os: ubuntu + arch: arm64 + target: aarch64-unknown-linux-gnu + - os: macos + arch: amd64 + target: x86_64-apple-darwin + - os: macos + arch: arm64 + target: aarch64-apple-darwin + - os: windows + arch: i386 + target: i686-pc-windows-msvc + - os: windows + arch: amd64 + target: x86_64-pc-windows-msvc + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Install dependencies + if: ${{ matrix.os == 'windows' }} + env: + NPCAP_OEM_URL: ${{ secrets.NPCAP_OEM_URL }} + shell: powershell + run: | + Write-Host "::group::Npcap SDK" + $ARCH = "${{ matrix.arch }}" + Invoke-WebRequest -Uri "https://npcap.com/dist/npcap-sdk-1.13.zip" -OutFile "$env:TEMP\npcap-sdk.zip" -Verbose + Expand-Archive -LiteralPath "$env:TEMP\npcap-sdk.zip" -DestinationPath "$env:TEMP\npcap-sdk" -Verbose + $LibPath = switch ($ARCH) + { + "i386" { "Lib" } + "amd64" { "Lib\x64" } + default { throw "$ARCH is not supported!" } + } + Add-Content -Path "$env:GITHUB_ENV" -Value "LIB=$env:TEMP\npcap-sdk\$LibPath" + Write-Host "::endgroup::" + Write-Host "::group::Npcap DLL" + Invoke-WebRequest -Uri "$env:NPCAP_OEM_URL" -OutFile "$env:TEMP\npcap-oem.exe" -Verbose + Start-Process -FilePath "$env:TEMP\npcap-oem.exe" -ArgumentList "/S" -Wait + Write-Host "::endgroup::" + + - name: Install Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + profile: minimal + default: true + + - name: Add build targets + if: ${{ matrix.os == 'macos' }} + run: | + rustup target add \ + x86_64-apple-darwin \ + aarch64-apple-darwin + + - name: Add build targets + if: ${{ matrix.os == 'windows' }} + run: | + rustup target add ` + i686-pc-windows-msvc ` + x86_64-pc-windows-msvc + + - name: Install Cross + if: ${{ matrix.os == 'ubuntu' }} + run: cargo install cross --git https://github.com/cross-rs/cross + + - name: Build binary + if: ${{ matrix.os == 'ubuntu' }} + run: cross build --release --target ${{ matrix.target }} + + - name: Build binary + if: ${{ matrix.os == 'macos' || matrix.os == 'windows' }} + uses: actions-rs/cargo@v1 + with: + command: build + args: --release --target ${{ matrix.target }} + + - name: Upload build artifacts + uses: actions/upload-artifact@v3 + with: + name: build-${{ matrix.os }} + path: | + target/*/release/sniffnet + target/*/release/sniffnet.exe + if-no-files-found: error + + deb: + runs-on: ubuntu-latest + container: + image: debian:latest + needs: build + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Install dependencies + run: apt update -y && apt install -y curl build-essential + + - name: Install Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + profile: minimal + default: true + + - name: Install packaging tools + run: cargo install cargo-deb + + - uses: actions/download-artifact@v3 + with: + name: build-ubuntu + path: target/ + + - name: Package for Debian-based Linux distros + shell: bash + run: | + targets=( + i686-unknown-linux-gnu + armv7-unknown-linux-gnueabihf + x86_64-unknown-linux-gnu + aarch64-unknown-linux-gnu + ) + mkdir artifacts + for target in "${targets[@]}"; do + cargo deb --no-build --no-strip --target $target + mv target/${target}/debian/*.deb artifacts/ + done + mv artifacts/sniffnet*amd64.deb artifacts/Sniffnet_LinuxDEB_amd64.deb + mv artifacts/sniffnet*arm64.deb artifacts/Sniffnet_LinuxDEB_arm64.deb + mv artifacts/sniffnet*i386.deb artifacts/Sniffnet_LinuxDEB_i386.deb + mv artifacts/sniffnet*armhf.deb artifacts/Sniffnet_LinuxDEB_armhf.deb + + - name: Upload package artifacts + uses: actions/upload-artifact@v3 + with: + name: deb + path: artifacts/ + + rpm: + runs-on: ubuntu-latest + container: + image: fedora:latest + needs: build + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Install dependencies + run: dnf update -y && dnf install -y @development-tools patchelf + + - name: Install Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + profile: minimal + default: true + + - name: Install packaging tools + run: cargo install cargo-generate-rpm + + - uses: actions/download-artifact@v3 + with: + name: build-ubuntu + path: target/ + + - name: Package for RPM-based Linux distros + shell: bash + run: | + targets=( + x86_64-unknown-linux-gnu + aarch64-unknown-linux-gnu + ) + mkdir artifacts + for target in "${targets[@]}"; do + patchelf --replace-needed libpcap.so.0.8 libpcap.so.1 target/${target}/release/sniffnet + cargo generate-rpm --target $target + mv target/${target}/generate-rpm/*.rpm artifacts/ + done + mv artifacts/sniffnet*x86_64.rpm artifacts/Sniffnet_LinuxRPM_x86_64.rpm + mv artifacts/sniffnet*aarch64.rpm artifacts/Sniffnet_LinuxRPM_aarch64.rpm + + - name: Upload package artifacts + uses: actions/upload-artifact@v3 + with: + name: rpm + path: artifacts/ + + dmg: + runs-on: macos-latest + needs: build steps: - name: Checkout repository uses: actions/checkout@v3 @@ -24,80 +221,110 @@ jobs: with: toolchain: stable profile: minimal - components: rustfmt, clippy default: true - - name: Install Linux dependencies - if: matrix.os == 'ubuntu-latest' - run: sudo apt-get install libpcap-dev libasound2-dev - - - name: Install Windows dependency - npcap sdk - if: matrix.os == 'windows-latest' + - name: Install packaging tools run: | - Invoke-WebRequest -Uri "https://npcap.com/dist/npcap-sdk-1.13.zip" -OutFile "C:/npcap-sdk.zip" - Expand-Archive -LiteralPath C:/npcap-sdk.zip -DestinationPath C:/npcap-sdk - echo "LIB=C:/npcap-sdk/Lib/x64" >> $env:GITHUB_ENV - - - name: Install Windows dependency - npcap dll - if: matrix.os == 'windows-latest' - run: | - Invoke-WebRequest -Uri ${{secrets.NPCAP_OEM_URL}} -OutFile C:/npcap-oem.exe - C:/npcap-oem.exe /S - - - name: Build - uses: actions-rs/cargo@v1 - with: - command: build - args: --release - - - name: Package for Debian-based Linux distros - if: matrix.os == 'ubuntu-latest' - run: | - cargo install cargo-deb - cargo deb - mkdir artifacts - mv target/debian/*.deb artifacts/ - -# doesn't work properly on ubuntu-latest! -# - name: Package for RPM-based Linux distros -# if: matrix.os == 'ubuntu-latest' -# run: | -# cargo install cargo-generate-rpm -# cargo generate-rpm -# mv target/generate-rpm/*.rpm artifacts/ - - - name: Package DMG for macOS - if: matrix.os == 'macOS-latest' - run: | - cargo install cargo-bundle - cargo bundle --release - rm target/release/bundle/osx/sniffnet.app/Contents/Info.plist - cp resources/Info.plist target/release/bundle/osx/sniffnet.app/Contents/Info.plist - cp resources/wrapper.sh target/release/bundle/osx/sniffnet.app/Contents/MacOS/wrapper.sh + cargo install toml-cli brew install create-dmg - mkdir artifacts - create-dmg \ - --volname "Sniffnet Installer" \ - --background "resources/logos/bg_dmg.png" \ - --window-pos 200 120 \ - --window-size 900 450 \ - --icon-size 100 \ - --app-drop-link 620 240 \ - --icon "Sniffnet.app" 300 240 \ - --hide-extension "Sniffnet.app" \ - "artifacts/sniffnet.dmg" \ - "target/release/bundle/osx/" - - name: Package MSI for Windows - if: matrix.os == 'windows-latest' + - uses: actions/download-artifact@v3 + with: + name: build-macos + path: target/ + + - name: Package for macOS + shell: bash run: | - cargo install cargo-wix - cargo wix --nocapture + VERSION=$(toml get Cargo.toml package.version --raw) + sed -i'.bak' -e "s/0\.0\.0/${VERSION}/g" -e "s/fffffff/${GITHUB_SHA:0:7}/g" resources/packaging/macos/Info.plist + targets=( + x86_64-apple-darwin + aarch64-apple-darwin + ) mkdir artifacts - mv target/wix/*.msi artifacts/ + for target in "${targets[@]}"; do + mkdir -p target/${target}/release/bundle/osx/Sniffnet.app/Contents/{MacOS,Resources} + cp resources/packaging/macos/Info.plist \ + target/${target}/release/bundle/osx/Sniffnet.app/Contents/ + cp resources/packaging/macos/graphics/sniffnet.icns \ + target/${target}/release/bundle/osx/Sniffnet.app/Contents/Resources/ + chmod +x target/${target}/release/sniffnet + cp target/${target}/release/sniffnet \ + target/${target}/release/bundle/osx/Sniffnet.app/Contents/MacOS/ + cp resources/packaging/macos/wrapper.sh \ + target/${target}/release/bundle/osx/Sniffnet.app/Contents/MacOS/ + create-dmg \ + --volname "Sniffnet Installer" \ + --background "resources/packaging/macos/graphics/dmg_bg.png" \ + --window-pos 200 120 \ + --window-size 900 450 \ + --icon-size 100 \ + --app-drop-link 620 240 \ + --icon "Sniffnet.app" 300 240 \ + --hide-extension "Sniffnet.app" \ + "artifacts/sniffnet-${target%%-*}.dmg" \ + "target/${target}/release/bundle/osx/" + done + mv artifacts/sniffnet*x86_64.dmg artifacts/Sniffnet_macOS_Intel.dmg + mv artifacts/sniffnet*aarch64.dmg artifacts/Sniffnet_macOS_AppleSilicon.dmg - - name: Upload artifacts + - name: Upload package artifacts uses: actions/upload-artifact@v3 with: - name: ${{ matrix.os }}-artifacts + name: dmg + path: artifacts/ + + msi: + runs-on: windows-latest + needs: build + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Install dependencies + shell: powershell + run: | + Write-Host "::group::WiX Toolset" + Invoke-WebRequest ` + -Uri "https://github.com/wixtoolset/wix3/releases/download/wix3112rtm/wix311-binaries.zip" ` + -OutFile "$env:TEMP\wix-binaries.zip" -Verbose + Expand-Archive -LiteralPath "$env:TEMP\wix-binaries.zip" -DestinationPath "$env:TEMP\wix" -Verbose + Set-Item -Path env:Path -Value "$env:Path;$env:TEMP\wix" + Write-Host "::endgroup::" + + - name: Install Rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + profile: minimal + default: true + + - name: Install packaging tools + run: cargo install cargo-wix + + - uses: actions/download-artifact@v3 + with: + name: build-windows + path: target/ + + - name: Package for Microsoft Windows + shell: powershell + run: | + $targets=@( + "i686-pc-windows-msvc", + "x86_64-pc-windows-msvc" + ) + New-Item -ItemType Directory -Path artifacts + foreach ($target in $targets) + { + cargo wix --no-build --nocapture --target $target + Move-Item -Path target\wix\sniffnet*x86.msi -Destination .\artifacts\Sniffnet_Windows_32-bit.msi + Move-Item -Path target\wix\sniffnet*x86_64.msi -Destination .\artifacts\Sniffnet_Windows_64-bit.msi + } + + - name: Upload package artifacts + uses: actions/upload-artifact@v3 + with: + name: msi path: artifacts/ diff --git a/CHANGELOG.md b/CHANGELOG.md index 21badab9..0ebc6347 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,14 +3,31 @@ # Changelog All Sniffnet releases with the relative changes are documented in this file. -## UNRELEASED +## [1.2.1] - 2023-06-08 +- Considerably refined the app packaging strategy (see [#246](https://github.com/GyulyVGC/sniffnet/pull/246) for more details), fixing various related issues ([#199](https://github.com/GyulyVGC/sniffnet/issues/199), [#220](https://github.com/GyulyVGC/sniffnet/issues/220), [#223](https://github.com/GyulyVGC/sniffnet/issues/223), [#224](https://github.com/GyulyVGC/sniffnet/issues/224), [#225](https://github.com/GyulyVGC/sniffnet/issues/225), [#242](https://github.com/GyulyVGC/sniffnet/issues/242)) +- Added button to clear all the current search filters quickly in inspect page - Added Swedish translation 🇸🇪 ([#213](https://github.com/GyulyVGC/sniffnet/pull/213)) -- URLs update... -- Updated existing translations to v1.2 (German, Spanish, Persian, Korean, Russian, Turkish, Ukrainian, and Chinese) +- Updated most of the existing translations to v1.2: + - German - [#191](https://github.com/GyulyVGC/sniffnet/pull/191) + - Spanish - [#203](https://github.com/GyulyVGC/sniffnet/pull/203) + - Persian - [#193](https://github.com/GyulyVGC/sniffnet/pull/193) + - Korean - [#205](https://github.com/GyulyVGC/sniffnet/pull/205) + - Polish - [#244](https://github.com/GyulyVGC/sniffnet/pull/244) + - Romanian - [#241](https://github.com/GyulyVGC/sniffnet/pull/241) + - Russian - [#187](https://github.com/GyulyVGC/sniffnet/pull/187) + - Turkish - [#192](https://github.com/GyulyVGC/sniffnet/pull/192) + - Ukrainian - [#216](https://github.com/GyulyVGC/sniffnet/pull/216) + - Chinese - [#214](https://github.com/GyulyVGC/sniffnet/pull/214) - Renamed "Administrative entity" to "Autonomous System name" to avoid confusion - Improved filter columns relative width to avoid the "Application protocol" label being cut when displayed in Swedish -- Updated docs including installation instruction for Aarch Linux +- Footer URLs have been updated to include links to Sniffnet's official website and GitHub Sponsor page +- Updated docs including installation instruction for Aarch Linux ([#185](https://github.com/GyulyVGC/sniffnet/pull/185)) +- Minor improvements to packets and bytes number format +- Minor improvements to: + - code readability ([#248](https://github.com/GyulyVGC/sniffnet/pull/248)) + - docs ([#235](https://github.com/GyulyVGC/sniffnet/pull/235)) +- Solved a minor problem that caused flags to be slightly misaligned in inspect page table ## [1.2.0] - 2023-05-18 diff --git a/Cargo.lock b/Cargo.lock index 964e04a0..6bfd984c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -52,9 +52,9 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "0.7.20" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" +checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" dependencies = [ "memchr", ] @@ -113,9 +113,9 @@ dependencies = [ [[package]] name = "arrayref" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" [[package]] name = "arrayvec" @@ -131,9 +131,9 @@ checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" [[package]] name = "ash" -version = "0.37.2+1.3.238" +version = "0.37.3+1.3.251" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28bf19c1f0a470be5fbf7522a308a05df06610252c5bcf5143e1b23f629a9a03" +checksum = "39e9c3835d686b0a6084ab4234fcd1b07dbf6e4767dce60874b12356a25ecd4a" dependencies = [ "libloading 0.7.4", ] @@ -154,22 +154,22 @@ dependencies = [ "cc", "cfg-if", "libc", - "miniz_oxide", + "miniz_oxide 0.6.2", "object", "rustc-demangle", ] [[package]] name = "base64" -version = "0.21.0" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" +checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" [[package]] name = "bindgen" -version = "0.61.0" +version = "0.64.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a022e58a142a46fea340d68012b9201c094e93ec3d033a944a24f8fd4a4f09a" +checksum = "c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4" dependencies = [ "bitflags", "cexpr", @@ -214,28 +214,28 @@ checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" [[package]] name = "bumpalo" -version = "3.12.0" +version = "3.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" +checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" [[package]] name = "bytemuck" -version = "1.13.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c041d3eab048880cb0b86b256447da3f18859a163c3b8d8893f4e6368abe6393" +checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aca418a974d83d40a0c1f0c5cba6ff4bc28d8df099109ca459a2118d40b6322" +checksum = "fdde5c9cd29ebd706ce1b35600920a33550e402fc998a2e53ad3b42c3c47a192" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.18", ] [[package]] @@ -252,10 +252,11 @@ checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" [[package]] name = "calloop" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a59225be45a478d772ce015d9743e49e92798ece9e34eda9a6aa2a6a7f40192" +checksum = "52e0d00eb1ea24371a97d2da6201c6747a633dc6dc1988ef503403b4c59504a8" dependencies = [ + "bitflags", "log", "nix 0.25.1", "slotmap", @@ -307,9 +308,9 @@ dependencies = [ [[package]] name = "clang-sys" -version = "1.6.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ed9a53e5d4d9c573ae844bfac6872b159cb1d1585a83b29e7a64b7eef7332a" +checksum = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f" dependencies = [ "glob", "libc", @@ -359,9 +360,9 @@ dependencies = [ [[package]] name = "cmake" -version = "0.1.49" +version = "0.1.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db34956e100b30725f2eb215f90d4871051239535632f84fea3bc92722c66b7c" +checksum = "a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130" dependencies = [ "cc", ] @@ -384,9 +385,9 @@ dependencies = [ [[package]] name = "cocoa-foundation" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ade49b65d560ca58c403a479bb396592b155c0185eada742ee323d1d68d6318" +checksum = "931d3837c286f56e3c58423ce4eba12d08db2374461a785c86f672b08b5650d6" dependencies = [ "bitflags", "block", @@ -443,9 +444,9 @@ dependencies = [ [[package]] name = "const_panic" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58baae561b85ca19b3122a9ddd35c8ec40c3bcd14fe89921824eae73f7baffbf" +checksum = "6051f239ecec86fde3410901ab7860d458d160371533842974fc61f96d15879b" [[package]] name = "core-foundation" @@ -453,7 +454,7 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" dependencies = [ - "core-foundation-sys 0.8.3", + "core-foundation-sys 0.8.4", "libc", ] @@ -465,9 +466,9 @@ checksum = "e7ca8a5221364ef15ce201e8ed2f609fc312682a8f4e0e3d4aa5879764e0fa3b" [[package]] name = "core-foundation-sys" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" +checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" [[package]] name = "core-graphics" @@ -519,37 +520,36 @@ dependencies = [ [[package]] name = "coreaudio-sys" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a9444b94b8024feecc29e01a9706c69c1e26bfee480221c90764200cfd778fb" +checksum = "f034b2258e6c4ade2f73bf87b21047567fb913ee9550837c2316d139b0262b24" dependencies = [ "bindgen", ] [[package]] name = "cpal" -version = "0.15.0" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34fa7b20adf588f73f094cd9b1d944977c686e37a2759ea217ab174f017e10a" +checksum = "6d959d90e938c5493000514b446987c07aed46c668faaa7d34d6c7a67b1a578c" dependencies = [ "alsa", - "core-foundation-sys 0.8.3", + "core-foundation-sys 0.8.4", "coreaudio-rs", "dasp_sample", "jni 0.19.0", "js-sys", "libc", - "mach", + "mach2", "ndk", "ndk-context", "oboe", "once_cell", "parking_lot 0.12.1", - "thiserror", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "windows", + "windows 0.46.0", ] [[package]] @@ -612,7 +612,7 @@ checksum = "21fd3add36ea31aba1520aa5288714dd63be506106753226d0eb387a93bc9c45" dependencies = [ "cocoa", "core-foundation", - "core-foundation-sys 0.8.3", + "core-foundation-sys 0.8.4", "core-graphics", "core-text", "dwrote", @@ -633,50 +633,6 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b365fabc795046672053e29c954733ec3b05e4be654ab130fe8f1f94d7051f35" -[[package]] -name = "cxx" -version = "1.0.91" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86d3488e7665a7a483b57e25bdd90d0aeb2bc7608c8d0346acf2ad3f1caf1d62" -dependencies = [ - "cc", - "cxxbridge-flags", - "cxxbridge-macro", - "link-cplusplus", -] - -[[package]] -name = "cxx-build" -version = "1.0.91" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48fcaf066a053a41a81dfb14d57d99738b767febb8b735c3016e469fac5da690" -dependencies = [ - "cc", - "codespan-reporting", - "once_cell", - "proc-macro2", - "quote", - "scratch", - "syn 1.0.109", -] - -[[package]] -name = "cxxbridge-flags" -version = "1.0.91" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2ef98b8b717a829ca5603af80e1f9e2e48013ab227b68ef37872ef84ee479bf" - -[[package]] -name = "cxxbridge-macro" -version = "1.0.91" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "086c685979a698443656e5cf7856c95c642295a38599f12fb1ff76fb28d19892" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "d3d12" version = "0.6.0" @@ -763,11 +719,11 @@ checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" [[package]] name = "dlib" -version = "0.5.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac1b7517328c04c2aa68422fc60a41b92208182142ed04a25879c26c8f878794" +checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" dependencies = [ - "libloading 0.7.4", + "libloading 0.8.0", ] [[package]] @@ -860,17 +816,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "errno" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d6a0976c999d473fe89ad888d5a284e55366d9dc9038b1ba2aa15128c4afa0" -dependencies = [ - "errno-dragonfly", - "libc", - "windows-sys 0.45.0", -] - [[package]] name = "errno-dragonfly" version = "0.1.2" @@ -902,9 +847,9 @@ dependencies = [ [[package]] name = "euclid" -version = "0.22.7" +version = "0.22.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b52c2ef4a78da0ba68fbe1fd920627411096d2ac478f7f4c9f3a54ba6705bade" +checksum = "87f253bc5c813ca05792837a0ff4b3a580336b224512d48f7eda1d7dd9210787" dependencies = [ "num-traits", ] @@ -920,12 +865,12 @@ dependencies = [ ] [[package]] -name = "fastrand" -version = "1.9.0" +name = "fdeflate" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +checksum = "d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10" dependencies = [ - "instant", + "simd-adler32", ] [[package]] @@ -939,12 +884,12 @@ dependencies = [ [[package]] name = "flate2" -version = "1.0.25" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" +checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" dependencies = [ "crc32fast", - "miniz_oxide", + "miniz_oxide 0.7.1", ] [[package]] @@ -1010,13 +955,13 @@ dependencies = [ [[package]] name = "foreign-types-macros" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8469d0d40519bc608ec6863f1cc88f3f1deee15913f2f3b3e573d81ed38cccc" +checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.18", ] [[package]] @@ -1033,9 +978,9 @@ checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" [[package]] name = "form_urlencoded" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" +checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" dependencies = [ "percent-encoding", ] @@ -1064,9 +1009,9 @@ dependencies = [ [[package]] name = "futures" -version = "0.3.27" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "531ac96c6ff5fd7c62263c5e3c67a603af4fcaee2e1a0ae5565ba3a11e69e549" +checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" dependencies = [ "futures-channel", "futures-core", @@ -1079,9 +1024,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.27" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "164713a5a0dcc3e7b4b1ed7d3b433cabc18025386f9339346e8daf15963cf7ac" +checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" dependencies = [ "futures-core", "futures-sink", @@ -1089,15 +1034,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.27" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86d7a0c1aa76363dac491de0ee99faf6941128376f1cf96f07db7603b7de69dd" +checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" [[package]] name = "futures-executor" -version = "0.3.27" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1997dd9df74cdac935c76252744c1ed5794fac083242ea4fe77ef3ed60ba0f83" +checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" dependencies = [ "futures-core", "futures-task", @@ -1107,32 +1052,32 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.27" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89d422fa3cbe3b40dca574ab087abb5bc98258ea57eea3fd6f1fa7162c778b91" +checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" [[package]] name = "futures-macro" -version = "0.3.27" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3eb14ed937631bd8b8b8977f2c198443447a8355b6e3ca599f38c975e5a963b6" +checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.18", ] [[package]] name = "futures-sink" -version = "0.3.27" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec93083a4aecafb2a80a885c9de1f0ccae9dbd32c2bb54b0c3a65690e0b8d2f2" +checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" [[package]] name = "futures-task" -version = "0.3.27" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd65540d33b37b16542a0438c12e6aeead10d4ac5d05bd3f805b8f35ab592879" +checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" [[package]] name = "futures-timer" @@ -1142,9 +1087,9 @@ checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" [[package]] name = "futures-util" -version = "0.3.27" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ef6b17e481503ec85211fed8f39d1970f128935ca1f814cd32ac4a6842e84ab" +checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" dependencies = [ "futures-channel", "futures-core", @@ -1179,9 +1124,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.8" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" dependencies = [ "cfg-if", "libc", @@ -1230,9 +1175,9 @@ dependencies = [ [[package]] name = "glow" -version = "0.12.1" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e007a07a24de5ecae94160f141029e9a347282cfe25d1d58d85d845cf3130f1" +checksum = "807edf58b70c0b5b2181dd39fe1839dbdb3ba02645630dc5f753e23da307f762" dependencies = [ "js-sys", "slotmap", @@ -1292,9 +1237,9 @@ dependencies = [ [[package]] name = "gpu-alloc" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fc59e5f710e310e76e6707f86c561dd646f69a8876da9131703b2f717de818d" +checksum = "22beaafc29b38204457ea030f6fb7a84c9e4dd1b86e311ba0542533453d87f62" dependencies = [ "bitflags", "gpu-alloc-types", @@ -1319,7 +1264,7 @@ dependencies = [ "log", "thiserror", "winapi", - "windows", + "windows 0.44.0", ] [[package]] @@ -1354,9 +1299,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.17" +version = "0.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66b91535aa35fea1523ad1b86cb6b53c28e0ae566ba4a460f4457e936cad7c6f" +checksum = "d357c7ae988e7d2182f7d7871d0b963962420b0678b0997ce7de72001aeab782" dependencies = [ "bytes", "fnv", @@ -1404,12 +1349,6 @@ dependencies = [ "libc", ] -[[package]] -name = "hermit-abi" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" - [[package]] name = "hexf-parse" version = "0.2.1" @@ -1452,9 +1391,9 @@ checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" [[package]] name = "hyper" -version = "0.14.25" +version = "0.14.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc5e554ff619822309ffd57d8734d77cd5ce6238bc956f037ea06c58238c9899" +checksum = "ab302d72a6f11a3b910431ff93aae7e773078c769f0a3ef15fb9ec692ed147d4" dependencies = [ "bytes", "futures-channel", @@ -1475,40 +1414,39 @@ dependencies = [ ] [[package]] -name = "hyper-tls" -version = "0.5.0" +name = "hyper-rustls" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +checksum = "0646026eb1b3eea4cd9ba47912ea5ce9cc07713d105b1a14698f4e6433d348b7" dependencies = [ - "bytes", + "http", "hyper", - "native-tls", + "rustls", "tokio", - "tokio-native-tls", + "tokio-rustls", ] [[package]] name = "iana-time-zone" -version = "0.1.53" +version = "0.1.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765" +checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" dependencies = [ "android_system_properties", - "core-foundation-sys 0.8.3", + "core-foundation-sys 0.8.4", "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "winapi", + "windows 0.48.0", ] [[package]] name = "iana-time-zone-haiku" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" dependencies = [ - "cxx", - "cxx-build", + "cc", ] [[package]] @@ -1580,7 +1518,7 @@ dependencies = [ "iced_style", "log", "lyon", - "raw-window-handle 0.5.0", + "raw-window-handle 0.5.2", "resvg", "thiserror", ] @@ -1637,7 +1575,7 @@ dependencies = [ "iced_graphics", "iced_native", "log", - "raw-window-handle 0.5.0", + "raw-window-handle 0.5.2", "wgpu", "wgpu_glyph", ] @@ -1667,9 +1605,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" dependencies = [ "unicode-bidi", "unicode-normalization", @@ -1703,17 +1641,6 @@ dependencies = [ "web-sys", ] -[[package]] -name = "io-lifetimes" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09270fd4fa1111bc614ed2246c7ef56239a3063d5be0d1ec3b589c505d400aeb" -dependencies = [ - "hermit-abi 0.3.1", - "libc", - "windows-sys 0.45.0", -] - [[package]] name = "ipnet" version = "2.7.2" @@ -1771,9 +1698,9 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" [[package]] name = "jobserver" -version = "0.1.25" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b" +checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" dependencies = [ "libc", ] @@ -1786,9 +1713,9 @@ checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e" [[package]] name = "js-sys" -version = "0.3.61" +version = "0.3.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" +checksum = "2f37a4a5928311ac501dee68b3c7613a1037d0edb30c8e5427bd832d55d1b790" dependencies = [ "wasm-bindgen", ] @@ -1815,9 +1742,9 @@ dependencies = [ [[package]] name = "kurbo" -version = "0.9.3" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28a2d0c1781729f69dbea30f968608cadfaeb6582e5ce903a167a5216b53cd0f" +checksum = "bd85a5776cd9500c2e2059c8c76c3b01528566b7fcbaf8098b55a33fc298849b" dependencies = [ "arrayvec 0.7.2", ] @@ -1836,9 +1763,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.144" +version = "0.2.146" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1" +checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b" [[package]] name = "libloading" @@ -1861,19 +1788,20 @@ dependencies = [ ] [[package]] -name = "libm" -version = "0.2.6" +name = "libloading" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb" +checksum = "d580318f95776505201b28cf98eb1fa5e4be3b689633ba6a3e6cd880ff22d8cb" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] [[package]] -name = "link-cplusplus" -version = "1.0.8" +name = "libm" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" -dependencies = [ - "cc", -] +checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4" [[package]] name = "linked-hash-map" @@ -1881,17 +1809,11 @@ version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" -[[package]] -name = "linux-raw-sys" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd550e73688e6d578f0ac2119e32b797a327631a42f9433e59d02e139c8df60d" - [[package]] name = "lock_api" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" dependencies = [ "autocfg", "scopeguard", @@ -1899,12 +1821,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.17" +version = "0.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" -dependencies = [ - "cfg-if", -] +checksum = "518ef76f2f87365916b142844c16d8fefd85039bc5699050210a7778ee1cd1de" [[package]] name = "lyon" @@ -1959,10 +1878,10 @@ dependencies = [ ] [[package]] -name = "mach" -version = "0.3.2" +name = "mach2" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" +checksum = "6d0d1830bcd151a6fc4aea1369af235b36c1528fe976b8ff678683c9995eade8" dependencies = [ "libc", ] @@ -2057,22 +1976,32 @@ dependencies = [ ] [[package]] -name = "mio" -version = "0.8.6" +name = "miniz_oxide" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +dependencies = [ + "adler", + "simd-adler32", +] + +[[package]] +name = "mio" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" dependencies = [ "libc", "log", "wasi", - "windows-sys 0.45.0", + "windows-sys 0.48.0", ] [[package]] name = "naga" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5eafe22a23b797c9bc227c6c896419b26b5bb88fa903417a3adaed08778850d5" +checksum = "6c3d4269bcb7d50121097702fde1afb75f4ea8083aeb7a55688dcf289a853271" dependencies = [ "bit-set", "bitflags", @@ -2088,24 +2017,6 @@ dependencies = [ "unicode-xid", ] -[[package]] -name = "native-tls" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" -dependencies = [ - "lazy_static", - "libc", - "log", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", -] - [[package]] name = "ndk" version = "0.7.0" @@ -2116,7 +2027,7 @@ dependencies = [ "jni-sys", "ndk-sys", "num_enum", - "raw-window-handle 0.5.0", + "raw-window-handle 0.5.2", "thiserror", ] @@ -2212,15 +2123,6 @@ dependencies = [ "minimal-lexical", ] -[[package]] -name = "nom8" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae01545c9c7fc4486ab7debaf2aad7003ac19431791868fb2e8066df97fad2f8" -dependencies = [ - "memchr", -] - [[package]] name = "num-derive" version = "0.3.3" @@ -2248,7 +2150,7 @@ version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" dependencies = [ - "hermit-abi 0.2.6", + "hermit-abi", "libc", ] @@ -2314,9 +2216,9 @@ dependencies = [ [[package]] name = "object" -version = "0.30.3" +version = "0.30.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439" +checksum = "03b4680b86d9cfafba8fc491dc9b6df26b68cf40e9e6cd73909194759a63c385" dependencies = [ "memchr", ] @@ -2346,54 +2248,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.17.1" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" - -[[package]] -name = "openssl" -version = "0.10.48" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "518915b97df115dd36109bfa429a48b8f737bd05508cf9588977b599648926d2" -dependencies = [ - "bitflags", - "cfg-if", - "foreign-types 0.3.2", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", -] - -[[package]] -name = "openssl-macros" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "openssl-probe" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" - -[[package]] -name = "openssl-sys" -version = "0.9.83" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "666416d899cf077260dac8698d60a60b435a46d57e82acb1be3d0dad87284e5b" -dependencies = [ - "autocfg", - "cc", - "libc", - "pkg-config", - "vcpkg", -] +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "ordered-float" @@ -2479,7 +2336,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ "lock_api", - "parking_lot_core 0.9.7", + "parking_lot_core 0.9.8", ] [[package]] @@ -2498,15 +2355,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.7" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" +checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.2.16", + "redox_syscall 0.3.5", "smallvec", - "windows-sys 0.45.0", + "windows-targets 0.48.0", ] [[package]] @@ -2516,7 +2373,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cbaa01d616eb84eb35cd085fdeaa8671dc8d951bdc4a75bfc414466e76b039ce" dependencies = [ "bitflags", - "errno 0.2.8", + "errno", "libc", "libloading 0.6.7", "pkg-config", @@ -2532,9 +2389,9 @@ checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" [[package]] name = "percent-encoding" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" +checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" [[package]] name = "phf" @@ -2598,9 +2455,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" -version = "0.3.26" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" +checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" [[package]] name = "plotters" @@ -2634,14 +2491,15 @@ dependencies = [ [[package]] name = "png" -version = "0.17.7" +version = "0.17.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d708eaf860a19b19ce538740d2b4bdeeb8337fa53f7738455e706623ad5c638" +checksum = "aaeebc51f9e7d2c150d3f3bfeb667f2aa985db5ef1e3d212847bdedb488beeaa" dependencies = [ "bitflags", "crc32fast", + "fdeflate", "flate2", - "miniz_oxide", + "miniz_oxide 0.7.1", ] [[package]] @@ -2652,9 +2510,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "proc-macro-crate" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66618389e4ec1c7afe67d51a9bf34ff9236480f8d51e7489b7d5ab0303c13f34" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" dependencies = [ "once_cell", "toml_edit", @@ -2686,24 +2544,24 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.52" +version = "1.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d0e1ae9e836cc3beddd63db0df682593d7e2d3d891ae8c9083d2113e1744224" +checksum = "dec2b086b7a862cf4de201096214fa870344cf922b2b30c167badb3af3195406" dependencies = [ "unicode-ident", ] [[package]] name = "profiling" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74605f360ce573babfe43964cbe520294dcb081afbf8c108fc6e23036b4da2df" +checksum = "332cd62e95873ea4f41f3dfd6bbbfc5b52aec892d7e8d534197c4720a0bbbab2" [[package]] name = "quote" -version = "1.0.26" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc" +checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" dependencies = [ "proc-macro2", ] @@ -2765,12 +2623,9 @@ dependencies = [ [[package]] name = "raw-window-handle" -version = "0.5.0" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed7e3d950b66e19e0c372f3fa3fbbcf85b1746b571f74e0c2af6042a5c93420a" -dependencies = [ - "cty", -] +checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" [[package]] name = "rayon" @@ -2831,9 +2686,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.7.1" +version = "1.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" +checksum = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f" dependencies = [ "aho-corasick", "memchr", @@ -2842,9 +2697,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.6.28" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" +checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78" [[package]] name = "renderdoc-sys" @@ -2867,25 +2722,27 @@ dependencies = [ "http", "http-body", "hyper", - "hyper-tls", + "hyper-rustls", "ipnet", "js-sys", "log", "mime", - "native-tls", "once_cell", "percent-encoding", "pin-project-lite", + "rustls", + "rustls-pemfile", "serde", "serde_json", "serde_urlencoded", "tokio", - "tokio-native-tls", + "tokio-rustls", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", + "webpki-roots", "winreg", ] @@ -2917,6 +2774,21 @@ dependencies = [ "bytemuck", ] +[[package]] +name = "ring" +version = "0.16.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +dependencies = [ + "cc", + "libc", + "once_cell", + "spin", + "untrusted", + "web-sys", + "winapi", +] + [[package]] name = "rodio" version = "0.17.1" @@ -2977,9 +2849,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4a36c42d1873f9a77c53bde094f9664d9891bc604a45b4798fd2c389ed12e5b" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" [[package]] name = "rustc-hash" @@ -2997,17 +2869,34 @@ dependencies = [ ] [[package]] -name = "rustix" -version = "0.37.3" +name = "rustls" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b24138615de35e32031d041a09032ef3487a616d901ca4db224e7d557efae2" +checksum = "c911ba11bc8433e811ce56fde130ccf32f5127cab0e0194e9c68c5a5b671791e" dependencies = [ - "bitflags", - "errno 0.3.0", - "io-lifetimes", - "libc", - "linux-raw-sys", - "windows-sys 0.45.0", + "log", + "ring", + "rustls-webpki", + "sct", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b" +dependencies = [ + "base64", +] + +[[package]] +name = "rustls-webpki" +version = "0.100.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6207cd5ed3d8dca7816f8f3725513a34609c0c765bf652b8c3cb4cfd87db46b" +dependencies = [ + "ring", + "untrusted", ] [[package]] @@ -3050,15 +2939,6 @@ dependencies = [ "winapi-util", ] -[[package]] -name = "schannel" -version = "0.1.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" -dependencies = [ - "windows-sys 0.42.0", -] - [[package]] name = "scoped-tls" version = "1.0.1" @@ -3072,10 +2952,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] -name = "scratch" -version = "1.0.3" +name = "sct" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2" +checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +dependencies = [ + "ring", + "untrusted", +] [[package]] name = "sctk-adwaita" @@ -3089,60 +2973,37 @@ dependencies = [ "tiny-skia 0.7.0", ] -[[package]] -name = "security-framework" -version = "2.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" -dependencies = [ - "bitflags", - "core-foundation", - "core-foundation-sys 0.8.3", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework-sys" -version = "2.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" -dependencies = [ - "core-foundation-sys 0.8.3", - "libc", -] - [[package]] name = "semver" -version = "1.0.16" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" +checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" [[package]] name = "serde" -version = "1.0.163" +version = "1.0.164" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2113ab51b87a539ae008b5c6c02dc020ffa39afd2d83cffcb3f4eb2722cebec2" +checksum = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.163" +version = "1.0.164" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e" +checksum = "d9735b638ccc51c28bf6914d90a2e9725b377144fc612c49a611fddd1b631d68" dependencies = [ "proc-macro2", "quote", - "syn 2.0.4", + "syn 2.0.18", ] [[package]] name = "serde_json" -version = "1.0.95" +version = "1.0.96" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d721eca97ac802aa7777b701877c8004d950fc142651367300d21c1cc0194744" +checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1" dependencies = [ "itoa", "ryu", @@ -3188,6 +3049,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" +[[package]] +name = "simd-adler32" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "238abfbb77c1915110ad968465608b68e869e0772622c9656714e73e5a1a522f" + [[package]] name = "simplecss" version = "0.2.1" @@ -3258,7 +3125,7 @@ dependencies = [ [[package]] name = "sniffnet" -version = "1.2.0" +version = "1.2.1" dependencies = [ "chrono", "confy", @@ -3276,6 +3143,7 @@ dependencies = [ "rodio", "rstest", "serde", + "winres", ] [[package]] @@ -3298,6 +3166,12 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + [[package]] name = "spirv" version = "0.2.0+1.5.4" @@ -3328,9 +3202,9 @@ checksum = "9e08d8363704e6c71fc928674353e6b7c23dcea9d82d7012c8faf2a3a025f8d0" [[package]] name = "strict-num" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9df65f20698aeed245efdde3628a6b559ea1239bbb871af1b6e3b58c413b2bd1" +checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" dependencies = [ "float-cmp", ] @@ -3373,15 +3247,15 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98ffacedcdcf1da6579c907279b4f3c5492fbce99fbbf227f5ed270a589c2765" dependencies = [ - "kurbo 0.9.3", + "kurbo 0.9.5", "siphasher", ] [[package]] name = "symphonia" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3671dd6f64f4f9d5c87179525054cfc1f60de23ba1f193bd6ceab812737403f1" +checksum = "62e48dba70095f265fdb269b99619b95d04c89e619538138383e63310b14d941" dependencies = [ "lazy_static", "symphonia-bundle-mp3", @@ -3391,9 +3265,9 @@ dependencies = [ [[package]] name = "symphonia-bundle-mp3" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55a0846e7a2c9a8081ff799fc83a975170417ad2a143f644a77ec2e3e82a2b73" +checksum = "0f31d7fece546f1e6973011a9eceae948133bbd18fd3d52f6073b1e38ae6368a" dependencies = [ "bitflags", "lazy_static", @@ -3404,9 +3278,9 @@ dependencies = [ [[package]] name = "symphonia-core" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b9567e2d8a5f866b2f94f5d366d811e0c6826babcff6d37de9e1a6690d38869" +checksum = "f7c73eb88fee79705268cc7b742c7bc93a7b76e092ab751d0833866970754142" dependencies = [ "arrayvec 0.7.2", "bitflags", @@ -3417,9 +3291,9 @@ dependencies = [ [[package]] name = "symphonia-metadata" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acd35c263223ef6161000be79b124a75de3e065eea563bf3ef169b3e94c7bb2e" +checksum = "89c3e1937e31d0e068bbe829f66b2f2bfaa28d056365279e0ef897172c3320c0" dependencies = [ "encoding_rs", "lazy_static", @@ -3440,28 +3314,15 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.4" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c622ae390c9302e214c31013517c2061ecb2699935882c60a9b37f82f8625ae" +checksum = "32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] -[[package]] -name = "tempfile" -version = "3.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998" -dependencies = [ - "cfg-if", - "fastrand", - "redox_syscall 0.3.5", - "rustix", - "windows-sys 0.45.0", -] - [[package]] name = "termcolor" version = "1.2.0" @@ -3473,22 +3334,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.38" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" +checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.38" +version = "1.0.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" +checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.18", ] [[package]] @@ -3558,9 +3419,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.27.0" +version = "1.28.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0de47a4eecbe11f498978a9b29d792f0d2692d1dd003650c24c76510e3bc001" +checksum = "94d7b1cfd2aa4011f2de74c2c4c63665e27a71006b0a192dcd2710272e73dfa2" dependencies = [ "autocfg", "bytes", @@ -3569,24 +3430,24 @@ dependencies = [ "num_cpus", "pin-project-lite", "socket2 0.4.9", - "windows-sys 0.45.0", + "windows-sys 0.48.0", ] [[package]] -name = "tokio-native-tls" -version = "0.3.1" +name = "tokio-rustls" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +checksum = "e0d409377ff5b1e3ca6437aa86c1eb7d40c134bfec254e44c830defa92669db5" dependencies = [ - "native-tls", + "rustls", "tokio", ] [[package]] name = "tokio-util" -version = "0.7.7" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2" +checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d" dependencies = [ "bytes", "futures-core", @@ -3607,19 +3468,19 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.5.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4553f467ac8e3d374bc9a177a26801e5d0f9b211aa1673fb137a403afd1c9cf5" +checksum = "5a76a9312f5ba4c2dec6b9161fdf25d87ad8a09256ccea5a556fef03c706a10f" [[package]] name = "toml_edit" -version = "0.18.1" +version = "0.19.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56c59d8dd7d0dcbc6428bf7aa2f0e823e26e43b3c9aca15bbc9475d23e5fa12b" +checksum = "2380d56e8670370eee6566b0bfd4265f65b3f432e8c6d85623f728d4fa31f739" dependencies = [ "indexmap", - "nom8", "toml_datetime", + "winnow", ] [[package]] @@ -3641,9 +3502,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.30" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" +checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" dependencies = [ "once_cell", ] @@ -3703,9 +3564,9 @@ checksum = "2281c8c1d221438e373249e065ca4989c4c36952c211ff21a0ee91c44a3869e7" [[package]] name = "unicode-ident" -version = "1.0.6" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" +checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" [[package]] name = "unicode-normalization" @@ -3747,10 +3608,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" [[package]] -name = "url" -version = "2.3.1" +name = "untrusted" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + +[[package]] +name = "url" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" dependencies = [ "form_urlencoded", "idna", @@ -3767,7 +3634,7 @@ dependencies = [ "data-url", "flate2", "imagesize", - "kurbo 0.9.3", + "kurbo 0.9.5", "log", "rctree", "rosvgtree", @@ -3781,7 +3648,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "195386e01bc35f860db024de275a76e7a31afdf975d18beb6d0e44764118b4db" dependencies = [ "fontdb", - "kurbo 0.9.3", + "kurbo 0.9.5", "log", "rustybuzz", "unicode-bidi", @@ -3790,12 +3657,6 @@ dependencies = [ "usvg", ] -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - [[package]] name = "vec_map" version = "0.8.2" @@ -3810,12 +3671,11 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "walkdir" -version = "2.3.2" +version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" +checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" dependencies = [ "same-file", - "winapi", "winapi-util", ] @@ -3837,9 +3697,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.84" +version = "0.2.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" +checksum = "5bba0e8cb82ba49ff4e229459ff22a191bbe9a1cb3a341610c9c33efc27ddf73" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -3847,24 +3707,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.84" +version = "0.2.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" +checksum = "19b04bc93f9d6bdee709f6bd2118f57dd6679cf1176a1af464fca3ab0d66d8fb" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.18", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.34" +version = "0.4.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" +checksum = "2d1985d03709c53167ce907ff394f5316aa22cb4e12761295c5dc57dacb6297e" dependencies = [ "cfg-if", "js-sys", @@ -3874,9 +3734,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.84" +version = "0.2.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" +checksum = "14d6b024f1a526bb0234f52840389927257beb670610081360e5a03c5df9c258" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3884,22 +3744,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.84" +version = "0.2.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" +checksum = "e128beba882dd1eb6200e1dc92ae6c5dbaa4311aa7bb211ca035779e5efc39f8" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.18", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.84" +version = "0.2.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" +checksum = "ed9d5b4305409d1fc9482fee2d7f9bcbf24b3972bf59817ef757e23982242a93" [[package]] name = "wasm-timer" @@ -3991,14 +3851,33 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.61" +version = "0.3.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" +checksum = "3bdd9ef4e984da1187bf8110c5cf5b845fbc87a23602cdf912386a76fcd3a7c2" dependencies = [ "js-sys", "wasm-bindgen", ] +[[package]] +name = "webpki" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "webpki-roots" +version = "0.22.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" +dependencies = [ + "webpki", +] + [[package]] name = "weezl" version = "0.1.7" @@ -4018,7 +3897,7 @@ dependencies = [ "naga", "parking_lot 0.12.1", "profiling", - "raw-window-handle 0.5.0", + "raw-window-handle 0.5.2", "smallvec", "static_assertions", "wasm-bindgen", @@ -4044,7 +3923,7 @@ dependencies = [ "naga", "parking_lot 0.12.1", "profiling", - "raw-window-handle 0.5.0", + "raw-window-handle 0.5.2", "smallvec", "thiserror", "web-sys", @@ -4068,7 +3947,7 @@ dependencies = [ "d3d12", "foreign-types 0.3.2", "fxhash", - "glow 0.12.1", + "glow 0.12.2", "gpu-alloc", "gpu-allocator", "gpu-descriptor", @@ -4084,7 +3963,7 @@ dependencies = [ "parking_lot 0.12.1", "profiling", "range-alloc", - "raw-window-handle 0.5.0", + "raw-window-handle 0.5.2", "renderdoc-sys", "smallvec", "thiserror", @@ -4183,7 +4062,25 @@ version = "0.44.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e745dab35a0c4c77aa3ce42d595e13d2003d6902d6b08c9ef5fc326d08da12b" dependencies = [ - "windows-targets 0.42.1", + "windows-targets 0.42.2", +] + +[[package]] +name = "windows" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdacb41e6a96a052c6cb63a144f24900236121c6f63f4f8219fef5977ecb0c25" +dependencies = [ + "windows-targets 0.42.2", +] + +[[package]] +name = "windows" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +dependencies = [ + "windows-targets 0.48.0", ] [[package]] @@ -4199,30 +4096,6 @@ dependencies = [ "windows_x86_64_msvc 0.36.1", ] -[[package]] -name = "windows-sys" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" -dependencies = [ - "windows_aarch64_gnullvm 0.42.1", - "windows_aarch64_msvc 0.42.1", - "windows_i686_gnu 0.42.1", - "windows_i686_msvc 0.42.1", - "windows_x86_64_gnu 0.42.1", - "windows_x86_64_gnullvm 0.42.1", - "windows_x86_64_msvc 0.42.1", -] - -[[package]] -name = "windows-sys" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" -dependencies = [ - "windows-targets 0.42.1", -] - [[package]] name = "windows-sys" version = "0.48.0" @@ -4234,17 +4107,17 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.42.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" dependencies = [ - "windows_aarch64_gnullvm 0.42.1", - "windows_aarch64_msvc 0.42.1", - "windows_i686_gnu 0.42.1", - "windows_i686_msvc 0.42.1", - "windows_x86_64_gnu 0.42.1", - "windows_x86_64_gnullvm 0.42.1", - "windows_x86_64_msvc 0.42.1", + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", ] [[package]] @@ -4264,9 +4137,9 @@ dependencies = [ [[package]] name = "windows_aarch64_gnullvm" -version = "0.42.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" [[package]] name = "windows_aarch64_gnullvm" @@ -4282,9 +4155,9 @@ checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" [[package]] name = "windows_aarch64_msvc" -version = "0.42.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" [[package]] name = "windows_aarch64_msvc" @@ -4300,9 +4173,9 @@ checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" [[package]] name = "windows_i686_gnu" -version = "0.42.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" [[package]] name = "windows_i686_gnu" @@ -4318,9 +4191,9 @@ checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" [[package]] name = "windows_i686_msvc" -version = "0.42.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" [[package]] name = "windows_i686_msvc" @@ -4336,9 +4209,9 @@ checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" [[package]] name = "windows_x86_64_gnu" -version = "0.42.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" [[package]] name = "windows_x86_64_gnu" @@ -4348,9 +4221,9 @@ checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" [[package]] name = "windows_x86_64_gnullvm" -version = "0.42.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" [[package]] name = "windows_x86_64_gnullvm" @@ -4366,9 +4239,9 @@ checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" [[package]] name = "windows_x86_64_msvc" -version = "0.42.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" [[package]] name = "windows_x86_64_msvc" @@ -4398,7 +4271,7 @@ dependencies = [ "parking_lot 0.12.1", "percent-encoding", "raw-window-handle 0.4.3", - "raw-window-handle 0.5.0", + "raw-window-handle 0.5.2", "sctk-adwaita", "smithay-client-toolkit", "wasm-bindgen", @@ -4409,6 +4282,15 @@ dependencies = [ "x11-dl", ] +[[package]] +name = "winnow" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61de7bac303dc551fe038e2b3cef0f571087a47571ea6e79a87692ac99b99699" +dependencies = [ + "memchr", +] + [[package]] name = "winreg" version = "0.10.1" @@ -4418,6 +4300,15 @@ dependencies = [ "winapi", ] +[[package]] +name = "winres" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b68db261ef59e9e52806f688020631e987592bd83619edccda9c47d42cde4f6c" +dependencies = [ + "toml", +] + [[package]] name = "wio" version = "0.2.2" diff --git a/Cargo.toml b/Cargo.toml index 9652a3f0..318af2a3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sniffnet" -version = "1.2.0" +version = "1.2.1" authors = [ "Giuliano Bellini" ] edition = "2021" description = "Application to comfortably monitor your network traffic" @@ -21,6 +21,9 @@ include = [ "resources/sounds/*" ] +[target."cfg(windows)"] +rustflags = ["-C", "target-feature=+crt-static"] + #═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════ [profile.release] @@ -44,7 +47,7 @@ maxminddb = "0.23.0" confy = "0.5.1" serde = { version = "1.0.163", default_features = false, features = ["derive"] } rodio = { version = "0.17.1", default_features = false, features = ["mp3"] } -reqwest = { version = "0.11.18", features = ["json", "blocking"] } +reqwest = { version = "0.11.18", default-features = false, features = ["json", "blocking", "rustls-tls"] } dns-lookup = "2.0.2" #─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── @@ -52,70 +55,102 @@ dns-lookup = "2.0.2" [dev-dependencies] rstest = "0.17.0" +#─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── + +[target."cfg(windows)".build-dependencies] +winres = "0.1.12" + +#═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════ + +[package.metadata.cross.target.x86_64-unknown-linux-gnu] +pre-build = [ + "dpkg --add-architecture amd64", + "apt update -y && apt install -y libfreetype6-dev:amd64 libexpat1-dev:amd64 libpcap-dev:amd64 libasound2-dev:amd64 libfontconfig1-dev:amd64" +] + +[package.metadata.cross.target.i686-unknown-linux-gnu] +pre-build = [ + "dpkg --add-architecture i386", + "apt update -y && apt install -y libfreetype6-dev:i386 libexpat1-dev:i386 libpcap-dev:i386 libasound2-dev:i386 libfontconfig1-dev:i386" +] + +[package.metadata.cross.target.aarch64-unknown-linux-gnu] +pre-build = [ + "dpkg --add-architecture arm64", + "apt update -y && apt install -y libfreetype6-dev:arm64 libexpat1-dev:arm64 libpcap-dev:arm64 libasound2-dev:arm64 libfontconfig1-dev:arm64" +] + +[package.metadata.cross.target.armv7-unknown-linux-gnueabihf] +pre-build = [ + "dpkg --add-architecture armhf", + "apt update -y && apt install -y libfreetype6-dev:armhf libexpat1-dev:armhf libpcap-dev:armhf libasound2-dev:armhf libfontconfig1-dev:armhf" +] + #═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════ [package.metadata.deb] -depends = "libasound2-dev, libpcap-dev, libfontconfig1" +section="Network" +license-file="resources/packaging/LICENSE" +extended-description-file="resources/packaging/linux/description.txt" +maintainer-scripts="resources/packaging/linux/scripts/" +depends = "libasound2, libpcap0.8, libfontconfig1" assets = [ ["target/release/sniffnet", "/usr/bin/", "755"], - ["resources/sniffnet.desktop", "/usr/share/applications/", "644"], - ["resources/icons/sniffnet-linux_8x8.png", "/usr/share/icons/hicolor/8x8/apps/sniffnet.png", "644"], - ["resources/icons/sniffnet-linux_16x16.png", "/usr/share/icons/hicolor/16x16/apps/sniffnet.png", "644"], - ["resources/icons/sniffnet-linux_22x22.png", "/usr/share/icons/hicolor/22x22/apps/sniffnet.png", "644"], - ["resources/icons/sniffnet-linux_24x24.png", "/usr/share/icons/hicolor/24x24/apps/sniffnet.png", "644"], - ["resources/icons/sniffnet-linux_32x32.png", "/usr/share/icons/hicolor/32x32/apps/sniffnet.png", "644"], - ["resources/icons/sniffnet-linux_36x36.png", "/usr/share/icons/hicolor/36x36/apps/sniffnet.png", "644"], - ["resources/icons/sniffnet-linux_42x42.png", "/usr/share/icons/hicolor/42x42/apps/sniffnet.png", "644"], - ["resources/icons/sniffnet-linux_48x48.png", "/usr/share/icons/hicolor/48x48/apps/sniffnet.png", "644"], - ["resources/icons/sniffnet-linux_64x64.png", "/usr/share/icons/hicolor/64x64/apps/sniffnet.png", "644"], - ["resources/icons/sniffnet-linux_72x72.png", "/usr/share/icons/hicolor/72x72/apps/sniffnet.png", "644"], - ["resources/icons/sniffnet-linux_96x96.png", "/usr/share/icons/hicolor/96x96/apps/sniffnet.png", "644"], - ["resources/icons/sniffnet-linux_128x128.png", "/usr/share/icons/hicolor/128x128/apps/sniffnet.png", "644"], - ["resources/icons/sniffnet-linux_160x160.png", "/usr/share/icons/hicolor/160x160/apps/sniffnet.png", "644"], - ["resources/icons/sniffnet-linux_192x192.png", "/usr/share/icons/hicolor/192x192/apps/sniffnet.png", "644"], - ["resources/icons/sniffnet-linux_256x256.png", "/usr/share/icons/hicolor/256x256/apps/sniffnet.png", "644"], - ["resources/icons/sniffnet-linux_384x384.png", "/usr/share/icons/hicolor/384x384/apps/sniffnet.png", "644"], - ["resources/icons/sniffnet-linux_512x512.png", "/usr/share/icons/hicolor/512x512/apps/sniffnet.png", "644"], - ["resources/icons/sniffnet-linux_1024x1024.png", "/usr/share/icons/hicolor/1024x1024/apps/sniffnet.png", "644"] + ["resources/packaging/linux/sniffnet.desktop", "/usr/share/applications/", "644"], + ["resources/packaging/linux/graphics/sniffnet_8x8.png", "/usr/share/icons/hicolor/8x8/apps/sniffnet.png", "644"], + ["resources/packaging/linux/graphics/sniffnet_16x16.png", "/usr/share/icons/hicolor/16x16/apps/sniffnet.png", "644"], + ["resources/packaging/linux/graphics/sniffnet_22x22.png", "/usr/share/icons/hicolor/22x22/apps/sniffnet.png", "644"], + ["resources/packaging/linux/graphics/sniffnet_24x24.png", "/usr/share/icons/hicolor/24x24/apps/sniffnet.png", "644"], + ["resources/packaging/linux/graphics/sniffnet_32x32.png", "/usr/share/icons/hicolor/32x32/apps/sniffnet.png", "644"], + ["resources/packaging/linux/graphics/sniffnet_36x36.png", "/usr/share/icons/hicolor/36x36/apps/sniffnet.png", "644"], + ["resources/packaging/linux/graphics/sniffnet_42x42.png", "/usr/share/icons/hicolor/42x42/apps/sniffnet.png", "644"], + ["resources/packaging/linux/graphics/sniffnet_48x48.png", "/usr/share/icons/hicolor/48x48/apps/sniffnet.png", "644"], + ["resources/packaging/linux/graphics/sniffnet_64x64.png", "/usr/share/icons/hicolor/64x64/apps/sniffnet.png", "644"], + ["resources/packaging/linux/graphics/sniffnet_72x72.png", "/usr/share/icons/hicolor/72x72/apps/sniffnet.png", "644"], + ["resources/packaging/linux/graphics/sniffnet_96x96.png", "/usr/share/icons/hicolor/96x96/apps/sniffnet.png", "644"], + ["resources/packaging/linux/graphics/sniffnet_128x128.png", "/usr/share/icons/hicolor/128x128/apps/sniffnet.png", "644"], + ["resources/packaging/linux/graphics/sniffnet_160x160.png", "/usr/share/icons/hicolor/160x160/apps/sniffnet.png", "644"], + ["resources/packaging/linux/graphics/sniffnet_192x192.png", "/usr/share/icons/hicolor/192x192/apps/sniffnet.png", "644"], + ["resources/packaging/linux/graphics/sniffnet_256x256.png", "/usr/share/icons/hicolor/256x256/apps/sniffnet.png", "644"], + ["resources/packaging/linux/graphics/sniffnet_384x384.png", "/usr/share/icons/hicolor/384x384/apps/sniffnet.png", "644"], + ["resources/packaging/linux/graphics/sniffnet_512x512.png", "/usr/share/icons/hicolor/512x512/apps/sniffnet.png", "644"], + ["resources/packaging/linux/graphics/sniffnet_1024x1024.png", "/usr/share/icons/hicolor/1024x1024/apps/sniffnet.png", "644"] ] #─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [package.metadata.generate-rpm] -auto-req = "no" +post_install_script = "setcap cap_net_raw,cap_net_admin=eip /usr/bin/sniffnet" +pre_uninstall_script = "setcap '' /usr/bin/sniffnet" assets = [ { source = "target/release/sniffnet", dest = "/usr/bin/", mode = "755" }, - { source = "resources/sniffnet.desktop", dest = "/usr/share/applications/", mode = "644" }, - { source = "resources/icons/sniffnet-linux_8x8.png", dest = "/usr/share/icons/hicolor/8x8/apps/sniffnet.png", mode = "644" }, - { source = "resources/icons/sniffnet-linux_16x16.png", dest = "/usr/share/icons/hicolor/16x16/apps/sniffnet.png", mode = "644" }, - { source = "resources/icons/sniffnet-linux_22x22.png", dest = "/usr/share/icons/hicolor/22x22/apps/sniffnet.png", mode = "644" }, - { source = "resources/icons/sniffnet-linux_24x24.png", dest = "/usr/share/icons/hicolor/24x24/apps/sniffnet.png", mode = "644" }, - { source = "resources/icons/sniffnet-linux_32x32.png", dest = "/usr/share/icons/hicolor/32x32/apps/sniffnet.png", mode = "644" }, - { source = "resources/icons/sniffnet-linux_36x36.png", dest = "/usr/share/icons/hicolor/36x36/apps/sniffnet.png", mode = "644" }, - { source = "resources/icons/sniffnet-linux_42x42.png", dest = "/usr/share/icons/hicolor/42x42/apps/sniffnet.png", mode = "644" }, - { source = "resources/icons/sniffnet-linux_48x48.png", dest = "/usr/share/icons/hicolor/48x48/apps/sniffnet.png", mode = "644" }, - { source = "resources/icons/sniffnet-linux_64x64.png", dest = "/usr/share/icons/hicolor/64x64/apps/sniffnet.png", mode = "644" }, - { source = "resources/icons/sniffnet-linux_72x72.png", dest = "/usr/share/icons/hicolor/72x72/apps/sniffnet.png", mode = "644" }, - { source = "resources/icons/sniffnet-linux_96x96.png", dest = "/usr/share/icons/hicolor/96x96/apps/sniffnet.png", mode = "644" }, - { source = "resources/icons/sniffnet-linux_128x128.png", dest = "/usr/share/icons/hicolor/128x128/apps/sniffnet.png", mode = "644" }, - { source = "resources/icons/sniffnet-linux_160x160.png", dest = "/usr/share/icons/hicolor/160x160/apps/sniffnet.png", mode = "644" }, - { source = "resources/icons/sniffnet-linux_192x192.png", dest = "/usr/share/icons/hicolor/192x192/apps/sniffnet.png", mode = "644" }, - { source = "resources/icons/sniffnet-linux_256x256.png", dest = "/usr/share/icons/hicolor/256x256/apps/sniffnet.png", mode = "644" }, - { source = "resources/icons/sniffnet-linux_384x384.png", dest = "/usr/share/icons/hicolor/384x384/apps/sniffnet.png", mode = "644" }, - { source = "resources/icons/sniffnet-linux_512x512.png", dest = "/usr/share/icons/hicolor/512x512/apps/sniffnet.png", mode = "644" }, - { source = "resources/icons/sniffnet-linux_1024x1024.png", dest = "/usr/share/icons/hicolor/1024x1024/apps/sniffnet.png", mode = "644" } + { source = "resources/packaging/linux/sniffnet.desktop", dest = "/usr/share/applications/", mode = "644" }, + { source = "resources/packaging/linux/graphics/sniffnet_8x8.png", dest = "/usr/share/icons/hicolor/8x8/apps/sniffnet.png", mode = "644" }, + { source = "resources/packaging/linux/graphics/sniffnet_16x16.png", dest = "/usr/share/icons/hicolor/16x16/apps/sniffnet.png", mode = "644" }, + { source = "resources/packaging/linux/graphics/sniffnet_22x22.png", dest = "/usr/share/icons/hicolor/22x22/apps/sniffnet.png", mode = "644" }, + { source = "resources/packaging/linux/graphics/sniffnet_24x24.png", dest = "/usr/share/icons/hicolor/24x24/apps/sniffnet.png", mode = "644" }, + { source = "resources/packaging/linux/graphics/sniffnet_32x32.png", dest = "/usr/share/icons/hicolor/32x32/apps/sniffnet.png", mode = "644" }, + { source = "resources/packaging/linux/graphics/sniffnet_36x36.png", dest = "/usr/share/icons/hicolor/36x36/apps/sniffnet.png", mode = "644" }, + { source = "resources/packaging/linux/graphics/sniffnet_42x42.png", dest = "/usr/share/icons/hicolor/42x42/apps/sniffnet.png", mode = "644" }, + { source = "resources/packaging/linux/graphics/sniffnet_48x48.png", dest = "/usr/share/icons/hicolor/48x48/apps/sniffnet.png", mode = "644" }, + { source = "resources/packaging/linux/graphics/sniffnet_64x64.png", dest = "/usr/share/icons/hicolor/64x64/apps/sniffnet.png", mode = "644" }, + { source = "resources/packaging/linux/graphics/sniffnet_72x72.png", dest = "/usr/share/icons/hicolor/72x72/apps/sniffnet.png", mode = "644" }, + { source = "resources/packaging/linux/graphics/sniffnet_96x96.png", dest = "/usr/share/icons/hicolor/96x96/apps/sniffnet.png", mode = "644" }, + { source = "resources/packaging/linux/graphics/sniffnet_128x128.png", dest = "/usr/share/icons/hicolor/128x128/apps/sniffnet.png", mode = "644" }, + { source = "resources/packaging/linux/graphics/sniffnet_160x160.png", dest = "/usr/share/icons/hicolor/160x160/apps/sniffnet.png", mode = "644" }, + { source = "resources/packaging/linux/graphics/sniffnet_192x192.png", dest = "/usr/share/icons/hicolor/192x192/apps/sniffnet.png", mode = "644" }, + { source = "resources/packaging/linux/graphics/sniffnet_256x256.png", dest = "/usr/share/icons/hicolor/256x256/apps/sniffnet.png", mode = "644" }, + { source = "resources/packaging/linux/graphics/sniffnet_384x384.png", dest = "/usr/share/icons/hicolor/384x384/apps/sniffnet.png", mode = "644" }, + { source = "resources/packaging/linux/graphics/sniffnet_512x512.png", dest = "/usr/share/icons/hicolor/512x512/apps/sniffnet.png", mode = "644" }, + { source = "resources/packaging/linux/graphics/sniffnet_1024x1024.png", dest = "/usr/share/icons/hicolor/1024x1024/apps/sniffnet.png", mode = "644" } ] [package.metadata.generate-rpm.requires] -alsa-lib-devel = "*" -libpcap-devel = "*" -fontconfig-devel = "*" +alsa-lib = "*" +libpcap = "*" +fontconfig = "*" #─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── -[package.metadata.bundle] -name = "Sniffnet" -identifier = "gyulyvgc.sniffnet" -icon = [ - "resources/icons/sniffnet-macos.icns" -] +[package.metadata.wix] +include = [".\\resources\\packaging\\windows\\setup.wxs"] diff --git a/README.md b/README.md index 31f7a5e3..797f457c 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@
Graphical interface translated in:
-🇬🇧  🇩🇪  🇬🇷  🇪🇦  🇮🇷  🇫🇷  🇮🇹  🇰🇷  🇵🇱  🇵🇹  🇷🇴  🇷🇺  🇹🇷  🇺🇦  🇨🇳
+🇬🇧  🇩🇪  🇬🇷  🇪🇦  🇮🇷  🇫🇷  🇮🇹  🇰🇷  🇵🇱  🇵🇹  🇷🇴  🇷🇺  🇸🇪  🇹🇷  🇺🇦  🇨🇳
@@ -64,13 +64,31 @@ ## Installation from GitHub releases  - You can install Sniffnet through the installers available in the [latest release](https://github.com/GyulyVGC/sniffnet/releases).
+ You can install Sniffnet through the installers available in the [latest release](https://github.com/GyulyVGC/sniffnet/releases/latest).
Choose from a Windows installer, a macOS disk image, a DEB package, or an RPM package (depending on your operating system).
- Here for your convenience you can find the direct link to the downloads: - - [Windows](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_Windows.msi) (13.1 MB) - - [macOS](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_MacOS.dmg) (12.4 MB) - - [Linux (DEB)](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_Linux.deb) (9.2 MB) - - [Linux (RPM)](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_Linux.rpm) (11.4 MB) + Below, for your convenience, you can find the direct links to the downloads. + + ### Windows + + - [Windows 64-bit](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_Windows_64-bit.msi) + - [Windows 32-bit](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_Windows_32-bit.msi) (only for older architectures) + + ### macOS + + - [macOS Intel](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_macOS_Intel.dmg) + - [macOS Apple Silicon](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_macOS_AppleSilicon.dmg) + + ### Linux DEB-based + + - [Linux amd64](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_LinuxDEB_amd64.deb) + - [Linux arm64](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_LinuxDEB_arm64.deb) + - [Linux i386](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_LinuxDEB_i386.deb) (only for older architectures) + - [Linux armhf](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_LinuxDEB_armhf.deb) (only for older architectures) + +### Linux RPM-based + + - [Linux x86_64](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_LinuxRPM_x86_64.rpm) + - [Linux aarch64](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_LinuxRPM_aarch64.rpm) @@ -128,7 +146,7 @@ ## Required dependencies - Download the [Npcap SDK](https://npcap.com/#download). - - Add the SDK's ```/Lib/x64``` folder to your ```LIB``` environment variable. + - Add the SDK's ```/Lib/x64``` (or ```/Lib```) folder to your ```LIB``` environment variable. @@ -137,10 +155,10 @@ ## Required dependencies Linux dependencies  - - On [Debian-based](https://en.wikipedia.org/wiki/List_of_Linux_distributions#Debian-based) distributions: + - On [DEB-based](https://en.wikipedia.org/wiki/List_of_Linux_distributions#Debian-based) distributions: - `libpcap-dev` - `libasound2-dev` - - `libfontconfig1` + - `libfontconfig1-dev` - On [RPM-based](https://en.wikipedia.org/wiki/List_of_Linux_distributions#RPM-based) distributions: - `libpcap-devel` - `alsa-lib-devel` diff --git a/build.rs b/build.rs new file mode 100644 index 00000000..df4eea93 --- /dev/null +++ b/build.rs @@ -0,0 +1,12 @@ +#[cfg(windows)] +extern crate winres; + +#[cfg(windows)] +fn main() { + let mut res = winres::WindowsResource::new(); + res.set_icon("resources/packaging/windows/graphics/sniffnet.ico"); + res.compile().unwrap(); +} + +#[cfg(unix)] +fn main() {} diff --git a/resources/Info.plist b/resources/Info.plist deleted file mode 100644 index 5f36e107..00000000 --- a/resources/Info.plist +++ /dev/null @@ -1,32 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleDisplayName - Sniffnet - CFBundleExecutable - wrapper.sh - CFBundleIconFile - sniffnet-macos.icns - CFBundleIdentifier - gyulyvgc.sniffnet - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - Sniffnet - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0.0 - CFBundleVersion - 20221123.150927 - CSResourcesFileMapped - - LSRequiresCarbon - - NSHighResolutionCapable - - - diff --git a/resources/logos/icon.png b/resources/logos/raw/icon.png similarity index 100% rename from resources/logos/icon.png rename to resources/logos/raw/icon.png diff --git a/resources/logos/icon_macos.png b/resources/logos/raw/icon_macos.png similarity index 100% rename from resources/logos/icon_macos.png rename to resources/logos/raw/icon_macos.png diff --git a/resources/packaging/LICENSE b/resources/packaging/LICENSE new file mode 100644 index 00000000..e383d1a4 --- /dev/null +++ b/resources/packaging/LICENSE @@ -0,0 +1,236 @@ +******************************************************************************* + DUAL LICENSED SOFTWARE +******************************************************************************* + +The software in this project is dual licensed under the terms of the MIT License +and the Apache License 2.0. You may choose to use this software under either +license, at your discretion. + +------------------------------------------------------------------------------- +The MIT License +------------------------------------------------------------------------------- + +Copyright (c) 2022 - Bellini Giuliano + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +------------------------------------------------------------------------------- +Apache License 2.0 +------------------------------------------------------------------------------- + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +******************************************************************************* diff --git a/resources/packaging/linux/description.txt b/resources/packaging/linux/description.txt new file mode 100644 index 00000000..4558398a --- /dev/null +++ b/resources/packaging/linux/description.txt @@ -0,0 +1,18 @@ +Features: +Choose a network adapter of your PC to inspect +Select a set of filters to apply to the observed traffic; +View overall statistics about your Internet traffic; +View real-time charts about traffic intensity (bytes and packets per second, incoming and outgoing); +Get details about domain names and network providers of the hosts you are exchanging traffic with; +Identify connections in your local network; +Get information about the country of the remote hosts (IP geolocation); +Save your favorite network hosts; +Set custom notifications to inform you when defined network events occur; +Choose the style that fits you the most from 4 different available themes; +Inspect each of your network connections in real time; +Save complete textual report with detailed information for each network connection: +Source and destination IP addresses, +Source and destination ports, +Carried protocols, +Amount of exchanged packets and bytes, +Initial and final timestamp of information exchange diff --git a/resources/icons/sniffnet-linux_1024x1024.png b/resources/packaging/linux/graphics/sniffnet_1024x1024.png similarity index 100% rename from resources/icons/sniffnet-linux_1024x1024.png rename to resources/packaging/linux/graphics/sniffnet_1024x1024.png diff --git a/resources/icons/sniffnet-linux_128x128.png b/resources/packaging/linux/graphics/sniffnet_128x128.png similarity index 100% rename from resources/icons/sniffnet-linux_128x128.png rename to resources/packaging/linux/graphics/sniffnet_128x128.png diff --git a/resources/icons/sniffnet-linux_160x160.png b/resources/packaging/linux/graphics/sniffnet_160x160.png similarity index 100% rename from resources/icons/sniffnet-linux_160x160.png rename to resources/packaging/linux/graphics/sniffnet_160x160.png diff --git a/resources/icons/sniffnet-linux_16x16.png b/resources/packaging/linux/graphics/sniffnet_16x16.png similarity index 100% rename from resources/icons/sniffnet-linux_16x16.png rename to resources/packaging/linux/graphics/sniffnet_16x16.png diff --git a/resources/icons/sniffnet-linux_192x192.png b/resources/packaging/linux/graphics/sniffnet_192x192.png similarity index 100% rename from resources/icons/sniffnet-linux_192x192.png rename to resources/packaging/linux/graphics/sniffnet_192x192.png diff --git a/resources/icons/sniffnet-linux_22x22.png b/resources/packaging/linux/graphics/sniffnet_22x22.png similarity index 100% rename from resources/icons/sniffnet-linux_22x22.png rename to resources/packaging/linux/graphics/sniffnet_22x22.png diff --git a/resources/icons/sniffnet-linux_24x24.png b/resources/packaging/linux/graphics/sniffnet_24x24.png similarity index 100% rename from resources/icons/sniffnet-linux_24x24.png rename to resources/packaging/linux/graphics/sniffnet_24x24.png diff --git a/resources/icons/sniffnet-linux_256x256.png b/resources/packaging/linux/graphics/sniffnet_256x256.png similarity index 100% rename from resources/icons/sniffnet-linux_256x256.png rename to resources/packaging/linux/graphics/sniffnet_256x256.png diff --git a/resources/icons/sniffnet-linux_32x32.png b/resources/packaging/linux/graphics/sniffnet_32x32.png similarity index 100% rename from resources/icons/sniffnet-linux_32x32.png rename to resources/packaging/linux/graphics/sniffnet_32x32.png diff --git a/resources/icons/sniffnet-linux_36x36.png b/resources/packaging/linux/graphics/sniffnet_36x36.png similarity index 100% rename from resources/icons/sniffnet-linux_36x36.png rename to resources/packaging/linux/graphics/sniffnet_36x36.png diff --git a/resources/icons/sniffnet-linux_384x384.png b/resources/packaging/linux/graphics/sniffnet_384x384.png similarity index 100% rename from resources/icons/sniffnet-linux_384x384.png rename to resources/packaging/linux/graphics/sniffnet_384x384.png diff --git a/resources/icons/sniffnet-linux_42x42.png b/resources/packaging/linux/graphics/sniffnet_42x42.png similarity index 100% rename from resources/icons/sniffnet-linux_42x42.png rename to resources/packaging/linux/graphics/sniffnet_42x42.png diff --git a/resources/icons/sniffnet-linux_48x48.png b/resources/packaging/linux/graphics/sniffnet_48x48.png similarity index 100% rename from resources/icons/sniffnet-linux_48x48.png rename to resources/packaging/linux/graphics/sniffnet_48x48.png diff --git a/resources/icons/sniffnet-linux_512x512.png b/resources/packaging/linux/graphics/sniffnet_512x512.png similarity index 100% rename from resources/icons/sniffnet-linux_512x512.png rename to resources/packaging/linux/graphics/sniffnet_512x512.png diff --git a/resources/icons/sniffnet-linux_64x64.png b/resources/packaging/linux/graphics/sniffnet_64x64.png similarity index 100% rename from resources/icons/sniffnet-linux_64x64.png rename to resources/packaging/linux/graphics/sniffnet_64x64.png diff --git a/resources/icons/sniffnet-linux_72x72.png b/resources/packaging/linux/graphics/sniffnet_72x72.png similarity index 100% rename from resources/icons/sniffnet-linux_72x72.png rename to resources/packaging/linux/graphics/sniffnet_72x72.png diff --git a/resources/icons/sniffnet-linux_8x8.png b/resources/packaging/linux/graphics/sniffnet_8x8.png similarity index 100% rename from resources/icons/sniffnet-linux_8x8.png rename to resources/packaging/linux/graphics/sniffnet_8x8.png diff --git a/resources/icons/sniffnet-linux_96x96.png b/resources/packaging/linux/graphics/sniffnet_96x96.png similarity index 100% rename from resources/icons/sniffnet-linux_96x96.png rename to resources/packaging/linux/graphics/sniffnet_96x96.png diff --git a/resources/packaging/linux/scripts/.gitkeep b/resources/packaging/linux/scripts/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/resources/packaging/linux/scripts/postinst b/resources/packaging/linux/scripts/postinst new file mode 100644 index 00000000..0791d87a --- /dev/null +++ b/resources/packaging/linux/scripts/postinst @@ -0,0 +1,5 @@ +#!/bin/sh + +set -e + +setcap cap_net_raw,cap_net_admin=eip /usr/bin/sniffnet diff --git a/resources/packaging/linux/scripts/prerm b/resources/packaging/linux/scripts/prerm new file mode 100644 index 00000000..af71e5de --- /dev/null +++ b/resources/packaging/linux/scripts/prerm @@ -0,0 +1,5 @@ +#!/bin/sh + +set -e + +setcap '' /usr/bin/sniffnet diff --git a/resources/sniffnet.desktop b/resources/packaging/linux/sniffnet.desktop similarity index 67% rename from resources/sniffnet.desktop rename to resources/packaging/linux/sniffnet.desktop index 6650acb2..aa20a3ae 100644 --- a/resources/sniffnet.desktop +++ b/resources/packaging/linux/sniffnet.desktop @@ -3,8 +3,8 @@ Version=1.0 Type=Application Name=Sniffnet Comment=Application to comfortably monitor your network traffic -Categories=Network;Security;Utility; +Categories=Network;Utility; Icon=sniffnet -Exec=sudo /usr/bin/sniffnet +Exec=/usr/bin/sniffnet StartupWMClass=sniffnet -Terminal=true +Terminal=false diff --git a/resources/packaging/macos/Info.plist b/resources/packaging/macos/Info.plist new file mode 100644 index 00000000..e7a4b7ee --- /dev/null +++ b/resources/packaging/macos/Info.plist @@ -0,0 +1,20 @@ + + + + + CFBundleDevelopmentRegionEnglish + CFBundleDisplayNameSniffnet + CFBundleExecutablewrapper.sh + CFBundleIconFilesniffnet.icns + CFBundleIdentifierio.github.gyulyvgc.sniffnet + CFBundleInfoDictionaryVersion6.0 + CFBundleNameSniffnet + CFBundlePackageTypeAPPL + CFBundleShortVersionString0.0.0 + CFBundleVersionfffffff + CSResourcesFileMapped + LSApplicationCategoryTypepublic.app-category.utilities + LSRequiresCarbon + NSHighResolutionCapable + + diff --git a/resources/logos/bg_dmg.png b/resources/packaging/macos/graphics/dmg_bg.png similarity index 100% rename from resources/logos/bg_dmg.png rename to resources/packaging/macos/graphics/dmg_bg.png diff --git a/resources/icons/sniffnet-macos.icns b/resources/packaging/macos/graphics/sniffnet.icns similarity index 100% rename from resources/icons/sniffnet-macos.icns rename to resources/packaging/macos/graphics/sniffnet.icns diff --git a/resources/packaging/macos/wrapper.sh b/resources/packaging/macos/wrapper.sh new file mode 100755 index 00000000..20ab4ddc --- /dev/null +++ b/resources/packaging/macos/wrapper.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env zsh +osascript -e "do shell script \"/*/Sniffnet.app/Contents/MacOS/sniffnet >/dev/null 2>&1 &\" with administrator privileges" \ No newline at end of file diff --git a/resources/packaging/windows/EULA.rtf b/resources/packaging/windows/EULA.rtf new file mode 100644 index 00000000..a901a2eb Binary files /dev/null and b/resources/packaging/windows/EULA.rtf differ diff --git a/resources/packaging/windows/graphics/banner.bmp b/resources/packaging/windows/graphics/banner.bmp new file mode 100644 index 00000000..ba56740a Binary files /dev/null and b/resources/packaging/windows/graphics/banner.bmp differ diff --git a/resources/packaging/windows/graphics/dialog.bmp b/resources/packaging/windows/graphics/dialog.bmp new file mode 100644 index 00000000..c59e5155 Binary files /dev/null and b/resources/packaging/windows/graphics/dialog.bmp differ diff --git a/resources/icons/sniffnet-windows.ico b/resources/packaging/windows/graphics/sniffnet.ico similarity index 100% rename from resources/icons/sniffnet-windows.ico rename to resources/packaging/windows/graphics/sniffnet.ico diff --git a/resources/packaging/windows/setup.wxs b/resources/packaging/windows/setup.wxs new file mode 100644 index 00000000..95f94019 --- /dev/null +++ b/resources/packaging/windows/setup.wxs @@ -0,0 +1,195 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed + + + + + + + + + + + diff --git a/resources/wrapper.sh b/resources/wrapper.sh deleted file mode 100755 index 45febf2d..00000000 --- a/resources/wrapper.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -osascript \ - -e "do shell script \"/*/Sniffnet.app/Contents/MacOS/sniffnet > /dev/null 2>&1 & \" with administrator privileges" diff --git a/src/countries/country_utils.rs b/src/countries/country_utils.rs index 224f4821..decd1367 100644 --- a/src/countries/country_utils.rs +++ b/src/countries/country_utils.rs @@ -1,3 +1,10 @@ +use iced::widget::Tooltip; +use iced::{Length, Renderer}; +use iced_native::svg::Handle; +use iced_native::widget::tooltip::Position; +use iced_native::widget::Svg; +use maxminddb::{geoip2, MaxMindDBError, Reader}; + use crate::countries::flags_pictures::{ AD, AE, AF, AG, AI, AL, AM, AO, AQ, AR, AS, AT, AU, AW, AX, AZ, BA, BB, BD, BE, BF, BG, BH, BI, BJ, BL, BM, BN, BO, BQ, BR, BROADCAST, BS, BT, BV, BW, BY, BZ, CA, CC, CD, CF, CG, CH, CI, CK, @@ -22,12 +29,6 @@ local_translation, unknown_translation, your_network_adapter_translation, }; use crate::{Language, StyleType}; -use iced::widget::Tooltip; -use iced::{Length, Renderer}; -use iced_native::svg::Handle; -use iced_native::widget::tooltip::Position; -use iced_native::widget::Svg; -use maxminddb::{geoip2, MaxMindDBError, Reader}; pub const COUNTRY_MMDB: &[u8] = include_bytes!("../../resources/DB/GeoLite2-Country.mmdb"); diff --git a/src/notifications/types/notifications.rs b/src/notifications/types/notifications.rs index 24d66b6b..e3eff629 100644 --- a/src/notifications/types/notifications.rs +++ b/src/notifications/types/notifications.rs @@ -179,17 +179,17 @@ mod tests { use super::*; #[rstest] - #[case("123", BytesNotification { + #[case("123", BytesNotification { previous_threshold: 123, threshold: Some(123), byte_multiple: ByteMultiple::B, ..BytesNotification::default() })] - #[case("500k", BytesNotification { + #[case("500k", BytesNotification { previous_threshold: 500_000, threshold: Some(500_000),byte_multiple: ByteMultiple::KB, ..BytesNotification::default() })] - #[case("420 m", BytesNotification { + #[case("420 m", BytesNotification { previous_threshold: 420_000_000, threshold: Some(420_000_000),byte_multiple: ByteMultiple::MB, ..BytesNotification::default() })] #[case("foob@r", BytesNotification{ threshold: Some(800000), ..Default::default() })] - #[case(" 888 g", BytesNotification { + #[case(" 888 g", BytesNotification { previous_threshold: 888_000_000_000, threshold: Some(888_000_000_000),byte_multiple: ByteMultiple::GB, ..BytesNotification::default() })] fn test_can_instantiate_bytes_notification_from_string( #[case] input: &str, @@ -252,18 +252,18 @@ fn test_can_instantiate_favourite_notification() { } #[rstest] - #[case("123", PacketsNotification { + #[case("123", PacketsNotification { previous_threshold: 123, threshold: Some(123), ..PacketsNotification::default() })] - #[case("8888", PacketsNotification { + #[case("8888", PacketsNotification { previous_threshold: 8888, threshold: Some(8888), ..PacketsNotification::default() })] - #[case("420 m", PacketsNotification { + #[case("420 m", PacketsNotification { threshold: Some(750), ..PacketsNotification::default() })] - #[case("foob@r", PacketsNotification { + #[case("foob@r", PacketsNotification { threshold: Some(750), ..PacketsNotification::default() })] fn test_can_instantiate_packet_notification_from_string( diff --git a/src/translations/types/language.rs b/src/translations/types/language.rs index d2bb9deb..4e3554bc 100644 --- a/src/translations/types/language.rs +++ b/src/translations/types/language.rs @@ -1,11 +1,12 @@ -use crate::countries::flags_pictures::{ - CN, DE, ES, FLAGS_WIDTH_SMALL, FR, GB, GR, IR, IT, KR, PL, PT, RO, RU, SE, TR, UA, -}; use iced::{Length, Renderer}; use iced_native::svg::Handle; use iced_native::widget::Svg; use serde::{Deserialize, Serialize}; +use crate::countries::flags_pictures::{ + CN, DE, ES, FLAGS_WIDTH_SMALL, FR, GB, GR, IR, IT, KR, PL, PT, RO, RU, SE, TR, UA, +}; + /// This enum defines the available languages. #[derive(PartialEq, Eq, Clone, Copy, Debug, Serialize, Deserialize, Hash)] pub enum Language { diff --git a/wix/main.wxs b/wix/main.wxs deleted file mode 100644 index 3bd580d5..00000000 --- a/wix/main.wxs +++ /dev/null @@ -1,301 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - 1 - - - - - - - - - - - - - - - -