CometConnect is a secure and fast peer-to-peer (P2P) communication project designed for Linux. It utilizes PortAudio, OpenCV, and PThreads to enable efficient and reliable communication between peers.
CometConnect is a robust P2P communication solution that ensures secure and seamless data transfer. Built specifically for Linux, this project leverages PortAudio for audio processing, OpenCV for video processing, and PThreads for multi-threading capabilities. The aim is to provide real-time communication with low latency and powerfull and fast file sharing, while prioritizing data privacy and security.
- Secure P2P Communication: CometConnect facilitates secure communication between peers, ensuring that data remains confidential and protected.
- Real-time Audio and Video: Enjoy real-time audio and video streaming capabilities for an immersive communication experience.
- Share file with maximum speed possible.
- Low Latency: CometConnect focuses on minimizing latency to deliver fast and responsive communication.
- Multi-threading Support: The integration of PThreads allows for efficient utilization of system resources and enhances overall application performance.
- Linux Compatibility: Developed specifically for Linux, CometConnect ensures seamless integration and optimal performance on the platform.
To use CometConnect, follow these steps:
- Clone the repository:
git clone https://github.com/nibesh0/cometconnect.git
- Install required dependencies:
sudo apt-get update
sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
- Install PortAudio:
sudo apt-get install portaudio19-dev
- Install OpenCV:
sudo apt-get install libopencv-dev
To use CometConnect , follow these steps:
- install the required library.
- To compile the server use the following command
g++ mainserver.c -o server `pkg-config --libs --cflags opencv4` -pthread -lportaudio
- To compile the client use the following command
g++ mainclient.c -o client `pkg-config --libs --cflags opencv4` -pthread -lportaudio
- Give executable permission to client and server .the server should do the first move.
chmod +x client
chmod +x server
- Usage of server and client
./server <ip of server>
./client <ip of server>
- Establish a P2P connection between peers using the provided functions.
- Terminate the communication and release any allocated resources using the provided cleanup functions.
Contributions to CometConnect are welcome! To contribute, follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature
- Make your changes and commit them:
git commit -m 'Add your feature'
- Push the changes to your forked repository:
git push origin feature/your-feature
- Open a pull request on the main repository.
Please ensure that your contributions align with the project's coding standards and guidelines.
CometConnect is licensed under the MIT License.
For any questions, issues, or support related to CometConnect, please refer to the issue tracker on GitHub.
The future roadmap for CometConnect includes the following:
- Implementing end-to-end encryption for enhanced security.
- Adding a better audio streaming.
- Enhancing the user interface and experience.
- Optimizing performance and reducing latency.
Your feedback are invaluable in shaping the future development of CometConnect.
CometConnect is developed and maintained by the following authors:
CometConnect is developed as a capstone project. We would like to thank the following individuals and resources for their contributions:
- PortAudio: Library for audio processing.
- OpenCV: Library for computer vision and video processing.
- PThreads: Library for multi-threading support.
Thank you for using CometConnect!