Soduto is a KDE Connect compatible application for macOS. It allows better integration between your phones, desktops and tablets. For more information take a look at soduto.com
To install my forked version of Soduto, head to the Releases Page of this Repository and download the .dmg
file from the latest build. Then open the downloaded .dmg
file. You might get a pop-up window containing the license. Tap agree if you've read it and wish to continue. Then drag Soduto.app
onto the Applications Folder. When running for the first time, you might get a prompt saying that macOS can't run apps from an unidentified developer. Press and hold control
and click on the app icon. While still holding Control
, select Open
.
The official build of Soduto can be downloaded from soduto.com or from Soduto's official repository.
There is also a (unofficial) Homebrew formulae, that can install Soduto with such command:
brew install --cask soduto
Do note that currently there's no Homebrew formulae for my forked version and the only source is the Releases Page of this repository.
Clone this repo and update submodules
git clone && git submodule update --init
Install Carthage:
brew install carthage
Fetch and build frameworks using Carthage:
carthage update --platform macOS --use-xcframeworks
Compile universal openssl and libssh2 library using iSSH2:
./build_lib.sh
Open project Soduto.xcodeproj
with XCode
Select Soduto
as Target. Go to Signing & Capabilities
and under the App Groups
section, copy the App Group key
.
Open the SharedUserDefaults.swift
file & paste the key in the suiteName
variable.
static let suiteName = "<your key here>"
Make sure you have the same App Group key
for Soduto Share
.
Build target Soduto
To see logged messages of Release build of Soduto:
Console.app
To switch logging level in Terminal.app
run command (with <level>
being an integer between 1 and 5, 1 being the most verbose and 5 - the least):
defaults write com.soduto.Soduto com.soduto.logLevel -int <level>
It is highly recommended to enable verbose logging levels only during debugging as sensitive data may be logged in plain text (like passwords copied into a clipboard).
Send Clipboard
in the KDE Connect app, everytime you want to sync your android's clipboard to your mac.Filesystem expose
locations due to Google's privacy changes.Riru
or Zygisk
, you can bypass the clipboard restriction on Android 10 or higher by using Kr328's Clipboard Whitelist module and then tick KDE Connect
/Zorin Connect
from the Clipboard Whitelist
app. If you're on Android 13 and the module isn’t working for you, try Xposed Clipboard Whitelist (remember to select System Framework
for the module scope). You need to have Xposed Framework
for the Xposed Clipboard Whitelist
module to work.Xposed Module
that removes the restriction when selecting folders(like Internal Storage, Android, Download, data, obb) through file manager on Android 11 and higher. There is a Magisk module for this as well but I haven’t tested the Magisk Module version yet, so use it at your own risk ⚠️.Send Files
from the menu bar app options or drag & drop multiple selected files to the menu bar icon. As of now, Soduto Share only supports sharing one file at a time.To ask a question, offer suggestions or share an idea, please use the discussions tab of this repository.
If you spot any bugs or vulnerabilities, please create an issue. It's always a good idea to make sure there aren't any similar issues open, before creating a new one!
No, this is not the official version of Soduto. Head over to their official site or GitHub Repo for the official version.
The development for the official version seems to have been inactive for a very long time. Thus, a lot of Soduto's features were broken on recent versions of macOS. This is why, I have tried to replace some deprecated code in my repo.
The code is public, so instead of taking someone else's word for it, it's better to review it yourself if the app is safe.
The reason macOS shows a prompt saying that this app is from an unidentified developer is because I have a free Apple Developer Account and not a paid one, thus the builds of Soduto released by me is not notarized. If you build the app yourself for your own mac, you won’t get the warning. Head over to the building section to do so.
Developers can’t send an app for notarization with a free Apple Developer Account. I am a Student and developing apps for the Apple Platform is neither my job or my hobby. Neither I can or want to pay Apple, a hefty amount of $99 every year for the privilege of developing apps for their platform.
Same as above. I also don't want to have to go through their app review process.
Soduto is licensed under the GNU General Public License v3.0.