diff --git a/.github/workflows/flutter-nightly.yml b/.github/workflows/flutter-nightly.yml
index 4ccd42081..eb13edf15 100644
--- a/.github/workflows/flutter-nightly.yml
+++ b/.github/workflows/flutter-nightly.yml
@@ -47,8 +47,8 @@ jobs:
run: |
flutter doctor -v
flutter precache --windows
- Invoke-WebRequest -Uri https://github.com/Kingtous/engine/releases/download/v3.0.5-rustdesk/windows-x64-release-flutter.zip -OutFile windows-x64-release-flutter.zip
- Expand-Archive windows-x64-release-flutter.zip -DestinationPath engine
+ Invoke-WebRequest -Uri https://github.com/Kingtous/engine/releases/download/v3.0.5-rustdesk.2/windows-x64-flutter-release.zip -OutFile windows-x64-flutter-release.zip
+ Expand-Archive windows-x64-flutter-release.zip -DestinationPath engine
mv -Force engine/* C:/hostedtoolcache/windows/flutter/stable-3.0.5-x64/bin/cache/artifacts/engine/windows-x64-release/
- name: Install Rust toolchain
@@ -142,13 +142,42 @@ jobs:
job:
- {
target: x86_64-apple-darwin,
- os: macos-10.15,
+ os: macos-latest,
extra-build-args: "",
}
steps:
- name: Checkout source code
uses: actions/checkout@v3
+ - name: Import the codesign cert
+ uses: apple-actions/import-codesign-certs@v1
+ with:
+ p12-file-base64: ${{ secrets.MACOS_P12_BASE64 }}
+ p12-password: ${{ secrets.MACOS_P12_PASSWORD }}
+ keychain: rustdesk
+
+ - name: Check sign and import sign key
+ run: |
+ security default-keychain -s rustdesk.keychain
+ security find-identity -v
+
+ - name: Import notarize key
+ uses: timheuer/base64-to-file@v1.2
+ with:
+ # https://gregoryszorc.com/docs/apple-codesign/stable/apple_codesign_rcodesign.html#notarizing-and-stapling
+ fileName: rustdesk.json
+ fileDir: ${{ github.workspace }}
+ encodedString: ${{ secrets.MACOS_NOTARIZE_JSON }}
+
+ - name: Install rcodesign tool
+ shell: bash
+ run: |
+ pushd /tmp
+ wget https://github.com/indygreg/apple-platform-rs/releases/download/apple-codesign%2F0.22.0/apple-codesign-0.22.0-macos-universal.tar.gz
+ tar -zxvf apple-codesign-0.22.0-macos-universal.tar.gz
+ mv apple-codesign-0.22.0-macos-universal/rcodesign /usr/local/bin
+ popd
+
- name: Install build runtime
run: |
brew install llvm create-dmg nasm yasm cmake gcc wget ninja
@@ -158,7 +187,6 @@ jobs:
with:
channel: "stable"
flutter-version: ${{ env.FLUTTER_VERSION }}
- cache: true
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
@@ -177,8 +205,12 @@ jobs:
run: |
dart pub global activate ffigen --version 5.0.1
# flutter_rust_bridge
- pushd /tmp && git clone https://github.com/SoLongAndThanksForAllThePizza/flutter_rust_bridge --depth=1 && popd
- pushd /tmp/flutter_rust_bridge/frb_codegen && cargo install --path . && popd
+ pushd /tmp
+ wget https://github.com/Kingtous/flutter_rust_bridge/releases/download/1.32.0-rustdesk/flutter_rust_bridge_codegen-x86_64-darwin.tgz
+ tar -zxvf flutter_rust_bridge_codegen-x86_64-darwin.tgz
+ mkdir -p ~/.cargo/bin
+ mv flutter_rust_bridge_codegen ~/.cargo/bin; chmod +x ~/.cargo/bin/flutter_rust_bridge_codegen
+ popd
pushd flutter && flutter pub get && popd
~/.cargo/bin/flutter_rust_bridge_codegen --rust-input ./src/flutter_ffi.rs --dart-output ./flutter/lib/generated_bridge.dart
@@ -192,10 +224,6 @@ jobs:
run: |
$VCPKG_ROOT/vcpkg install libvpx libyuv opus
- - name: Install cargo bundle tools
- run: |
- cargo install cargo-bundle
-
- name: Show version information (Rust, cargo, Clang)
shell: bash
run: |
@@ -211,6 +239,18 @@ jobs:
# --hwcodec not supported on macos yet
./build.py --flutter ${{ matrix.job.extra-build-args }}
+ - name: Codesign app and create signed dmg
+ run: |
+ security default-keychain -s rustdesk.keychain
+ security unlock-keychain -p ${{ secrets.MACOS_P12_PASSWORD }} rustdesk.keychain
+ # start sign the rustdesk.app and dmg
+ rm rustdesk-${{ env.VERSION }}.dmg || true
+ codesign --force --options runtime -s ${{ secrets.MACOS_CODESIGN_IDENTITY }} --deep ./flutter/build/macos/Build/Products/Release/rustdesk.app -v
+ create-dmg --icon "rustdesk.app" 200 190 --hide-extension "rustdesk.app" --window-size 800 400 --app-drop-link 600 185 rustdesk-${{ env.VERSION }}.dmg ./flutter/build/macos/Build/Products/Release/rustdesk.app
+ codesign --force --options runtime -s ${{ secrets.MACOS_CODESIGN_IDENTITY }} --deep rustdesk-${{ env.VERSION }}.dmg -v
+ # notarize the rustdesk-${{ env.VERSION }}.dmg
+ rcodesign notary-submit --api-key-path ${{ github.workspace }}/rustdesk.json --staple rustdesk-${{ env.VERSION }}.dmg
+
- name: Rename rustdesk
run: |
for name in rustdesk*??.dmg; do
@@ -377,7 +417,7 @@ jobs:
run: |
~/.cargo/bin/flutter_rust_bridge_codegen --rust-input ./src/flutter_ffi.rs --dart-output ./flutter/lib/generated_bridge.dart
- - name: Upload Artifcat
+ - name: Upload Artifact
uses: actions/upload-artifact@master
with:
name: bridge-artifact
@@ -559,6 +599,12 @@ jobs:
os: ubuntu-20.04,
extra-build-features: "flatpak",
}
+ - {
+ arch: x86_64,
+ target: x86_64-unknown-linux-gnu,
+ os: ubuntu-20.04,
+ extra-build-features: "appimage",
+ }
# - { target: x86_64-unknown-linux-musl , os: ubuntu-20.04, use-cross: true }
steps:
- name: Maximize build space
@@ -1012,7 +1058,7 @@ jobs:
files: |
rustdesk-${{ env.VERSION }}-${{ matrix.job.target }}-${{ matrix.job.os }}.deb
- - name: Upload Artifcat
+ - name: Upload Artifact
uses: actions/upload-artifact@master
if: ${{ contains(matrix.job.extra-build-features, 'flatpak') }}
with:
@@ -1108,6 +1154,12 @@ jobs:
os: ubuntu-18.04,
extra-build-features: "flatpak",
}
+ - {
+ arch: x86_64,
+ target: x86_64-unknown-linux-gnu,
+ os: ubuntu-18.04,
+ extra-build-features: "appimage",
+ }
# - { target: x86_64-unknown-linux-musl , os: ubuntu-20.04, use-cross: true }
steps:
- name: Checkout source code
@@ -1122,7 +1174,7 @@ jobs:
- name: Prepare env
run: |
sudo apt update -y
- sudo apt-get -qq install -y git curl wget nasm yasm libgtk-3-dev
+ sudo apt-get -qq install -y git curl wget nasm yasm libgtk-3-dev libarchive-tools
mkdir -p ./target/release/
- name: Restore the rustdesk lib file
@@ -1177,10 +1229,12 @@ jobs:
shell: bash
run: |
for name in rustdesk*??.deb; do
- mv "$name" "${name%%.deb}-${{ matrix.job.target }}-${{ matrix.job.os }}.deb"
+ # use cp to duplicate deb files to fit other packages.
+ cp "$name" "${name%%.deb}-${{ matrix.job.target }}-${{ matrix.job.os }}.deb"
done
- name: Publish debian package
+ if: ${{ matrix.job.extra-build-features == '' }}
uses: softprops/action-gh-release@v1
with:
prerelease: true
@@ -1188,7 +1242,7 @@ jobs:
files: |
rustdesk-${{ env.VERSION }}-${{ matrix.job.target }}-${{ matrix.job.os }}.deb
- - name: Upload Artifcat
+ - name: Upload Artifact
uses: actions/upload-artifact@master
if: ${{ contains(matrix.job.extra-build-features, 'flatpak') }}
with:
@@ -1244,6 +1298,29 @@ jobs:
files: |
res/rustdesk*.zst
+ - name: Build appimage package
+ if: ${{ matrix.job.extra-build-features == 'appimage' }}
+ shell: bash
+ run: |
+ # set-up appimage-builder
+ pushd /tmp
+ wget -O appimage-builder-x86_64.AppImage https://github.com/AppImageCrafters/appimage-builder/releases/download/v1.1.0/appimage-builder-1.1.0-x86_64.AppImage
+ chmod +x appimage-builder-x86_64.AppImage
+ sudo mv appimage-builder-x86_64.AppImage /usr/local/bin/appimage-builder
+ popd
+ # run appimage-builder
+ pushd appimage
+ sudo appimage-builder --skip-tests
+
+ - name: Publish appimage package
+ if: ${{ matrix.job.extra-build-features == 'appimage' }}
+ uses: softprops/action-gh-release@v1
+ with:
+ prerelease: true
+ tag_name: ${{ env.TAG_NAME }}
+ files: |
+ ./appimage/rustdesk-${{ env.VERSION }}-*.AppImage
+
- name: Publish fedora28/centos8 package
if: ${{ matrix.job.extra-build-features == '' }}
uses: softprops/action-gh-release@v1
diff --git a/Cargo.lock b/Cargo.lock
index 237369d2c..659702704 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -76,7 +76,7 @@ dependencies = [
"alsa-sys",
"bitflags",
"libc",
- "nix 0.23.1",
+ "nix 0.23.2",
]
[[package]]
@@ -175,11 +175,11 @@ dependencies = [
[[package]]
name = "async-channel"
-version = "1.7.1"
+version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e14485364214912d3b19cc3435dde4df66065127f05fa0d75c712f36f12c2f28"
+checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833"
dependencies = [
- "concurrent-queue 1.2.4",
+ "concurrent-queue",
"event-listener",
"futures-core",
]
@@ -192,7 +192,7 @@ checksum = "17adb73da160dfb475c183343c8cccd80721ea5a605d3eb57125f0a7b7a92d0b"
dependencies = [
"async-lock",
"async-task",
- "concurrent-queue 2.0.0",
+ "concurrent-queue",
"fastrand",
"futures-lite",
"slab",
@@ -200,13 +200,13 @@ dependencies = [
[[package]]
name = "async-io"
-version = "1.10.0"
+version = "1.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8121296a9f05be7f34aa4196b1747243b3b62e048bb7906f644f3fbfc490cf7"
+checksum = "8c374dda1ed3e7d8f0d9ba58715f924862c63eae6849c92d3a18e7fbde9e2794"
dependencies = [
"async-lock",
"autocfg 1.1.0",
- "concurrent-queue 1.2.4",
+ "concurrent-queue",
"futures-lite",
"libc",
"log",
@@ -215,7 +215,7 @@ dependencies = [
"slab",
"socket2 0.4.7",
"waker-fn",
- "winapi 0.3.9",
+ "windows-sys 0.42.0",
]
[[package]]
@@ -230,20 +230,20 @@ dependencies = [
[[package]]
name = "async-process"
-version = "1.5.0"
+version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02111fd8655a613c25069ea89fc8d9bb89331fa77486eb3bc059ee757cfa481c"
+checksum = "6381ead98388605d0d9ff86371043b5aa922a3905824244de40dc263a14fcba4"
dependencies = [
"async-io",
+ "async-lock",
"autocfg 1.1.0",
"blocking",
"cfg-if 1.0.0",
"event-listener",
"futures-lite",
"libc",
- "once_cell",
"signal-hook",
- "winapi 0.3.9",
+ "windows-sys 0.42.0",
]
[[package]]
@@ -265,9 +265,9 @@ checksum = "7a40729d2133846d9ed0ea60a8b9541bccddab49cd30f0715a1da672fe9a2524"
[[package]]
name = "async-trait"
-version = "0.1.58"
+version = "0.1.59"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e805d94e6b5001b651426cf4cd446b1ab5f319d27bab5c644f61de0a804360c"
+checksum = "31e6e93155431f3931513b243d371981bb2770112b370c82745a1d19d2f99364"
dependencies = [
"proc-macro2",
"quote",
@@ -438,16 +438,16 @@ dependencies = [
[[package]]
name = "blocking"
-version = "1.2.0"
+version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6ccb65d468978a086b69884437ded69a90faab3bbe6e67f242173ea728acccc"
+checksum = "3c67b173a56acffd6d2326fb7ab938ba0b00a71480e14902b2591c87bc5741e8"
dependencies = [
"async-channel",
+ "async-lock",
"async-task",
"atomic-waker",
"fastrand",
"futures-lite",
- "once_cell",
]
[[package]]
@@ -495,15 +495,9 @@ version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c"
dependencies = [
- "serde 1.0.147",
+ "serde 1.0.149",
]
-[[package]]
-name = "cache-padded"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c"
-
[[package]]
name = "cairo-rs"
version = "0.15.12"
@@ -544,7 +538,7 @@ version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "88ad0e1e3e88dd237a156ab9f571021b8a158caa0ae44b1968a241efb5144c1e"
dependencies = [
- "serde 1.0.147",
+ "serde 1.0.149",
]
[[package]]
@@ -553,7 +547,7 @@ version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27"
dependencies = [
- "serde 1.0.147",
+ "serde 1.0.149",
]
[[package]]
@@ -565,7 +559,7 @@ dependencies = [
"camino",
"cargo-platform",
"semver 1.0.14",
- "serde 1.0.147",
+ "serde 1.0.149",
"serde_json 1.0.89",
]
@@ -581,7 +575,7 @@ dependencies = [
"log",
"proc-macro2",
"quote",
- "serde 1.0.147",
+ "serde 1.0.149",
"serde_json 1.0.89",
"syn",
"tempfile",
@@ -643,7 +637,7 @@ dependencies = [
"js-sys",
"num-integer",
"num-traits 0.2.15",
- "time 0.1.44",
+ "time 0.1.45",
"wasm-bindgen",
"winapi 0.3.9",
]
@@ -733,7 +727,7 @@ dependencies = [
"cc",
"hbb_common",
"lazy_static",
- "serde 1.0.147",
+ "serde 1.0.149",
"serde_derive",
"thiserror",
]
@@ -824,15 +818,6 @@ dependencies = [
"memchr",
]
-[[package]]
-name = "concurrent-queue"
-version = "1.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af4780a44ab5696ea9e28294517f1fffb421a83a25af521333c838635509db9c"
-dependencies = [
- "cache-padded",
-]
-
[[package]]
name = "concurrent-queue"
version = "2.0.0"
@@ -848,7 +833,7 @@ version = "0.4.0"
source = "git+https://github.com/open-trade/confy#630cc28a396cb7d01eefdd9f3824486fe4d8554b"
dependencies = [
"directories-next",
- "serde 1.0.147",
+ "serde 1.0.149",
"thiserror",
"toml",
]
@@ -976,7 +961,7 @@ dependencies = [
"mach",
"ndk 0.6.0",
"ndk-glue 0.6.2",
- "nix 0.23.1",
+ "nix 0.23.2",
"oboe",
"parking_lot 0.11.2",
"stdweb",
@@ -1068,12 +1053,12 @@ dependencies = [
[[package]]
name = "ctrlc"
-version = "3.2.3"
+version = "3.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d91974fbbe88ec1df0c24a4f00f99583667a7e2e6272b2b92d294d81e462173"
+checksum = "1631ca6e3c59112501a9d87fd86f21591ff77acd31331e8a73f8d80a65bbdd71"
dependencies = [
- "nix 0.25.0",
- "winapi 0.3.9",
+ "nix 0.26.1",
+ "windows-sys 0.42.0",
]
[[package]]
@@ -1084,9 +1069,9 @@ checksum = "b365fabc795046672053e29c954733ec3b05e4be654ab130fe8f1f94d7051f35"
[[package]]
name = "cxx"
-version = "1.0.82"
+version = "1.0.83"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4a41a86530d0fe7f5d9ea779916b7cadd2d4f9add748b99c2c029cbbdfaf453"
+checksum = "bdf07d07d6531bfcdbe9b8b739b104610c6508dcc4d63b410585faf338241daf"
dependencies = [
"cc",
"cxxbridge-flags",
@@ -1096,9 +1081,9 @@ dependencies = [
[[package]]
name = "cxx-build"
-version = "1.0.82"
+version = "1.0.83"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06416d667ff3e3ad2df1cd8cd8afae5da26cf9cec4d0825040f88b5ca659a2f0"
+checksum = "d2eb5b96ecdc99f72657332953d4d9c50135af1bac34277801cc3937906ebd39"
dependencies = [
"cc",
"codespan-reporting",
@@ -1111,15 +1096,15 @@ dependencies = [
[[package]]
name = "cxxbridge-flags"
-version = "1.0.82"
+version = "1.0.83"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "820a9a2af1669deeef27cb271f476ffd196a2c4b6731336011e0ba63e2c7cf71"
+checksum = "ac040a39517fd1674e0f32177648334b0f4074625b5588a64519804ba0553b12"
[[package]]
name = "cxxbridge-macro"
-version = "1.0.82"
+version = "1.0.83"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a08a6e2fcc370a089ad3b4aaf54db3b1b4cee38ddabce5896b33eb693275f470"
+checksum = "1362b0ddcfc4eb0a1f57b68bd77dd99f0e826958a96abd0ae9bd092e114ffed6"
dependencies = [
"proc-macro2",
"quote",
@@ -1332,8 +1317,7 @@ checksum = "f578e8e2c440e7297e008bb5486a3a8a194775224bbc23729b0dbdfaeebf162e"
[[package]]
name = "default-net"
version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05e70d471b0ba4e722c85651b3bb04b6880dfdb1224a43ade80c1295314db646"
+source = "git+https://github.com/Kingtous/default-net#bdaad8dd5b08efcba303e71729d3d0b1d5ccdb25"
dependencies = [
"libc",
"memalloc",
@@ -1458,7 +1442,7 @@ checksum = "7f3f119846c823f9eafcf953a8f6ffb6ed69bf6240883261a7f13b634579a51f"
dependencies = [
"lazy_static",
"regex",
- "serde 1.0.147",
+ "serde 1.0.149",
"strsim 0.10.0",
]
@@ -1481,7 +1465,7 @@ dependencies = [
"cc",
"hbb_common",
"lazy_static",
- "serde 1.0.147",
+ "serde 1.0.149",
"serde_derive",
"thiserror",
]
@@ -1503,9 +1487,9 @@ checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797"
[[package]]
name = "embed-resource"
-version = "1.7.2"
+version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ecc24ff8d764818e9ab17963b0593c535f077a513f565e75e4352d758bc4d8c0"
+checksum = "e62abb876c07e4754fae5c14cafa77937841f01740637e17d78dc04352f32a5e"
dependencies = [
"cc",
"rustc_version 0.4.0",
@@ -1533,8 +1517,8 @@ dependencies = [
"log",
"objc",
"pkg-config",
- "rdev 0.5.0-2 (git+https://github.com/asur4s/rdev)",
- "serde 1.0.147",
+ "rdev",
+ "serde 1.0.149",
"serde_derive",
"tfc",
"unicode-segmentation",
@@ -1580,7 +1564,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e75d4cd21b95383444831539909fbb14b9dc3fdceb2a6f5d36577329a1f55ccb"
dependencies = [
"enumflags2_derive",
- "serde 1.0.147",
+ "serde 1.0.149",
]
[[package]]
@@ -1679,7 +1663,7 @@ source = "git+https://github.com/fufesou/evdev#cec616e37790293d2cd2aa54a96601ed6
dependencies = [
"bitvec",
"libc",
- "nix 0.23.1",
+ "nix 0.23.2",
]
[[package]]
@@ -1718,9 +1702,9 @@ dependencies = [
[[package]]
name = "filetime"
-version = "0.2.18"
+version = "0.2.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b9663d381d07ae25dc88dbdf27df458faa83a9b25336bcac83d5e452b5fc9d3"
+checksum = "4e884668cd0c7480504233e951174ddc3b382f7c2666e3b7310b5c4e7b0c37f9"
dependencies = [
"cfg-if 1.0.0",
"libc",
@@ -1730,12 +1714,12 @@ dependencies = [
[[package]]
name = "flate2"
-version = "1.0.24"
+version = "1.0.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6"
+checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841"
dependencies = [
"crc32fast",
- "miniz_oxide 0.5.4",
+ "miniz_oxide 0.6.2",
]
[[package]]
@@ -1787,7 +1771,7 @@ dependencies = [
"pathdiff",
"quote",
"regex",
- "serde 1.0.147",
+ "serde 1.0.149",
"serde_yaml",
"structopt",
"syn",
@@ -2007,7 +1991,7 @@ version = "0.15.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "140b2f5378256527150350a8346dbdb08fadc13453a7a2d73aecd5fab3c402a7"
dependencies = [
- "gio-sys",
+ "gio-sys 0.15.10",
"glib-sys 0.15.10",
"gobject-sys 0.15.10",
"libc",
@@ -2022,7 +2006,7 @@ checksum = "32e7a08c1e8f06f4177fb7e51a777b8c1689f743a7bc11ea91d44d2226073a88"
dependencies = [
"cairo-sys-rs",
"gdk-pixbuf-sys",
- "gio-sys",
+ "gio-sys 0.15.10",
"glib-sys 0.15.10",
"gobject-sys 0.15.10",
"libc",
@@ -2078,7 +2062,7 @@ dependencies = [
"futures-channel",
"futures-core",
"futures-io",
- "gio-sys",
+ "gio-sys 0.15.10",
"glib 0.15.12",
"libc",
"once_cell",
@@ -2098,6 +2082,19 @@ dependencies = [
"winapi 0.3.9",
]
+[[package]]
+name = "gio-sys"
+version = "0.16.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e9b693b8e39d042a95547fc258a7b07349b1f0b48f4b2fa3108ba3c51c0b5229"
+dependencies = [
+ "glib-sys 0.16.3",
+ "gobject-sys 0.16.3",
+ "libc",
+ "system-deps 6.0.3",
+ "winapi 0.3.9",
+]
+
[[package]]
name = "glib"
version = "0.10.3"
@@ -2137,6 +2134,28 @@ dependencies = [
"thiserror",
]
+[[package]]
+name = "glib"
+version = "0.16.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0cd04d150a2c63e6779f43aec7e04f5374252479b7bed5f45146d9c0e821f161"
+dependencies = [
+ "bitflags",
+ "futures-channel",
+ "futures-core",
+ "futures-executor",
+ "futures-task",
+ "futures-util",
+ "gio-sys 0.16.3",
+ "glib-macros 0.16.3",
+ "glib-sys 0.16.3",
+ "gobject-sys 0.16.3",
+ "libc",
+ "once_cell",
+ "smallvec",
+ "thiserror",
+]
+
[[package]]
name = "glib-macros"
version = "0.10.1"
@@ -2168,6 +2187,21 @@ dependencies = [
"syn",
]
+[[package]]
+name = "glib-macros"
+version = "0.16.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e084807350b01348b6d9dbabb724d1a0bb987f47a2c85de200e98e12e30733bf"
+dependencies = [
+ "anyhow",
+ "heck 0.4.0",
+ "proc-macro-crate 1.2.1",
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
[[package]]
name = "glib-sys"
version = "0.10.1"
@@ -2188,6 +2222,16 @@ dependencies = [
"system-deps 6.0.3",
]
+[[package]]
+name = "glib-sys"
+version = "0.16.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c61a4f46316d06bfa33a7ac22df6f0524c8be58e3db2d9ca99ccb1f357b62a65"
+dependencies = [
+ "libc",
+ "system-deps 6.0.3",
+]
+
[[package]]
name = "glob"
version = "0.3.0"
@@ -2216,6 +2260,17 @@ dependencies = [
"system-deps 6.0.3",
]
+[[package]]
+name = "gobject-sys"
+version = "0.16.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3520bb9c07ae2a12c7f2fbb24d4efc11231c8146a86956413fb1a79bb760a0f1"
+dependencies = [
+ "glib-sys 0.16.3",
+ "libc",
+ "system-deps 6.0.3",
+]
+
[[package]]
name = "gstreamer"
version = "0.16.7"
@@ -2382,7 +2437,7 @@ dependencies = [
"cairo-sys-rs",
"gdk-pixbuf-sys",
"gdk-sys",
- "gio-sys",
+ "gio-sys 0.15.10",
"glib-sys 0.15.10",
"gobject-sys 0.15.10",
"libc",
@@ -2455,7 +2510,7 @@ dependencies = [
"quinn",
"rand 0.8.5",
"regex",
- "serde 1.0.147",
+ "serde 1.0.149",
"serde_derive",
"serde_json 1.0.89",
"socket2 0.3.19",
@@ -2547,12 +2602,12 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
[[package]]
name = "hwcodec"
version = "0.1.0"
-source = "git+https://github.com/21pages/hwcodec#f54d69b35251ade110373403ddefcb8b49c87305"
+source = "git+https://github.com/21pages/hwcodec#e819484c4c010199f2a0977bdf306b4edbeafbae"
dependencies = [
"bindgen 0.59.2",
"cc",
"log",
- "serde 1.0.147",
+ "serde 1.0.149",
"serde_derive",
"serde_json 1.0.89",
]
@@ -2583,9 +2638,9 @@ dependencies = [
[[package]]
name = "hyper-rustls"
-version = "0.23.1"
+version = "0.23.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59df7c4e19c950e6e0e868dcc0a300b09a9b88e9ec55bd879ca819087a77355d"
+checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c"
dependencies = [
"http",
"hyper",
@@ -2730,9 +2785,9 @@ dependencies = [
[[package]]
name = "ipnet"
-version = "2.5.1"
+version = "2.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f88c5561171189e69df9d98bcf18fd5f9558300f7ea7b801eb8a0fd748bd8745"
+checksum = "ec947b7a4ce12e3b87e353abae7ce124d025b6c7d6c5aea5cc0bcf92e9510ded"
[[package]]
name = "itertools"
@@ -2847,9 +2902,9 @@ dependencies = [
[[package]]
name = "libc"
-version = "0.2.137"
+version = "0.2.138"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89"
+checksum = "db6d7e329c562c5dfab7a46a2afabc8b987ab9a4834c9d1ca04dc54c1546cef8"
[[package]]
name = "libdbus-sys"
@@ -2979,7 +3034,7 @@ version = "1.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b238e3235c8382b7653c6408ed1b08dd379bdb9fdf990fb0bbae3db2cc0ae963"
dependencies = [
- "nix 0.23.1",
+ "nix 0.23.2",
"winapi 0.3.9",
]
@@ -3004,7 +3059,7 @@ dependencies = [
[[package]]
name = "magnum-opus"
version = "0.4.0"
-source = "git+https://github.com/SoLongAndThanksForAllThePizza/magnum-opus#6247071a64af7b18e2d553e235729e6865f63ece"
+source = "git+https://github.com/rustdesk/magnum-opus#79be072c939168e907fe851690759dcfd6a326af"
dependencies = [
"bindgen 0.59.2",
"target_build_utils",
@@ -3104,6 +3159,15 @@ dependencies = [
"adler",
]
+[[package]]
+name = "miniz_oxide"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
+dependencies = [
+ "adler",
+]
+
[[package]]
name = "mio"
version = "0.6.23"
@@ -3180,7 +3244,7 @@ dependencies = [
[[package]]
name = "mouce"
version = "0.2.1"
-source = "git+https://github.com/fufesou/mouce.git#aa18ba25bb47484282e972a4b95a8e1d753230b5"
+source = "git+https://github.com/fufesou/mouce.git#ed83800d532b95d70e39915314f6052aa433e9b9"
dependencies = [
"glob",
]
@@ -3330,9 +3394,9 @@ dependencies = [
[[package]]
name = "nix"
-version = "0.23.1"
+version = "0.23.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f866317acbd3a240710c63f065ffb1e4fd466259045ccb504130b7f668f35c6"
+checksum = "8f3790c00a0150112de0f4cd161e3d7fc4b2d8a5542ffc35f099a2562aecb35c"
dependencies = [
"bitflags",
"cc",
@@ -3343,9 +3407,9 @@ dependencies = [
[[package]]
name = "nix"
-version = "0.24.2"
+version = "0.24.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "195cdbc1741b8134346d515b3a56a1c94b0912758009cfd53f99ea0f57b065fc"
+checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069"
dependencies = [
"bitflags",
"cfg-if 1.0.0",
@@ -3355,9 +3419,9 @@ dependencies = [
[[package]]
name = "nix"
-version = "0.25.0"
+version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e322c04a9e3440c327fca7b6c8a63e6890a32fa2ad689db972425f07e0d22abb"
+checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4"
dependencies = [
"autocfg 1.1.0",
"bitflags",
@@ -3367,6 +3431,18 @@ dependencies = [
"pin-utils",
]
+[[package]]
+name = "nix"
+version = "0.26.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46a58d1d356c6597d08cde02c2f09d785b09e28711837b1ed667dc652c08a694"
+dependencies = [
+ "bitflags",
+ "cfg-if 1.0.0",
+ "libc",
+ "static_assertions",
+]
+
[[package]]
name = "nom"
version = "7.1.1"
@@ -3592,9 +3668,9 @@ dependencies = [
[[package]]
name = "ordered-stream"
-version = "0.1.1"
+version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "034ce384018b245e8d8424bbe90577fbd91a533be74107e465e3474eb2285eef"
+checksum = "01ca8c99d73c6e92ac1358f9f692c22c0bfd9c4701fa086f5d365c0d4ea818ea"
dependencies = [
"futures-core",
"pin-project-lite",
@@ -3676,7 +3752,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
dependencies = [
"lock_api",
- "parking_lot_core 0.9.4",
+ "parking_lot_core 0.9.5",
]
[[package]]
@@ -3695,9 +3771,9 @@ dependencies = [
[[package]]
name = "parking_lot_core"
-version = "0.9.4"
+version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4dc9e0dc2adc1c69d09143aff38d3d30c5c3f0df0dad82e6d25547af174ebec0"
+checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba"
dependencies = [
"cfg-if 1.0.0",
"libc",
@@ -3732,9 +3808,9 @@ checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
[[package]]
name = "pest"
-version = "2.4.1"
+version = "2.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a528564cc62c19a7acac4d81e01f39e53e25e17b934878f4c6d25cc2836e62f8"
+checksum = "cc8bed3549e0f9b0a2a78bf7c0018237a2cdf085eecbbc048e52612438e4e9d0"
dependencies = [
"thiserror",
"ucd-trie",
@@ -3830,16 +3906,16 @@ dependencies = [
[[package]]
name = "polling"
-version = "2.4.0"
+version = "2.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab4609a838d88b73d8238967b60dd115cc08d38e2bbaf51ee1e4b695f89122e2"
+checksum = "166ca89eb77fd403230b9c156612965a81e094ec6ec3aa13663d4c8b113fa748"
dependencies = [
"autocfg 1.1.0",
"cfg-if 1.0.0",
"libc",
"log",
"wepoll-ffi",
- "winapi 0.3.9",
+ "windows-sys 0.42.0",
]
[[package]]
@@ -4205,11 +4281,10 @@ dependencies = [
[[package]]
name = "rayon"
-version = "1.6.0"
+version = "1.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e060280438193c554f654141c9ea9417886713b7acd75974c85b18a69a88e0b"
+checksum = "6db3a213adf02b3bcfd2d3846bb41cb22857d131789e01df434fb7e7bc0759b7"
dependencies = [
- "crossbeam-deque",
"either",
"rayon-core",
]
@@ -4229,7 +4304,7 @@ dependencies = [
[[package]]
name = "rdev"
version = "0.5.0-2"
-source = "git+https://github.com/asur4s/rdev#4051761e7ccf434a443b8e9592c23160c9cace56"
+source = "git+https://github.com/fufesou/rdev#1be26c7e8ed0d43cebdd8331d467bb61130a2e6e"
dependencies = [
"cocoa",
"core-foundation 0.9.3",
@@ -4240,34 +4315,13 @@ dependencies = [
"inotify",
"lazy_static",
"libc",
+ "log",
"mio 0.8.5",
"strum 0.24.1",
"strum_macros 0.24.3",
"widestring 1.0.2",
"winapi 0.3.9",
- "x11 2.20.0",
-]
-
-[[package]]
-name = "rdev"
-version = "0.5.0-2"
-source = "git+https://github.com/rustdesk/rdev#25c29f61bfdf5d8ec50f0a8a7743bc1d85eb2c04"
-dependencies = [
- "cocoa",
- "core-foundation 0.9.3",
- "core-foundation-sys 0.8.3",
- "core-graphics 0.22.3",
- "enum-map",
- "epoll",
- "inotify",
- "lazy_static",
- "libc",
- "mio 0.8.5",
- "strum 0.24.1",
- "strum_macros 0.24.3",
- "widestring 1.0.2",
- "winapi 0.3.9",
- "x11 2.20.0",
+ "x11 2.20.1",
]
[[package]]
@@ -4281,9 +4335,9 @@ dependencies = [
[[package]]
name = "realfft"
-version = "3.1.0"
+version = "3.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3052e66d6ebeff8049607775c41d39a58d1dfa91a2733e89f2b7816bce2ea4cc"
+checksum = "93d6b8e8f0c6d2234aa58048d7290c60bf92cd36fd2888cd8331c66ad4f2e1d2"
dependencies = [
"rustfft",
]
@@ -4369,7 +4423,7 @@ dependencies = [
"pin-project-lite",
"rustls",
"rustls-pemfile 1.0.1",
- "serde 1.0.147",
+ "serde 1.0.149",
"serde_json 1.0.89",
"serde_urlencoded",
"tokio",
@@ -4411,9 +4465,20 @@ dependencies = [
[[package]]
name = "rpassword"
-version = "7.1.0"
+version = "7.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "20c9f5d2a0c3e2ea729ab3706d22217177770654c3ef5056b68b69d07332d3f5"
+checksum = "6678cf63ab3491898c0d021b493c94c9b221d91295294a2a5746eacbe5928322"
+dependencies = [
+ "libc",
+ "rtoolbox",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "rtoolbox"
+version = "0.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "034e22c514f5c0cb8a10ff341b9b048b5ceb21591f31c8f44c43b960f9b3524a"
dependencies = [
"libc",
"winapi 0.3.9",
@@ -4497,6 +4562,7 @@ dependencies = [
"arboard",
"async-process",
"async-trait",
+ "backtrace",
"base64",
"bytes",
"cc",
@@ -4522,6 +4588,7 @@ dependencies = [
"flexi_logger",
"flutter_rust_bridge",
"flutter_rust_bridge_codegen",
+ "glib 0.16.5",
"gtk",
"hbb_common",
"hound",
@@ -4540,17 +4607,17 @@ dependencies = [
"num_cpus",
"objc",
"parity-tokio-ipc",
- "rdev 0.5.0-2 (git+https://github.com/rustdesk/rdev)",
+ "rdev",
"repng",
"reqwest",
- "rpassword 7.1.0",
+ "rpassword 7.2.0",
"rubato",
"runas",
"rust-pulsectl",
"samplerate",
"sciter-rs",
"scrap",
- "serde 1.0.147",
+ "serde 1.0.149",
"serde_derive",
"serde_json 1.0.89",
"sha2",
@@ -4727,7 +4794,7 @@ dependencies = [
"num_cpus",
"quest",
"repng",
- "serde 1.0.147",
+ "serde 1.0.149",
"serde_json 1.0.89",
"target_build_utils",
"tracing",
@@ -4789,7 +4856,7 @@ version = "1.0.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4"
dependencies = [
- "serde 1.0.147",
+ "serde 1.0.149",
]
[[package]]
@@ -4809,18 +4876,18 @@ checksum = "34b623917345a631dc9608d5194cc206b3fe6c3554cd1c75b937e55e285254af"
[[package]]
name = "serde"
-version = "1.0.147"
+version = "1.0.149"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965"
+checksum = "256b9932320c590e707b94576e3cc1f7c9024d0ee6612dfbcf1cb106cbe8e055"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.147"
+version = "1.0.149"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852"
+checksum = "b4eae9b04cbffdfd550eb462ed33bc6a1b68c935127d008b27444d08380f94e4"
dependencies = [
"proc-macro2",
"quote",
@@ -4847,7 +4914,7 @@ checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db"
dependencies = [
"itoa 1.0.4",
"ryu",
- "serde 1.0.147",
+ "serde 1.0.149",
]
[[package]]
@@ -4870,7 +4937,7 @@ dependencies = [
"form_urlencoded",
"itoa 1.0.4",
"ryu",
- "serde 1.0.147",
+ "serde 1.0.149",
]
[[package]]
@@ -4881,7 +4948,7 @@ checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b"
dependencies = [
"indexmap",
"ryu",
- "serde 1.0.147",
+ "serde 1.0.149",
"yaml-rust",
]
@@ -4915,7 +4982,7 @@ checksum = "ba8593196da75d9dc4f69349682bd4c2099f8cde114257d1ef7ef1b33d1aba54"
dependencies = [
"cfg-if 1.0.0",
"libc",
- "nix 0.23.1",
+ "nix 0.23.2",
"rand 0.8.5",
"win-sys",
]
@@ -4963,7 +5030,7 @@ version = "0.1.0"
dependencies = [
"confy",
"hbb_common",
- "serde 1.0.147",
+ "serde 1.0.149",
"serde_derive",
"walkdir",
]
@@ -5038,7 +5105,7 @@ dependencies = [
"ed25519",
"libc",
"libsodium-sys",
- "serde 1.0.147",
+ "serde 1.0.149",
]
[[package]]
@@ -5146,9 +5213,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "1.0.103"
+version = "1.0.105"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d"
+checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908"
dependencies = [
"proc-macro2",
"quote",
@@ -5320,7 +5387,7 @@ checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
[[package]]
name = "tfc"
version = "0.6.1"
-source = "git+https://github.com/asur4s/The-Fat-Controller#48303c5dacded6ea1873bc5d69bdde3175cf336a"
+source = "git+https://github.com/fufesou/The-Fat-Controller#48303c5dacded6ea1873bc5d69bdde3175cf336a"
dependencies = [
"core-graphics 0.22.3",
"unicode-segmentation",
@@ -5370,9 +5437,9 @@ dependencies = [
[[package]]
name = "time"
-version = "0.1.44"
+version = "0.1.45"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
+checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a"
dependencies = [
"libc",
"wasi 0.10.0+wasi-snapshot-preview1",
@@ -5414,9 +5481,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
[[package]]
name = "tokio"
-version = "1.22.0"
+version = "1.23.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d76ce4a75fb488c605c54bf610f221cea8b0dafb53333c1a67e8ee199dcd2ae3"
+checksum = "eab6d665857cc6ca78d6e80303a02cea7a7851e85dfbd77cbdc09bd129f1ef46"
dependencies = [
"autocfg 1.1.0",
"bytes",
@@ -5429,14 +5496,14 @@ dependencies = [
"signal-hook-registry",
"socket2 0.4.7",
"tokio-macros",
- "winapi 0.3.9",
+ "windows-sys 0.42.0",
]
[[package]]
name = "tokio-macros"
-version = "1.8.0"
+version = "1.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484"
+checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8"
dependencies = [
"proc-macro2",
"quote",
@@ -5494,7 +5561,7 @@ version = "0.5.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7"
dependencies = [
- "serde 1.0.147",
+ "serde 1.0.149",
]
[[package]]
@@ -5580,9 +5647,9 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
[[package]]
name = "typenum"
-version = "1.15.0"
+version = "1.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
+checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
[[package]]
name = "ucd-trie"
@@ -5654,7 +5721,7 @@ dependencies = [
"form_urlencoded",
"idna",
"percent-encoding",
- "serde 1.0.147",
+ "serde 1.0.149",
]
[[package]]
@@ -5711,9 +5778,9 @@ dependencies = [
[[package]]
name = "vswhom-sys"
-version = "0.1.1"
+version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22025f6d8eb903ebf920ea6933b70b1e495be37e2cb4099e62c80454aaf57c39"
+checksum = "d3b17ae1f6c8a2b28506cd96d412eebf83b4a0ff2cbefeeb952f2f9dfa44ba18"
dependencies = [
"cc",
"libc",
@@ -5833,7 +5900,7 @@ dependencies = [
"bitflags",
"downcast-rs",
"libc",
- "nix 0.24.2",
+ "nix 0.24.3",
"scoped-tls",
"wayland-commons",
"wayland-scanner",
@@ -5846,7 +5913,7 @@ version = "0.29.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8691f134d584a33a6606d9d717b95c4fa20065605f798a3f350d78dced02a902"
dependencies = [
- "nix 0.24.2",
+ "nix 0.24.3",
"once_cell",
"smallvec",
"wayland-sys",
@@ -5858,7 +5925,7 @@ version = "0.29.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6865c6b66f13d6257bef1cd40cbfe8ef2f150fb8ebbdb1e8e873455931377661"
dependencies = [
- "nix 0.24.2",
+ "nix 0.24.3",
"wayland-client",
"xcursor",
]
@@ -5937,9 +6004,9 @@ dependencies = [
[[package]]
name = "webpki-roots"
-version = "0.22.5"
+version = "0.22.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "368bfe657969fb01238bb756d351dcade285e0f6fcbd36dcb23359a5169975be"
+checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87"
dependencies = [
"webpki",
]
@@ -6404,9 +6471,9 @@ dependencies = [
[[package]]
name = "x11"
-version = "2.20.0"
+version = "2.20.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7ae97874a928d821b061fce3d1fc52f08071dd53c89a6102bc06efcac3b2908"
+checksum = "c2638d5b9c17ac40575fb54bb461a4b1d2a8d1b4ffcc4ff237d254ec59ddeb82"
dependencies = [
"libc",
"pkg-config",
@@ -6414,9 +6481,9 @@ dependencies = [
[[package]]
name = "x11-dl"
-version = "2.20.0"
+version = "2.20.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c83627bc137605acc00bb399c7b908ef460b621fc37c953db2b09f88c449ea6"
+checksum = "b1536d6965a5d4e573c7ef73a2c15ebcd0b2de3347bdf526c34c297c00ac40f0"
dependencies = [
"lazy_static",
"libc",
@@ -6461,9 +6528,9 @@ dependencies = [
[[package]]
name = "zbus"
-version = "3.5.0"
+version = "3.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a25ae891bd547674b368906552115143031c16c23a0f2f4b2f5f5436ab2e6a9f"
+checksum = "938ea6da98c75c2c37a86007bd17fd8e208cbec24e086108c87ece98e9edec0d"
dependencies = [
"async-broadcast",
"async-channel",
@@ -6482,11 +6549,11 @@ dependencies = [
"futures-sink",
"futures-util",
"hex",
- "nix 0.25.0",
+ "nix 0.25.1",
"once_cell",
"ordered-stream",
"rand 0.8.5",
- "serde 1.0.147",
+ "serde 1.0.149",
"serde_repr",
"sha1",
"static_assertions",
@@ -6500,9 +6567,9 @@ dependencies = [
[[package]]
name = "zbus_macros"
-version = "3.5.0"
+version = "3.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8aa37701ce7b3a43632d2b0ad9d4aef602b46be6bdd7fba3b7c5007f9f6eb2c2"
+checksum = "45066039ebf3330820e495e854f8b312abb68f0a39e97972d092bd72e8bb3e8e"
dependencies = [
"proc-macro-crate 1.2.1",
"proc-macro2",
@@ -6513,11 +6580,11 @@ dependencies = [
[[package]]
name = "zbus_names"
-version = "2.3.0"
+version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d69bb79b44e1901ed8b217e485d0f01991aec574479b68cb03415f142bc7ae67"
+checksum = "6c737644108627748a660d038974160e0cbb62605536091bdfa28fd7f64d43c8"
dependencies = [
- "serde 1.0.147",
+ "serde 1.0.149",
"static_assertions",
"zvariant",
]
@@ -6553,23 +6620,23 @@ dependencies = [
[[package]]
name = "zvariant"
-version = "3.8.0"
+version = "3.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c817f416f05fcbc833902f1e6064b72b1778573978cfeac54731451ccc9e207"
+checksum = "56f8c89c183461e11867ded456db252eae90874bc6769b7adbea464caa777e51"
dependencies = [
"byteorder",
"enumflags2",
"libc",
- "serde 1.0.147",
+ "serde 1.0.149",
"static_assertions",
"zvariant_derive",
]
[[package]]
name = "zvariant_derive"
-version = "3.8.0"
+version = "3.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fdd24fffd02794a76eb10109de463444064c88f5adb9e9d1a78488adc332bfef"
+checksum = "155247a5d1ab55e335421c104ccd95d64f17cebbd02f50cdbc1c33385f9c4d81"
dependencies = [
"proc-macro-crate 1.2.1",
"proc-macro2",
diff --git a/Cargo.toml b/Cargo.toml
index a783b1abe..2713df11d 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -47,7 +47,7 @@ libc = "0.2"
parity-tokio-ipc = { git = "https://github.com/open-trade/parity-tokio-ipc" }
flexi_logger = { version = "0.22", features = ["async", "use_chrono_for_offset"] }
runas = "0.2"
-magnum-opus = { git = "https://github.com/SoLongAndThanksForAllThePizza/magnum-opus" }
+magnum-opus = { git = "https://github.com/rustdesk/magnum-opus" }
dasp = { version = "0.11", features = ["signal", "interpolate-linear", "interpolate"], optional = true }
rubato = { version = "0.12", optional = true }
samplerate = { version = "0.2", optional = true }
@@ -59,11 +59,11 @@ base64 = "0.13"
sysinfo = "0.24"
num_cpus = "1.13"
bytes = { version = "1.2", features = ["serde"] }
-default-net = "0.11.0"
+default-net = { git = "https://github.com/Kingtous/default-net" }
wol-rs = "0.9.1"
flutter_rust_bridge = { git = "https://github.com/SoLongAndThanksForAllThePizza/flutter_rust_bridge", optional = true }
errno = "0.2.8"
-rdev = { git = "https://github.com/rustdesk/rdev" }
+rdev = { git = "https://github.com/fufesou/rdev" }
url = { version = "2.1", features = ["serde"] }
reqwest = { version = "0.11", features = ["blocking", "json", "rustls-tls"], default-features=false }
@@ -118,6 +118,8 @@ dbus = "0.9"
dbus-crossroads = "0.5"
gtk = "0.15"
libappindicator = "0.7"
+glib = "0.16.5"
+backtrace = "0.3"
[target.'cfg(target_os = "android")'.dependencies]
android_logger = "0.11"
diff --git a/README.md b/README.md
index ad19edaa1..79255e455 100644
--- a/README.md
+++ b/README.md
@@ -39,6 +39,7 @@ Below are the servers you are using for free, it may change along the time. If y
| Germany | Codext | 4 vCPU / 8GB RAM |
| Finland (Helsinki) | 0x101 Cyber Security | 4 vCPU / 8GB RAM |
| USA (Ashburn) | 0x101 Cyber Security | 4 vCPU / 8GB RAM |
+| Ukraine (Kyiv) | dc.volia (2VM) | 2 vCPU / 4GB RAM |
## Dependencies
diff --git a/appimage/AppImageBuilder.yml b/appimage/AppImageBuilder.yml
new file mode 100644
index 000000000..ae95fd2ce
--- /dev/null
+++ b/appimage/AppImageBuilder.yml
@@ -0,0 +1,87 @@
+# appimage-builder recipe see https://appimage-builder.readthedocs.io for details
+version: 1
+script:
+ - rm -rf ./AppDir || true
+ - bsdtar -zxvf ../rustdesk-1.2.0.deb
+ - tar -xvf ./data.tar.xz
+ - mkdir ./AppDir
+ - mv ./usr ./AppDir/usr
+ # 32x32 icon
+ - for i in {32,64,128}; do mkdir -p ./AppDir/usr/share/icons/hicolor/$i\x$i/apps/; cp ../res/$i\x$i.png ./AppDir/usr/share/icons/hicolor/$i\x$i/apps/rustdesk.png; done
+ # desktop file
+ # - sed -i "s/Icon=\/usr\/share\/rustdesk\/files\/rustdesk.png/Icon=rustdesk/g" ./AppDir/usr/share/applications/rustdesk.desktop
+ - rm -rf ./AppDir/usr/share/applications
+AppDir:
+ path: ./AppDir
+ app_info:
+ id: rustdesk
+ name: rustdesk
+ icon: rustdesk
+ version: 1.2.0
+ exec: usr/lib/rustdesk/rustdesk
+ exec_args: $@
+ apt:
+ arch:
+ - amd64
+ allow_unauthenticated: true
+ sources:
+ - sourceline: deb http://archive.ubuntu.com/ubuntu/ bionic main restricted
+ - sourceline: deb http://archive.ubuntu.com/ubuntu/ bionic-updates main restricted
+ - sourceline: deb http://archive.ubuntu.com/ubuntu/ bionic universe
+ - sourceline: deb http://archive.ubuntu.com/ubuntu/ bionic-updates universe
+ - sourceline: deb http://archive.ubuntu.com/ubuntu/ bionic multiverse
+ - sourceline: deb http://archive.ubuntu.com/ubuntu/ bionic-updates multiverse
+ - sourceline: deb http://archive.ubuntu.com/ubuntu/ bionic-backports main restricted
+ universe multiverse
+ - sourceline: deb http://ppa.launchpad.net/pipewire-debian/pipewire-upstream/ubuntu
+ bionic main
+ include:
+ - libc6:amd64
+ - libgtk-3-0
+ - libxcb-randr0
+ - libxdo3
+ - libxfixes3
+ - libxcb-shape0
+ - libxcb-xfixes0
+ - libasound2
+ - libsystemd0
+ - curl
+ - libva-drm2
+ - libva-x11-2
+ - libvdpau1
+ - libgstreamer-plugins-base1.0-0
+ exclude:
+ - humanity-icon-theme
+ - hicolor-icon-theme
+ - adwaita-icon-theme
+ - ubuntu-mono
+ files:
+ include: []
+ exclude:
+ - usr/share/man
+ - usr/share/doc/*/README.*
+ - usr/share/doc/*/changelog.*
+ - usr/share/doc/*/NEWS.*
+ - usr/share/doc/*/TODO.*
+ runtime:
+ env:
+ GIO_MODULE_DIR: $APPDIR/usr/lib/x86_64-linux-gnu/gio/modules/
+ test:
+ fedora-30:
+ image: appimagecrafters/tests-env:fedora-30
+ command: ./AppRun
+ debian-stable:
+ image: appimagecrafters/tests-env:debian-stable
+ command: ./AppRun
+ archlinux-latest:
+ image: appimagecrafters/tests-env:archlinux-latest
+ command: ./AppRun
+ centos-7:
+ image: appimagecrafters/tests-env:centos-7
+ command: ./AppRun
+ ubuntu-xenial:
+ image: appimagecrafters/tests-env:ubuntu-xenial
+ command: ./AppRun
+AppImage:
+ arch: x86_64
+ update-information: guess
diff --git a/build.py b/build.py
index 127469784..6b107ff4b 100755
--- a/build.py
+++ b/build.py
@@ -21,7 +21,7 @@ skip_cargo = False
def custom_os_system(cmd):
err = os._system(cmd)
if err != 0:
- print(f"Error occured when executing: {cmd}. Exiting.")
+ print(f"Error occurred when executing: {cmd}. Exiting.")
sys.exit(-1)
# replace prebuilt os.system
os._system = os.system
@@ -99,6 +99,11 @@ def make_parser():
action='store_true',
help='Build rustdesk libs with the flatpak feature enabled'
)
+ parser.add_argument(
+ '--appimage',
+ action='store_true',
+ help='Build rustdesk libs with the appimage feature enabled'
+ )
parser.add_argument(
'--skip-cargo',
action='store_true',
@@ -236,6 +241,8 @@ def get_features(args):
features.append('flutter')
if args.flatpak:
features.append('flatpak')
+ if args.appimage:
+ features.append('appimage')
print("features:", features)
return features
@@ -305,7 +312,8 @@ def build_flutter_deb(version, features):
def build_flutter_dmg(version, features):
if not skip_cargo:
- os.system(f'cargo build --features {features} --lib --release')
+ # set minimum osx build target, now is 10.14, which is the same as the flutter xcode project
+ os.system(f'MACOSX_DEPLOYMENT_TARGET=10.14 cargo build --features {features} --lib --release')
# copy dylib
os.system(
"cp target/release/liblibrustdesk.dylib target/release/librustdesk.dylib")
@@ -469,6 +477,7 @@ def main():
if pa:
os.system('''
# buggy: rcodesign sign ... path/*, have to sign one by one
+ # install rcodesign via cargo install apple-codesign
#rcodesign sign --p12-file ~/.p12/rustdesk-developer-id.p12 --p12-password-file ~/.p12/.cert-pass --code-signature-flags runtime ./target/release/bundle/osx/RustDesk.app/Contents/MacOS/rustdesk
#rcodesign sign --p12-file ~/.p12/rustdesk-developer-id.p12 --p12-password-file ~/.p12/.cert-pass --code-signature-flags runtime ./target/release/bundle/osx/RustDesk.app/Contents/MacOS/libsciter.dylib
#rcodesign sign --p12-file ~/.p12/rustdesk-developer-id.p12 --p12-password-file ~/.p12/.cert-pass --code-signature-flags runtime ./target/release/bundle/osx/RustDesk.app
@@ -481,9 +490,15 @@ def main():
version, 'rustdesk-%s.dmg' % version)
if pa:
os.system('''
+ # https://pyoxidizer.readthedocs.io/en/apple-codesign-0.14.0/apple_codesign.html
+ # https://pyoxidizer.readthedocs.io/en/stable/tugger_code_signing.html
+ # https://developer.apple.com/developer-id/
+ # goto xcode and login with apple id, manager certificates (Developer ID Application and/or Developer ID Installer) online there (only download and double click (install) cer file can not export p12 because no private key)
#rcodesign sign --p12-file ~/.p12/rustdesk-developer-id.p12 --p12-password-file ~/.p12/.cert-pass --code-signature-flags runtime ./rustdesk-{1}.dmg
codesign -s "Developer ID Application: {0}" --force --options runtime ./rustdesk-{1}.dmg
- # https://pyoxidizer.readthedocs.io/en/latest/apple_codesign_rcodesign.html
+ # https://appstoreconnect.apple.com/access/api
+ # https://gregoryszorc.com/docs/apple-codesign/0.16.0/apple_codesign_rcodesign.html#notarizing-and-stapling
+ # p8 file is generated when you generate api key, download and put it under ~/.private_keys/
rcodesign notarize --api-issuer {2} --api-key {3} --staple ./rustdesk-{1}.dmg
# verify: spctl -a -t exec -v /Applications/RustDesk.app
'''.format(pa, version, os.environ.get('api-issuer'), os.environ.get('api-key')))
diff --git a/build.rs b/build.rs
index 67e40752c..ade63f0bc 100644
--- a/build.rs
+++ b/build.rs
@@ -1,9 +1,16 @@
#[cfg(windows)]
fn build_windows() {
- cc::Build::new().file("src/windows.cc").compile("windows");
+ let file = "src/platform/windows.cc";
+ cc::Build::new().file(file).compile("windows");
println!("cargo:rustc-link-lib=WtsApi32");
- println!("cargo:rerun-if-changed=build.rs");
- println!("cargo:rerun-if-changed=windows.cc");
+ println!("cargo:rerun-if-changed={}", file);
+}
+
+#[cfg(target_os = "macos")]
+fn build_mac() {
+ let file = "src/platform/macos.mm";
+ cc::Build::new().file(file).compile("macos");
+ println!("cargo:rerun-if-changed={}", file);
}
#[cfg(all(windows, feature = "inline"))]
@@ -117,5 +124,8 @@ fn main() {
#[cfg(windows)]
build_windows();
#[cfg(target_os = "macos")]
+ build_mac();
+ #[cfg(target_os = "macos")]
println!("cargo:rustc-link-lib=framework=ApplicationServices");
+ println!("cargo:rerun-if-changed=build.rs");
}
diff --git a/fastlane/metadata/android/en-US/full_description.txt b/fastlane/metadata/android/en-US/full_description.txt
index 966ad3df8..1f35ef92d 100644
--- a/fastlane/metadata/android/en-US/full_description.txt
+++ b/fastlane/metadata/android/en-US/full_description.txt
@@ -4,7 +4,7 @@ Doc: https://rustdesk.com/docs/en/manual/mobile/
In order for a remote device to control your Android device via mouse or touch, you need to allow RustDesk to use the "Accessibility" service, RustDesk uses AccessibilityService API to implement Addroid remote control.
-In addtion to remote control, you can also transfer files between Android devices and PCs easily with RustDesk.
+In addition to remote control, you can also transfer files between Android devices and PCs easily with RustDesk.
You have full control of your data, with no concerns about security. You can use our rendezvous/relay server, or self-hosting, or write your own rendezvous/relay server. Self-hosting server is free and open source: https://github.com/rustdesk/rustdesk-server
diff --git a/fastlane/metadata/android/en-US/images/icon.png b/fastlane/metadata/android/en-US/images/icon.png
index 543fe8346..3668c7106 100644
Binary files a/fastlane/metadata/android/en-US/images/icon.png and b/fastlane/metadata/android/en-US/images/icon.png differ
diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png b/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png
index 32e7b3554..e84ed4d21 100644
Binary files a/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png and b/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png differ
diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/2.png b/fastlane/metadata/android/en-US/images/phoneScreenshots/2.png
index 0f9368545..5a83dc1f0 100644
Binary files a/fastlane/metadata/android/en-US/images/phoneScreenshots/2.png and b/fastlane/metadata/android/en-US/images/phoneScreenshots/2.png differ
diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/3.png b/fastlane/metadata/android/en-US/images/phoneScreenshots/3.png
index b59279552..629631ac7 100644
Binary files a/fastlane/metadata/android/en-US/images/phoneScreenshots/3.png and b/fastlane/metadata/android/en-US/images/phoneScreenshots/3.png differ
diff --git a/fastlane/metadata/android/en-US/images/phoneScreenshots/4.png b/fastlane/metadata/android/en-US/images/phoneScreenshots/4.png
index a4048ae69..39a15ba77 100644
Binary files a/fastlane/metadata/android/en-US/images/phoneScreenshots/4.png and b/fastlane/metadata/android/en-US/images/phoneScreenshots/4.png differ
diff --git a/fastlane/metadata/android/en-US/images/sevenInchScreenshots/5.png b/fastlane/metadata/android/en-US/images/sevenInchScreenshots/5.png
index 5d726ab36..5574ee7dc 100644
Binary files a/fastlane/metadata/android/en-US/images/sevenInchScreenshots/5.png and b/fastlane/metadata/android/en-US/images/sevenInchScreenshots/5.png differ
diff --git a/fastlane/metadata/android/en-US/images/sevenInchScreenshots/6.png b/fastlane/metadata/android/en-US/images/sevenInchScreenshots/6.png
index 2c3fad113..8e0a83a6a 100644
Binary files a/fastlane/metadata/android/en-US/images/sevenInchScreenshots/6.png and b/fastlane/metadata/android/en-US/images/sevenInchScreenshots/6.png differ
diff --git a/fastlane/metadata/android/en-US/images/sevenInchScreenshots/7.png b/fastlane/metadata/android/en-US/images/sevenInchScreenshots/7.png
index 5873757f9..0618ae0b6 100644
Binary files a/fastlane/metadata/android/en-US/images/sevenInchScreenshots/7.png and b/fastlane/metadata/android/en-US/images/sevenInchScreenshots/7.png differ
diff --git a/fastlane/metadata/android/en-US/images/sevenInchScreenshots/8.png b/fastlane/metadata/android/en-US/images/sevenInchScreenshots/8.png
index faea2eb16..560902b03 100644
Binary files a/fastlane/metadata/android/en-US/images/sevenInchScreenshots/8.png and b/fastlane/metadata/android/en-US/images/sevenInchScreenshots/8.png differ
diff --git a/fastlane/metadata/android/fr-FR/full_description.txt b/fastlane/metadata/android/fr-FR/full_description.txt
new file mode 100644
index 000000000..effb820d6
--- /dev/null
+++ b/fastlane/metadata/android/fr-FR/full_description.txt
@@ -0,0 +1,11 @@
+Une application de bureau à distance open source, l'alternative open source à TeamViewer.
+Code source : https://github.com/rustdesk/rustdesk
+Doc : https://rustdesk.com/docs/en/manual/mobile/
+
+Pour qu'un appareil distant puisse contrôler votre appareil Android via la souris ou le toucher, vous devez autoriser RustDesk à utiliser le service "Accessibilité", RustDesk utilise l'API AccessibilityService pour implémenter la télécommande Addroid.
+
+En plus du contrôle à distance, vous pouvez également transférer facilement des fichiers entre des appareils Android et des PC avec RustDesk.
+
+Vous avez le contrôle total de vos données, sans aucun souci de sécurité. Vous pouvez utiliser notre serveur de rendez-vous/relais, ou l'auto-hébergement, ou écrire votre propre serveur de rendez-vous/relais. Le serveur auto-hébergé est gratuit et open source : https://github.com/rustdesk/rustdesk-server
+
+Veuillez télécharger et installer la version de bureau à partir de : https://rustdesk.com, vous pourrez alors accéder et contrôler votre bureau à partir de votre mobile, ou contrôler votre mobile à partir du bureau.
diff --git a/fastlane/metadata/android/fr-FR/short_description.txt b/fastlane/metadata/android/fr-FR/short_description.txt
new file mode 100644
index 000000000..e1f4b4b0f
--- /dev/null
+++ b/fastlane/metadata/android/fr-FR/short_description.txt
@@ -0,0 +1 @@
+Une application de bureau à distance open source, l'alternative open source à TeamViewer.
diff --git a/flutter/.gitignore b/flutter/.gitignore
index 3cbfc0f54..9c7e52c12 100644
--- a/flutter/.gitignore
+++ b/flutter/.gitignore
@@ -54,3 +54,4 @@ lib/generated_bridge.freezed.dart
flutter_export_environment.sh
Flutter-Generated.xcconfig
key.jks
+macos/rustdesk.xcodeproj/project.xcworkspace/
diff --git a/flutter/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/flutter/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
index b3dc255d5..d5d2c49c8 100644
Binary files a/flutter/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and b/flutter/android/app/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/flutter/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/flutter/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
index f24291dbf..e30cc5019 100644
Binary files a/flutter/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and b/flutter/android/app/src/main/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/flutter/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/flutter/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
index 8a4e80f53..41ccba607 100644
Binary files a/flutter/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and b/flutter/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/flutter/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/flutter/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
index 8bb8d570f..c10349d71 100644
Binary files a/flutter/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and b/flutter/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/flutter/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/flutter/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
index 2130526a6..52fde7830 100644
Binary files a/flutter/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and b/flutter/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/flutter/assets/kb_layout_iso.svg b/flutter/assets/kb_layout_iso.svg
new file mode 100644
index 000000000..69f0c96cb
--- /dev/null
+++ b/flutter/assets/kb_layout_iso.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/flutter/assets/kb_layout_not_iso.svg b/flutter/assets/kb_layout_not_iso.svg
new file mode 100644
index 000000000..09a055be3
--- /dev/null
+++ b/flutter/assets/kb_layout_not_iso.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/flutter/assets/logo.png b/flutter/assets/logo.png
index f854a1dc3..ede0e00c4 100644
Binary files a/flutter/assets/logo.png and b/flutter/assets/logo.png differ
diff --git a/flutter/build_android_deps.sh b/flutter/build_android_deps.sh
index f120346cf..a30abd154 100755
--- a/flutter/build_android_deps.sh
+++ b/flutter/build_android_deps.sh
@@ -1,7 +1,7 @@
#!/bin/bash
-# Build libyuv / opus / libvpx / oboe for Android
-# Required:
+# Build libyuv / opus / libvpx / oboe for Android
+# Required:
# 1. set VCPKG_ROOT / ANDROID_NDK path environment variables
# 2. vcpkg initialized
# 3. ndk, version: 22 (if ndk < 22 you need to change LD as `export LD=$TOOLCHAIN/bin/$NDK_LLVM_TARGET-ld`)
@@ -23,7 +23,7 @@ HOST_TAG="linux-x86_64" # current platform, set as `ls $ANDROID_NDK/toolchains/l
TOOLCHAIN=$ANDROID_NDK/toolchains/llvm/prebuilt/$HOST_TAG
function build {
- ANDROID_ABI=$1
+ ANDROID_ABI=$1
VCPKG_TARGET=$2
NDK_LLVM_TARGET=$3
LIBVPX_TARGET=$4
@@ -111,15 +111,15 @@ patch -N -d build/oboe -p1 < ../src/oboe.patch
# x86_64-linux-android
# i686-linux-android
-# LIBVPX_TARGET :
-# arm64-android-gcc
-# armv7-android-gcc
+# LIBVPX_TARGET :
+# arm64-android-gcc
+# armv7-android-gcc
# x86_64-android-gcc
-# x86-android-gcc
+# x86-android-gcc
# args: ANDROID_ABI VCPKG_TARGET NDK_LLVM_TARGET LIBVPX_TARGET
build arm64-v8a arm64-android aarch64-linux-android arm64-android-gcc
-build armeabi-v7a arm-android arm-linux-androideabi armv7-android-gcc
+build armeabi-v7a arm-android arm-linux-androideabi armv7-android-gcc
# rm -rf build/libvpx
# rm -rf build/oboe
\ No newline at end of file
diff --git a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
index d4ae9af18..c35862a8c 100644
Binary files a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png and b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png differ
diff --git a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
index 61c13f60b..900bd13fa 100644
Binary files a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png and b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png differ
diff --git a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
index ed67c27ad..5fc34ce9a 100644
Binary files a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png and b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png differ
diff --git a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
index f974850af..ab315a4c6 100644
Binary files a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png and b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png differ
diff --git a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
index ff419814d..6d69c01e1 100644
Binary files a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png and b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png differ
diff --git a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
index b3cdc7920..b6c8034cd 100644
Binary files a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png and b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png differ
diff --git a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
index 15b2e086d..cf6c7c775 100644
Binary files a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png and b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png differ
diff --git a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
index ed67c27ad..5fc34ce9a 100644
Binary files a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png and b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png differ
diff --git a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
index 94665b74e..6928a4e6d 100644
Binary files a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png and b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png differ
diff --git a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
index 3cf8a0dc2..a13129e15 100644
Binary files a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png and b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png differ
diff --git a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
index 3cf8a0dc2..a13129e15 100644
Binary files a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png and b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png differ
diff --git a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
index 6e21d8ee9..319e70f91 100644
Binary files a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png and b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png differ
diff --git a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
index 01047f4be..229bdf563 100644
Binary files a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png and b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png differ
diff --git a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
index ceb721793..caffb26a3 100644
Binary files a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png and b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png differ
diff --git a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
index e416e5517..751104548 100644
Binary files a/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png and b/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png differ
diff --git a/flutter/lib/common.dart b/flutter/lib/common.dart
index 0f5502f54..ed78a8e09 100644
--- a/flutter/lib/common.dart
+++ b/flutter/lib/common.dart
@@ -46,7 +46,7 @@ var isWebDesktop = false;
var version = "";
int androidVersion = 0;
-/// only avaliable for Windows target
+/// only available for Windows target
int windowsBuildNumber = 0;
DesktopType? desktopType;
@@ -99,22 +99,28 @@ class IconFont {
class ColorThemeExtension extends ThemeExtension {
const ColorThemeExtension({
required this.border,
+ required this.highlight,
});
final Color? border;
+ final Color? highlight;
static const light = ColorThemeExtension(
border: Color(0xFFCCCCCC),
+ highlight: Color(0xFFE5E5E5),
);
static const dark = ColorThemeExtension(
border: Color(0xFF555555),
+ highlight: Color(0xFF3F3F3F),
);
@override
- ThemeExtension copyWith({Color? border}) {
+ ThemeExtension copyWith(
+ {Color? border, Color? highlight}) {
return ColorThemeExtension(
border: border ?? this.border,
+ highlight: highlight ?? this.highlight,
);
}
@@ -126,6 +132,7 @@ class ColorThemeExtension extends ThemeExtension {
}
return ColorThemeExtension(
border: Color.lerp(border, other.border, t),
+ highlight: Color.lerp(highlight, other.highlight, t),
);
}
}
@@ -223,7 +230,7 @@ class MyTheme {
bind.mainSetLocalOption(
key: kCommConfKeyTheme, value: mode.toShortString());
}
- bind.mainChangeTheme(dark: currentThemeMode().toShortString());
+ bind.mainChangeTheme(dark: mode.toShortString());
}
}
@@ -1360,13 +1367,13 @@ connect(BuildContext context, String id,
}
}
-Future