ShizuStore

Sefirah

shrimqy

3.1.0 · GitHub

Download APK
Productivity Android 6.0+ 1 month ago GPL-3.0
16 ShizuStore
36.2k GitHub
984 Stars
12 MB Size

More about this app

Windows-Android integration for clipboard, notification, file, SMS and call sync; Shizuku enables clipboard on Android 10+.

Hero image

Sefirah Desktop Sefirah Discord

Sefirah is designed to enhance your workflow by enabling seamless clipboard and notification sharing between your Windows PC and Android device. It's an alternative to existing solutions, tailored for users who want a straightforward and efficient way to keep their devices in sync.

If you have any feature requests as a whole or a bug report, open the issue in the repo for the Windows app, unless you're sure that this only concerns the Android version.

Features

  • Clipboard Sharing: Seamlessly share clipboard content between your Android device and Windows PC, with automatic detection on Android 10+ via Shizuku or desktop ADB.
  • Play Sound: Ring your phone from the desktop to help locate it.
  • Media Control: Control media playback and volume of your PC from Android.
  • File Sharing: Share files between your devices easily.
  • Storage Integration: Integrate your Android storage into the Windows Explorer.
  • Notification: Allows toasting the notifications from your Android on desktop.
  • Screen mirroring: Mirror and control the Android device via scrcpy.
  • SMS Texting: Send and receive SMS texts from your Android device on your Windows PC.
  • Phone Call: View and answer phone calls from your Android device on your Windows PC.

Linux Status

Support for Linux is limited. Some features available on Windows may not be available on Linux.

Limitations

Notification Sync

  • Due to Android's restrictions, sensitive notifications are no longer visible from Android 15 onwards.

  • To work around this limitation, grant the necessary permission using ADB:

    adb shell appops set com.castle.sefirah RECEIVE_SENSITIVE_NOTIFICATIONS allow
    
  • On some devices (e.g. OnePlus), this may fail until you disable system optimization or Disable permission monitoring for apps in Developer options → Apps. After that, run the command again.

  • If ADB is connected, the desktop app will attempt to grant this permission automatically when the device comes online.

Installation

Windows App

Android App

Get it on Google Play Get it on IzzyOnDroid

How to Use

  1. Setting Up:

    • On the Android device, allow the necessary permissions on the onboarding page. (Note: Allow restricted settings from App Info after attempting to grant notification access or accessibility permission, as Android blocks side-loaded apps from requesting sensitive permissions.) For automatic clipboard sync on Android 10+, also grant Shizuku if you use it, or keep ADB connected from the desktop app.
    • Ensure both your Android device and Windows PC are connected to the same network.
    • Launch the app on your Windows PC and wait for the devices to show up on both.
    • Initiate the connection on your Android device using either manual connect or auto connect. Manual connect is faster, while auto connect takes a bit more time to determine which IP address works for you.
    • Once the connection is initiated, Windows will receive a pop-up to accept or decline the connection. Ensure that the keys match on both devices.
    • After the authentication is done, you should be navigated to the home screens on both devices, wait a bit for the notifications on Windows to load up for the first time.

    Note: If the devices can't connect even though both discover each other, make sure to check your firewall settings and that these ports are open: 5149 to 5169.

  2. Clipboard Sharing:

    • When you copy content on your desktop, it will automatically sync with your Android device (provided you have enabled this feature in the device settings). If you have also enabled image syncing, images should be sent as well. Note: You must enable the 'Add received images to clipboard' option for received images to be placed on the Android clipboard.
    • To automatically share the clipboard from Android to desktop on Android 10+:
      1. Enable Clipboard sync preference in the device settings.
      2. Enable Auto-detect clipboard in the app Settings page.
      3. Prefer granting Shizuku access, or keep the device connected over ADB from the desktop app. The app prefers Shizuku when available and falls back to ADB.
      4. Accessibility remains a fallback when Shizuku/ADB are unavailable and you have granted accessibility permission, but it may not work in every scenario.
    • To manually share the clipboard, use the persistent device status notification, the Quick Settings tile, or the share sheet.
  3. File Transfer:

    • Use the share sheet on your Android or Windows device and select the app to share files between the devices.
  4. Android Storage:

    • You would need Android 11 or higher.
    • Enable storage access permission in Android app's settings and the desktop app will create a link to the Android storage in the File Explorer.
    • Note: This feature is still a bit experimental and may not work on all Windows versions especially older versions of Windows 10 and other unofficial debloated Windows 11 versions.
    • WARNING: DO NOT set the remote storage location to a pre-existing folder as it will delete the contents of that folder.
  5. SMS Texting:

    • Grant all the permissions required from the permissions page in Android. After that, reconnect and the messages should appear in the Messages tab in the Desktop app. You can now view and send texts as SMS. You can also switch SIMs if your device has dual SIMs. Attachments have not been implemented yet.
  6. Bluetooth calling:

    • Remove your Bluetooth device if you have already registered it with another app.
    • Pair your Bluetooth device to the PC either through the in-app Bluetooth pairing or through the Windows settings.
  7. Screen Mirroring using Scrcpy:

    • You would need to download, extract and set the scrcpy location in App settings.
    • You can specify your preferences for the scrcpy to launch with in the screen mirroring section.
    • For initiating screen mirroring, the easiest way would be to plug your device through USB and start it by clicking on Phone frame.
    • Sefirah will try to connect to your device if the default tcpip port is open for subsequent connections.
    • If you have any doubts or problems in connecting scrcpy, refer scrcpy docs and Scrcpy FAQ.
    • If you like their project, please consider supporting the author rom1v

