Carbon (from Carbon Paper) is a desktop app to share files. What makes Carbon different is that it watches files for changes and updates all connected clients in real time. It was originally designed to use when teaching programming, showing code or when you need to share files with a live audience.
You can use it to share files only in your local network or you can enable world mode to create a public access domain using ngrok.
Carbon is available for macOS, Linux and Windows (untested).
Download the latest release here. Open the app, drop files into the main window and click the start button. This will enable a server over the local network. Clients on the same network can connect with the supplied URL. If your firewall blocks your server or you have issues inside the network, you can enable world mode by clicking in the globe icon, that will create a new URL that's available to anyone. Use with caution!
Every client that connects to the supplied URL will have the same files dropped in the app and they will update live using sockets.
You can use Carbon with any text editor. Updates will be sent to clients whenever files changes are detected. For character level updates you can use different settings depending on the editor of your choice:
- VSCode: Enable the Auto Save functionality for millisecond saves with
- Atom: Install the auto-save on Change plugin and set the amount of time to auto-save.
- Sublime: Install the auto-save plugin that saves the current file after every modification.
Every connected user receives a page with a socket connection to the server. This pages allows for save options and theme personalization.
The client page is built with create-react-app
To develop the electron app:
sudo yarn start
To package the app:
sudo yarn package
To build the client side:
cd client yarn start