{"id":13565666,"url":"https://github.com/miroslavpejic85/mirotalkc2c","last_synced_at":"2025-04-12T19:44:56.675Z","repository":{"id":64700361,"uuid":"574033594","full_name":"miroslavpejic85/mirotalkc2c","owner":"miroslavpejic85","description":"✨WebRTC - C2C - Real-time cam-2-cam video calls \u0026 screen sharing, end-to-end encrypted, to embed in any website with a simple iframe.","archived":false,"fork":false,"pushed_at":"2024-10-27T15:24:08.000Z","size":2229,"stargazers_count":231,"open_issues_count":1,"forks_count":57,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-10-30T04:47:10.481Z","etag":null,"topics":["call","collaboration","e2e","hacktoberfest","hosting","low-latency","messaging","messenger","mirotalk","p2p-chat","peer-to-peer","screen-capture","self-hosted","sharing","talk","video-conference","video-conferencing","webrtc","webrtc-call","webrtc-demo"],"latest_commit_sha":null,"homepage":"https://c2c.mirotalk.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/miroslavpejic85.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["miroslavpejic85"]}},"created_at":"2022-12-04T07:55:24.000Z","updated_at":"2024-10-27T15:24:12.000Z","dependencies_parsed_at":"2023-02-19T08:46:25.590Z","dependency_job_id":"bf470eed-0865-4d15-bd5e-b4b4f4583043","html_url":"https://github.com/miroslavpejic85/mirotalkc2c","commit_stats":{"total_commits":248,"total_committers":2,"mean_commits":124.0,"dds":"0.0040322580645161255","last_synced_commit":"c8cc67d3a873ccb97874baab3502a4d0796dd236"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miroslavpejic85%2Fmirotalkc2c","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miroslavpejic85%2Fmirotalkc2c/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miroslavpejic85%2Fmirotalkc2c/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/miroslavpejic85%2Fmirotalkc2c/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/miroslavpejic85","download_url":"https://codeload.github.com/miroslavpejic85/mirotalkc2c/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248625489,"owners_count":21135513,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["call","collaboration","e2e","hacktoberfest","hosting","low-latency","messaging","messenger","mirotalk","p2p-chat","peer-to-peer","screen-capture","self-hosted","sharing","talk","video-conference","video-conferencing","webrtc","webrtc-call","webrtc-demo"],"created_at":"2024-08-01T13:01:52.580Z","updated_at":"2025-04-12T19:44:56.643Z","avatar_url":"https://github.com/miroslavpejic85.png","language":"JavaScript","funding_links":["https://github.com/sponsors/miroslavpejic85"],"categories":["JavaScript"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eMiroTalk C2C\u003c/h1\u003e\n\n\u003cbr /\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n\u003ca href=\"https://www.linkedin.com/in/miroslav-pejic-976a07101/\"\u003e![Author](https://img.shields.io/badge/Author-Miroslav_Pejic-brightgreen.svg)\u003c/a\u003e\n\u003ca href=\"https://choosealicense.com/licenses/agpl-3.0/\"\u003e![License: AGPLv3](https://img.shields.io/badge/License-AGPLv3_Open_Surce-blue.svg)\u003c/a\u003e\n\u003ca href=\"https://codecanyon.net/item/mirotalk-c2c-webrtc-real-time-cam-2-cam-video-conferences-and-screen-sharing/43383005\"\u003e![License: Regular](https://img.shields.io/badge/License-Regular_Private_Use-lightblue.svg)\u003c/a\u003e\n\u003ca href=\"https://codecanyon.net/item/mirotalk-c2c-webrtc-real-time-cam-2-cam-video-conferences-and-screen-sharing/43383005\"\u003e![License: Extended](https://img.shields.io/badge/License-Extended_Commercial_Use-darkgreen.svg)\u003c/a\u003e\n\u003ca href=\"https://discord.gg/rgGYfeYW3N\"\u003e![Community](https://img.shields.io/badge/Community-forum-pink.svg)\u003c/a\u003e\n\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003eFree WebRTC Real-Time Cam-2-Cam Video Calls \u0026 Screen Sharing, End-to-End Encrypted, to embed in any website with a \u003ca href=\"https://github.com/miroslavpejic85/mirotalkc2c/issues/2#issuecomment-1340587150\" target=\"_blank\"\u003esimple iframe.\u003c/a\u003e\u003c/p\u003e\n\n\u003chr /\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://c2c.mirotalk.com\"\u003eExplore MiroTalk C2C\u003c/a\u003e\n\u003c/p\u003e\n\n\u003chr /\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://c2c.mirotalk.com\"\u003e\u003cimg src=\"./frontend/images/ui.png\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003chr /\u003e\n\n\u003cstrong\u003e\n    \u003cp align=\"center\"\u003e\n        Join our Community for questions, help, support, ideas, and discussions on \u003ca href='https://discord.gg/rgGYfeYW3N'\u003eDiscord\u003c/a\u003e\n    \u003c/p\u003e\n\u003c/strong\u003e\n\n\u003chr /\u003e\n\n\u003cdetails open\u003e\n\u003csummary\u003eQuick start\u003c/summary\u003e\n\n![nodejs](frontend/images/nodejs.png)\n\nInstall [NodeJs](https://nodejs.org/en/blog/release/v18.16.0).\n\n```bash\n# Clone the project repo\n$ git clone https://github.com/miroslavpejic85/mirotalkc2c.git\n# Go to project dir\n$ cd mirotalkc2c\n# Copy .env.template in .env and edit it if needed\n$ cp .env.template .env\n# Install dependencies\n$ npm install\n# Start the server\n$ npm start\n```\n\nOpen [http://localhost:8080](http://localhost:8080) in your browser.\n\n\u003c/details\u003e\n\n\u003cdetails open\u003e\n\u003csummary\u003eDocker\u003c/summary\u003e\n\n\u003cbr/\u003e\n\n![docker](./frontend/images/docker.png)\n\nRepository: [Docker hub](https://hub.docker.com/r/mirotalk/c2c)\n\nInstall [docker](https://docs.docker.com/engine/install/) and [docker-compose](https://docs.docker.com/compose/install/).\n\n```bash\n# Clone the project repo\n$ git clone https://github.com/miroslavpejic85/mirotalkc2c.git\n# Go to project dir\n$ cd mirotalkc2c\n# Copy .env.template in .env and edit it if needed\n$ cp .env.template .env\n# Copy docker-compose.template.yml in docker-compose.yml and edit it if needed\n$ cp docker-compose.template.yml docker-compose.yml\n# Get official image from Docker Hub\n$ docker pull mirotalk/c2c:latest\n# Create and start containers\n$ docker-compose up\n```\n\nOpen [http://localhost:8080](http://localhost:8080) in your browser.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eDocumentations\u003c/summary\u003e\n\n\u003cbr\u003e\n\n- `Ngrok/HTTPS:` You can start a video conference directly from your local PC and make it accessible from any device outside your network by following [these instructions](docs/ngrok.md), or expose it directly on [HTTPS](backend/ssl/README.md).\n\n- `Stun/Turn:` Install your own [Stun \u0026 Turn](https://docs.mirotalk.com/coturn/stun-turn/) by following [this instructions](./docs/coturn.md).\n\n- `Self-hosting:` For `self-hosting MiroTalk C2C` on your own dedicated server, please refer to [this comprehensive guide](docs/self-hosting.md). It will provide you with all the necessary instructions to get your MiroTalk C2C instance up and running smoothly.\n\n- `Rest API:` The [API documentation](https://docs.mirotalk.com/mirotalk-c2c/api/) uses [swagger](https://swagger.io/) at http://localhost:8080/api/v1/docs or check it on live [here](https://c2c.mirotalk.com/api/v1/docs).\n\n    ```bash\n    # The response will give you a entrypoint / Room URL for your meeting.\n    $ curl -X POST \"http://localhost:8080/api/v1/meeting\" -H \"authorization: mirotalkc2c_default_secret\" -H \"Content-Type: application/json\"\n    $ curl -X POST \"https://c2c.mirotalk.com/api/v1/meeting\" -H \"authorization: mirotalkc2c_default_secret\" -H \"Content-Type: application/json\"\n    # The response will give you a entrypoint / URL for the direct join to the meeting.\n    $ curl -X POST \"http://localhost:8080/api/v1/join\" -H \"authorization: mirotalkc2c_default_secret\" -H \"Content-Type: application/json\" --data '{\"room\":\"test\",\"name\":\"mirotalkc2c\"}'\n    $ curl -X POST \"https://c2c.mirotalk.com/api/v1/join\" -H \"authorization: mirotalkc2c_default_secret\" -H \"Content-Type: application/json\" --data '{\"room\":\"test\",\"name\":\"mirotalkc2c\"}'\n    ```\n\n\u003c/details\u003e\n\n\u003cdetails open\u003e\n\u003csummary\u003eHetzner \u0026 Contabo\u003c/summary\u003e\n\n\u003cbr/\u003e\n\n[![Hetzner](frontend/images/hetzner.png)](https://hetzner.cloud/?ref=XdRifCzCK3bn)\n\nThis application is running for `demonstration purposes` on [Hetzner](https://www.hetzner.com/), one of `the best` [cloud providers](https://www.hetzner.com/cloud) and [dedicated root servers](https://www.hetzner.com/dedicated-rootserver).\n\n---\n\nUse [my personal link](https://hetzner.cloud/?ref=XdRifCzCK3bn) to receive `€⁠20 IN CLOUD CREDITS`.\n\n---\n\n[![Contabo](frontend/images/contabo.png)](https://www.dpbolvw.net/click-101027391-14462707)\n\nExperience also top-tier German web hosting – dedicated servers, VPS, and web hosting at `unbeatable prices`. Reliable, secure, and backed by 24/7 support. [Explore now here](https://www.dpbolvw.net/click-101027391-14462707)\n\n---\n\nTo set up your own instance of `MiroTalk C2C` on a dedicated cloud server, please refer to our comprehensive [self-hosting documentation](https://docs.mirotalk.com/mirotalk-c2c/self-hosting/). This guide will walk you through the process step by step, ensuring a smooth and successful deployment.\n\n\u003c/details\u003e\n\n\u003cdetails open\u003e\n\u003csummary\u003eSupport\u003c/summary\u003e\n\n\u003cbr/\u003e\n\nDo you find MiroTalk C2C indispensable for your needs? Join us in supporting this transformative project by [becoming a backer or sponsor](https://github.com/sponsors/miroslavpejic85). By doing so, not only will your logo prominently feature here, but you'll also drive the growth and sustainability of MiroTalk C2C. Your support is vital in ensuring that this valuable platform continues to thrive and remain accessible for all. Make an impact – back MiroTalk C2C today and be part of this exciting journey!\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eLicense\u003c/summary\u003e\n\n\u003cbr/\u003e\n\n![AGPLv3](./frontend/images/AGPLv3.png)\n\nMiroTalk C2C is free and open-source under the terms of AGPLv3 (GNU Affero General Public License v3.0). Please `respect the license conditions`, In particular `modifications need to be free as well and made available to the public`. Get a quick overview of the license at [Choose an open source license](https://choosealicense.com/licenses/agpl-3.0/).\n\nTo obtain a [MiroTalk C2C license](https://docs.mirotalk.com/license/licensing-options/) with terms different from the AGPLv3, you can conveniently make your [purchase on CodeCanyon](https://codecanyon.net/item/mirotalk-c2c-webrtc-real-time-cam-2-cam-video-conferences-and-screen-sharing/43383005). This allows you to tailor the licensing conditions to better suit your specific requirements.\n\n\u003c/details\u003e\n\n## Diving into Additional MiroTalk Projects:\n\n\u003cdetails\u003e\n\u003csummary\u003eMiroTalk SFU\u003c/summary\u003e\n\n\u003cbr\u003e\n\nTry also [MiroTalk SFU](https://github.com/miroslavpejic85/mirotalksfu) `selective forwarding unit` real-time video conferences, optimized for large groups. `Unlimited time, unlimited concurrent rooms` each having 8+ participants, up to ~ 100 per single CPU.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eMiroTalk P2P\u003c/summary\u003e\n\n\u003cbr/\u003e\n\nTry also [MiroTalk P2P](https://github.com/miroslavpejic85/mirotalk) `peer to peer` real-time video conferences, optimized for small groups. `Unlimited time, unlimited concurrent rooms` each having 5-8 participants.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eMiroTalk BRO\u003c/summary\u003e\n\n\u003cbr\u003e\n\nTry also [MiroTalk BRO](https://github.com/miroslavpejic85/mirotalkbro) `Live broadcast` (peer to peer) live video, audio and screen stream to all connected users (viewers). `Unlimited time, unlimited concurrent rooms` each having a broadcast and many viewers.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eMiroTalk WEB\u003c/summary\u003e\n\n\u003cbr\u003e\n\nTry also [MiroTalk WEB](https://github.com/miroslavpejic85/mirotalkwebrtc) a platform that allows for the management of an `unlimited number of users`. Each user must register with their email, username, and password, after which they gain access to their `personal dashboard`. Within the dashboard, users can `manage their rooms and schedule meetings` using the desired version of MiroTalk on a specified date and time. Invitations to these meetings can be sent via email, shared through the web browser, or sent via SMS.\n\n\u003c/details\u003e\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiroslavpejic85%2Fmirotalkc2c","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmiroslavpejic85%2Fmirotalkc2c","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiroslavpejic85%2Fmirotalkc2c/lists"}