Screenshots

screenshots of app

Support

Feel free to open an issue if you want to report a bug, provide feedback, or ask a question. Pull requests are very welcome!

If you have any specific questions or need further details, please reach out on the Discord server or by email, I would be happy to help.

Special Thanks

Close

How Shizuku is used

Can sync Android clipboard text and images to a paired PC via a privileged `ClipboardManager` watcher.

This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.

How this app uses Shizuku

Shizuku is used to start a privileged clipboard watcher that lets clipboard sync keep working on Android 10 and above, then forwards clips to the paired Windows device.

  • Sync clipboard text: when clipboard sync is on, the app starts a shell worker through Shizuku that listens for clipboard changes and sends copied text to the connected PC over the app device connection.
  • Sync clipboard images: the same shell worker reads copied images and hands them to the phone app, which sends small images directly and larger images through its file transfer flow to the connected PC.

Android APIs or commands used

  • ClipboardManager.addPrimaryClipChangedListener
  • ClipboardManager.getPrimaryClip
  • ClipboardManager.getPrimaryClipDescription
  • ContentResolver.openFileDescriptor
  • ParcelFileDescriptor.open
  • IActivityManager.registerUidObserver

Notable details

Without Shizuku the app can ask the paired PC to start the same worker over ADB instead. On Android 9 and below it uses the normal clipboard listener with no worker, the worker path is only for Android 10 and above when clipboard sync and the worker option are enabled.

Close

Changelog

What's new for version 3.1.0

Additions

  • Automatic clipboard & image sync on Android 10+ via a shell worker launched with Shizuku or desktop ADB (accessibility remains a fallback)
  • Play Sound: ring your phone from the desktop
  • Desktop actions on Home: custom icons, bulk action sync, optional confirmation, and a “show labels” preference
  • In-app changelog: view Android and Desktop release notes from About -> What’s new

Misc

  • Cleaner permission/onboarding
  • Compile SDK 37; Gradle 9.7 / AGP 9.3.1 / KSP 2.3.6
  • Replace material-icons-extended with local drawables

Changes in the Desktop App

Notes

The automatic clipboard is pretty much automatic if you have the ADB device connected on the desktop or just grant shizuku access; then the app will prefer that over ADB. The preference for auto sync is in the settings page. This closely follows scrcpy and shizuku to make the feature possible. Please test and report if you find any issues.

Play Store version is now in the Production track. Thank you for the support!

Full Changelog: https://github.com/shrimqy/Sefirah-Android/compare/v3.0.1...v3.1.0

Close

Permissions

35 permissions requested

  • android.permission.POST_NOTIFICATIONS
  • android.permission.FOREGROUND_SERVICE
  • android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE
  • android.permission.ACCESS_WIFI_STATE
  • android.permission.CHANGE_WIFI_STATE
  • android.permission.ACCESS_NETWORK_STATE
  • android.permission.CHANGE_WIFI_MULTICAST_STATE
  • android.permission.ACCESS_FINE_LOCATION
  • android.permission.ACCESS_BACKGROUND_LOCATION
  • android.permission.ACCESS_COARSE_LOCATION
  • android.permission.BLUETOOTH
  • android.permission.BLUETOOTH_ADMIN
  • android.permission.BLUETOOTH_CONNECT
  • android.permission.BLUETOOTH_SCAN
  • android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
  • android.permission.RECEIVE_BOOT_COMPLETED
  • android.permission.WRITE_EXTERNAL_STORAGE
  • android.permission.MANAGE_EXTERNAL_STORAGE
  • android.permission.INTERNET
  • android.permission.READ_PHONE_STATE
  • android.permission.READ_CALL_LOG
  • android.permission.READ_CONTACTS
  • android.permission.SEND_SMS
  • android.permission.READ_SMS
  • android.permission.RECEIVE_SMS
  • android.permission.RECEIVE_MMS
  • android.permission.RECEIVE_SENSITIVE_NOTIFICATIONS
  • android.permission.QUERY_ALL_PACKAGES
  • android.permission.READ_EXTERNAL_STORAGE
  • android.permission.CAMERA
  • android.permission.SYSTEM_ALERT_WINDOW
  • android.permission.WAKE_LOCK
  • android.permission.USE_FULL_SCREEN_INTENT
  • com.castle.sefirah.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
  • moe.shizuku.manager.permission.API_V23
Close