Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/srilakshmikanthanp/clipbirdesk

A Bird that helps you to sync clipboard between devices in your local network - Clipbird Desktop Version!
https://github.com/srilakshmikanthanp/clipbirdesk

bonjour clipbird clipboard clipboard-sync cpp17 localnetwork mdns qt6 tls

Last synced: 2 months ago
JSON representation

A Bird that helps you to sync clipboard between devices in your local network - Clipbird Desktop Version!

Awesome Lists containing this project

README

        

[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![MIT License][license-shield]][license-url]





Logo

Clipbird



A Bird that syncs Your clipboard data between devices connected in a local network.


Report Bug
·
Request Feature


Table of Contents



  1. About The Project


  2. Getting Started

  3. Roadmap

  4. Contributing

  5. License

  6. Contact

  7. Acknowledgments

  8. Bonjour Integration

  9. Contributors

  10. Screenshots

## About The Project

Clipbird Software helps you to sync your clipboard data between devices connected to a local network. It is a cross-platform software that works on various platforms. It is free and open-source software that is licensed under the MIT License. It currently supports `Windows` and [`Android`](https://github.com/srilakshmikanthanp/clipbirdroid).

(back to top)

### Built With

* Bonjour
* C++
* Qt6
* OpenSSL

(back to top)

## Getting Started

To Install Clipbird on your system, you can either download the installer from the release or build it from the source. The following steps will guide you through the installation process.

### Installing Clipbird on an Android Platform

Follow the instructions on the [clipbirdroid](https://github.com/srilakshmikanthanp/clipbirdroid) repository to install Clipbird on your Android system.

### Installing Clipbird on a Windows Platform

Just go to Github Release choose the suitable version for your system and download it. Then install it in your system.

### Building Clipbird on a Windows Platform

In the following steps, we will see how to build the project in the Windows platform, We use choco to install the dependencies. If you don't have choco installed in your system, you can install it from [here](https://chocolatey.org/install).

#### Prerequisites

* Bonjour
* C++
* Qt6
* OpenSSL

#### Installing OpenSSL

Install OpenSSL using the following command and set the environment variable `OPENSSL_ROOT_DIR` to the OpenSSL installation directory.

~~~sh
choco install openssl
~~~

#### Installing Qt6

Go to [Qt](https://www.qt.io/download-qt-installer) and download the Qt installer for Windows, then install it in your system. After installing Qt, you need to set the environment variable `QT_CMAKE_DIR` to the Qt cmake directory.

#### Installing Bonjour

Just go to [Bonjour](https://developer.apple.com/bonjour/) and download the Bonjour SDK for Windows, then install it in your system. It should set the environment variable `BONJOUR_SDK_HOME` to the Bonjour SDK directory.

#### Environment Variables

| Variable | Value |
|---------------------|------------------------------------|
| `OPENSSL_ROOT_DIR` | OpenSSL installation directory |
| `QT_CMAKE_DIR` | Qt6 cmake directory |
| `BONJOUR_SDK_HOME` | Bonjour SDK directory |

(back to top)

### Building Clipbird on a Linux Platform

Currently, it does not work well in Linux as it works in Windows just added some conditions to compile in the Linux Platform, In the following steps, we will see how to do it. Here are some noticed bugs,

* The position of the window is not set properly.
* The notification is Not implemented.
* The Clipboard data is not synced properly.

#### Prerequisites

* Avahi
* C++
* Qt6
* libnotify
* OpenSSL

#### Installing OpenSSL

Install OpenSSL using the following command.

~~~sh
sudo apt-get install libssl-dev
~~~

#### Installing Qt6

Go to [Qt](https://www.qt.io/download-qt-installer) and download the Qt installer for Linux, then install it in your system. After installing Qt, you need to set the environment variable `QT_CMAKE_DIR` to the Qt cmake directory.

#### Installing Avahi

Install Avahi using the following command.

~~~sh
sudo apt-get install libavahi-compat-libdnssd-dev
~~~

#### Installing libnotify

Install libnotify using the following command.

~~~sh
sudo apt-get install libglib2.0-dev
sudo apt-get install libnotify-dev
~~~

#### Environment Variables

| Variable | Value |
|---------------------|------------------------------------|
| `QT_CMAKE_DIR` | Qt6 cmake directory |

## Roadmap

See the [open issues](https://github.com/srilakshmikanthanp/clipbirdesk/issues) for a full list of proposed features (and known issues).

(back to top)

## Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
Don't forget to give the project a star! Thanks again!

1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

(back to top)

## License

Distributed under the MIT License. See `LICENSE` for more information. However, please note that it uses the Qt framework, which is licensed under the LGPL v3 and GPL v3 licenses.

(back to top)

## Contact

Sri Lakshmi Kanthan P - [@itsmekanth](https://twitter.com/itsmekanth) -

Project Link: [https://github.com/srilakshmikanthanp/clipbirdesk](https://github.com/srilakshmikanthanp/clipbirdesk)

(back to top)

## Acknowledgments

* [libnotify](https://developer-old.gnome.org/libnotify/)
* [OpenSSL](https://www.openssl.org/)
* [Qt](https://www.qt.io/)
* [C++](https://isocpp.org/)
* [Avahi](https://avahi.org/)
* [Bonjour](https://developer.apple.com/bonjour/)

## Bonjour Integration

Bonjour

This project utilizes Bonjour technology by Apple for Advertising and Discovery of the devices that has Clipbird installed in the local network. Bonjour, also known as zero-configuration networking, enables automatic discovery of devices and services on a local network using industry standard IP protocols. Bonjour makes it easy to discover, publish, and resolve network services with a sophisticated, easy-to-use programming interface that is accessible from Cocoa, Ruby, Python, and other languages.

(back to top)

## Contributors

* [Suryanarayanan](https://github.com/suryanarayanandv)
* [Dharun RK](https://github.com/rkdharun)
* [Kaaviya S](https://github.com/kaaviya-s)
* [Manoj Raj M](https://github.com/manojrajm)

(back to top)

## Screenshots

|![clipbird](assets/images/clipbird_light.png) | ![history](assets/images/history_light.png) |
|--------------------------------------- | --------------------------------------|
|![clipbird](assets/images/clipbird_dark.png) | ![history](assets/images/history_dark.png) |

(back to top)

[forks-shield]: https://img.shields.io/github/forks/srilakshmikanthanp/clipbirdesk.svg?style=for-the-badge
[forks-url]: https://github.com/srilakshmikanthanp/clipbirdesk/network/members
[stars-shield]: https://img.shields.io/github/stars/srilakshmikanthanp/clipbirdesk.svg?style=for-the-badge
[stars-url]: https://github.com/srilakshmikanthanp/clipbirdesk/stargazers
[issues-shield]: https://img.shields.io/github/issues/srilakshmikanthanp/clipbirdesk.svg?style=for-the-badge
[issues-url]: https://github.com/srilakshmikanthanp/clipbirdesk/issues
[license-shield]: https://img.shields.io/github/license/srilakshmikanthanp/clipbirdesk.svg?style=for-the-badge
[license-url]: https://github.com/srilakshmikanthanp/clipbirdesk/blob/main/LICENSE