Skip to content

NeedToLookAtMyPictures/Swamphacks-2026

Repository files navigation

Welcome to Coniuncti! "Work Together Anywhere"

Acknowledgements: We used OpenAI's ChatGPT 5 in the opening stages to help us determine what libraries and technical milestones we needed to reach in order to build Coniuncti. Additionally we used Claude Sonnet 4.5 via VSCode's CoPilot Chat throughout the Hackathon to build Coniuncti. Finally, we included Ngrok's cloud-based tunneling service to allow for remote internet connections, thereby transforming Coniuncti from just a cool portfolio project to an actually useful application.

Notice: We cannot guarantee functionality on non-Windows operating systems. In testing MacOS and Linux proved unstable. Please keep that in mind when using Coniuncti.

What is Coniuncti?

A real-time screen sharing application with remote control capabilities built with Python. Works on local networks and over the internet.

Key Features

Connect to a host and see their screen - Real-time screen streaming at 30 FPS
Let viewers type and click on the host's screen - Full remote control
Remote internet access - Share screen from anywhere using ngrok tunnels

Completed Features

  • Screensharing

    • Host shares screen with multiple users
    • JPEG compression for efficient network transmission
    • Configurable FPS and quality settings
  • Input Injection and User Interaction Page

    • Remote input properly registered as native typing/clicking events
    • Mouse movement, clicks, scrolling, and keyboard input
    • Ability to blacklist certain IP addresses from connection
  • Overlay Window

    • Interactive client window
    • Connected users sidebar
    • FPS counter and status indicators
  • Network Events

    • Socket-based host-client architecture
    • Multi-client support
    • Logging for mouse/keyboard events
    • Client list synchronization
  • Remote Access

    • Port forwarding configuration helper
    • ngrok tunnel integration
    • Authentication token support

Installation

  1. Install Python dependencies:
pip install -r requirements.txt

Usage

User Interaction

Run the following command:

python integrated_app.py

integrated_app.py is the source code for Coniuncti.

To create a new executable file, run the following command:

.\build_executable.bat

Remote Access (Over Internet)

Setup (one-time):

To host over the Internet (as opposed to just your local network), you will need a ngrok authentication token. Luckily, it's free!

Architecture

┌──────────────┐         Network         ┌──────────────┐
│              │◄────────────────────────┤              │
│   HOST       │      Screen Frames      │   CLIENT 1   │
│   (Server)   ├────────────────────────►│   (Viewer)   │
│              │                         │              │
│  - MSS       │◄────── Commands ────────┤  - Tkinter   │
│  - PyAutoGUI │  (Mouse/Keyboard)       │  - Input     │
│  - Socket    │                         │  - Display   │
└──────┬───────┘                         └──────────────┘
       │
       ├─────────────────────────────────┐
       │                                 │
       ▼                                 ▼
┌──────────────┐                  ┌──────────────┐
│   CLIENT 2   │                  │   CLIENT 3   │
│   (Viewer)   │                  │   (Viewer)   │
└──────────────┘                  └──────────────┘

Security Considerations

Important:

  • Use authentication tokens for remote access
  • Only share connection details with trusted users
  • Consider using ngrok for sensitive environments
  • Monitor your network - close port forwarding when not in use
  • Change default port if exposing to public internet

Troubleshooting

Connection refused?

  • Check host is running on the correct port
  • Verify firewall settings
  • Ensure you're using the correct IP address

Can't Host? Broken client views?

  • Reboot Coniuncti
  • If you are switching between "Local Network" and "Remote (ngrok)" hosting during the same session make sure you've ticked/unticked "Enable Remote Access"
  • If you're using "Local Network" hosting only clients on the same WiFi network with the host can connect

Slow/laggy video?

  • Lower FPS or quality settings
  • Check network bandwidth
  • Reduce connected clients
  • Make sure your computer is plugged in or your power saving feature is turned off.

Remote connection timeout?

  • Verify port forwarding in router
  • Check firewall blocking the port
  • Test port with online port checker

About

Coniuncti is your one-stop shop for all things remote-interactive. This app gives everything the convenience of Google Docs with its synchronized editing. No longer will you need separate pair programming apps for your IDE, pair editing apps for your Office Suite, or remote play apps for your couch coop games!

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors