UPSAtwal / Callisto

In progress: A self-hosted cross-platform clipboard sharing app.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Callisto


A self-hosted cross-platform app to share your clipboard across all devices ✍🏽

Callisto Logo


Screenshots

Login Page Clipboard History


How to run

Server

Using docker is the recommended way.

Navigate into the server/ directory. Create a file named pass and add whatever you want the authentication token to be. Since you don't really need to memorise it, it's better to use a long random string. head -c 500 /dev/urandom | tr -dc 'a-zA-Z0-9~!@#$%^&*_-' > pass can be used on linux systems. From there, build the docker image.

$ docker build -t <image-name> 

To run it

$ docker run -dp PORT:4096 <image-name>

The http server inside the docker will bind with PORT of the localhost and can receive requests on 127.0.0.1:PORT

πŸ€“ This project follows the Monorepo approach

Which means:

  • server/ folder contains all the logic for the server to be self-hosted
  • callisto-app/callisto folder contains the client-side flutter app which will run on all your devices

To-Do

  • [βœ“] Package the server into a docker app for easy deployment
  • Release packages for all platforms
  • Change auth to using TLS encryption in LAN instead of restAPI auth (similar to KDE Connect)
  • Automate building packages and deployment using Github Actions
  • Improve API security
  • Add clipboard encryption
  • Add device discoverability on LAN using mDNS (akin to avahi)
  • Improve UI :)

About

In progress: A self-hosted cross-platform clipboard sharing app.

License:GNU General Public License v3.0


Languages

Language:C++ 35.6%Language:CMake 29.3%Language:Dart 21.9%Language:JavaScript 4.7%Language:Swift 2.9%Language:HTML 2.9%Language:C 2.2%Language:Dockerfile 0.2%Language:Kotlin 0.2%Language:Shell 0.1%Language:Objective-C 0.1%