Skip to content

Chrome/Firefox Extension that expands the functionality of your favorite online video chats: Chatruletka (Чат Рулетка), Ome.tv, Minichat, Chatrulez, Omegle & Coomeet Free | Расширение для Чат Рулетки

License

Notifications You must be signed in to change notification settings

videochat-extension/videochat-extension

Repository files navigation

Videochat Extension

Videochat Extension is a fully independent open-source browser extension that expands the functionality of Omegle-like randomized video chats. Previously known as Chatruletka Extension and 'Чат Рулетное Расширение'.

It currently supports 55 video chat sites belonging to six platforms: Omegle (work-in-progress), Chatruletka (Чат Рулетка), Ome.tv, Minichat, Chatrulez, and Coomeet Free (bot recognition only).

Open

more screens

Installation from store

Building from source

  1. git clone https://github.com/videochat-extension/videochat-extension
  2. npm i
  3. npm run cross-dev
  4. manually load into your browser from 'webpack-builds'

Key Features

  • ✓ IP Locator — determines the stranger's approximate location
  • ✓ World map
  • ✓ Ban unwanted countries
  • ✓ Search for specific locations
  • ✓ Gender Filter
  • ✓ Dark Mode
  • ✓ Automation
  • ✓ Blacklist
  • ✓ Stats
  • ✓ Shortcuts/hotkeys
  • ✓ Streamer Mode
  • ✓ Simple Mode — essential features only
  • ✓ Customizable — configure features as you like
  • ✓ Open source — freedom and transparency
  • ✓ Indie project — community-supported development
  • ✓ Private and secure — we don't collect/sell your data

With this extension installed, you can find out where your interlocutors are from, filter them by gender, search for a specific city, enable dark mode, and much more!

Simple Mode

  • a minimalistic mode that includes only essential features:
    • ome.tv, chatruletka, minichat, chatrulez: displaying IP geolocation data in the chat area.
    • omegle: IP Locator & Dark Mode.
    • coomeet free: displaying the stranger's country, bot recognition and volume control.

Complete list of features

  • geolocation (IP Locator)

    • determines the stranger's IP address used for WebRTC connection.
    • uses the IP geolocation service to get the information about that IP address.
    • displays the stranger's approximate location (city/region/country), ISP, and whether they use a cellular network.
    • integration with the 'map' module: IP geolocation data is displayed on the world map.
    • integration with the 'streamer mode' module: IP geolocation data can be displayed in the OBS's text source.
    • determines if a stranger is using a proxy/tor/vpn connection to hide their real IP.
    • option to auto-skip predefined countries/regions/cities.
    • option to search for specific countries/regions/cities.
    • iknowwhatyoudownload integration that allows you to open a list of torrents possibly downloaded by a stranger.
    • option to select the language of ip geolocation data from English, Deutsch (German), Español (Spanish), Português (Portuguese), Français (French), 日本語 (Japanese), 中国 (Chinese), and Русский (Russian).
    • option to select which ip geolocation services will be used.
  • map

    • IP geolocation data is displayed on a world map embedded in the UI.
    • displays the approximate area where the stranger you are talking to may be located.
    • displays a marker popup with information about the stranger's approximate location.
    • different options to customize map's behavior.
  • faceapi (gender recognition)

    • AI-powered client-side gender recognition.
    • option to auto-skip strangers if their gender does not meet your expectations.
    • integration with the 'blacklist' module: option to automatically add strangers that were skipped by facepi to the blacklist.
    • integration with the 'stats' module: counts the statistics of how many men and women you met and how many were auto-skipped.
  • interface

    • dark mode (dark theme).
    • option to hide your own camera to make conversation more natural.
    • option to hide/show logo, banner, header, and watermark (not on all platforms).
    • option to cancel camera reflection (not on all platforms).
    • option to disable cropping stranger's video (not on all platforms).
  • automation

    • option to auto-skip strangers that take more than 4 seconds to connect
    • option to auto-skip if you were looking for someone from X country but the video chat found you someone from Y country (not on all platforms)
    • option to automatically close 'make yourself visible' (not on all platforms)
  • blacklist

    • you can add a stranger's IP address to the blacklist so that the extension can automatically skip them.
    • integration with the 'hotkeys' module: hotkey to add stranger to the blacklist and skip.
    • option to avoid adding cellular IPs to the blacklist.
    • option to play a sound when the extension auto-skips a blacklisted IP.
    • option to clear the blacklist.
  • stats

    • counts the number of people you've met.
    • counts how much time you've spent in conversations.
    • counts various statistics for other modules such as faceapi / blacklist.
  • controls

    • improvised control panel that acts as the extension UI.
    • it consists of a header, a content block, and tabs that select what will be displayed in the content block.
    • list of tabs: 'IP', 'Map', 'Bans', 'Stats', 'Settings', 'Info'.
    • the 'Info' tab contains helpful information about the extension: useful links, credits, version history, etc.
    • the header contains the extension name/version, and blocks with buttons for the extension functionality.
    • use the header's buttons to take a screenshot of the cameras / open the camera in picture-in-picture mode.
    • provides control buttons for other modules such as 'streamer mode'.
  • hotkeys

    • local hotkeys: use the keyboard arrows to skip/skip+blacklist/stop/report.
    • global hotkeys: browser-level shortcuts to skip/skip+blacklist/stop.
    • global hotkeys: browser-level shortcuts to make remote/local screenshots.
    • global hotkeys: browser-level shortcut to switch between the last non-chat tab and the chat tab.
    • provides hotkeys functionality for other modules such as 'streamer mode'.
  • settings

    • this module is responsible for the functionality of the 'Settings' tab in the UI.
    • all settings are grouped by their module.
    • if you hover over a setting, detailed information about what this setting does will be displayed.
  • streamer mode

    • a section of specialized features that help streamers broadcast video chats on YouTube and other services.
    • OBS integration - allows you to display IP geolocation data in the text source and control the visibility of the image, which covers the video while you look for a suitable interlocutor.
    • blur & cover - allows you to cover the interlocutor's camera with a blur/picture/gif and look at it through picture-in-picture mode to decide if the interlocutor is suitable to show to your audience.
    • integration with the 'hotkeys' module: local shortcuts to toggle mute/blur/cover.
    • integration with the 'controls' module: header buttons to toggle mute/blur/cover.

Supported chats

Chatruletka (full support):

Ome.tv (full support):

Minichat (full support):

Chatrulez (full support):

Omegle (work-in-progress):

Coomeet Free (bot recognition & interface tweaks):

Policy of neutrality, acceptable use and functional limitations

  • This extension is meant to improve the UX of real users / streamers who enter the chat without destructive/hostile intent. I do not endorse any other use of the extension and when choosing new features, I focus on the video chat policy and try to follow it as much as possible to avoid any conflict.
  • This extension is completely independent of the administration of video chats, but tries to develop in such a way as not to harm the platforms and their users.
  • This extension, when implementing its functionality, avoids interfering with the javascript code of video chat scripts. In most cases, it interacts directly with DOM elements, as if it were a normal person.
  • This extension will never interfere with the functionality that is critical for the functioning of video chats: it will not oppose the moderation, user identification and ban systems, as well as implement functionality similar to the paid functions of video chat platforms (for example, if video chat offers a gender filter for money - I don't implement the same in the extension and so on, there may be exceptions, such as: geolocation, adblock, bot filter, etc.).
  • This extension will never partner with any video chats to promote them to the extension's audience. Video chat platforms in the list of supported ones are listed in the order of appearance of this very support.
  • This extension will never be sold to third parties and will never be monetized by the malicious methods.
  • This extension respects the privacy of its users and develops according to this statement.
  • This extension and all of its software components will always be distributed under free and open source licenses to ensure transparency, freedom and security of use and modification.
  • I don't plan to create my own video chat and use my extension to promote it: I have my main project (unrelated to video chats), which takes most of my life energy, and I'm not going to cheat on it. I can use the money donated by the users of the extension to finance the development of my own projects, but сreating and maintaining a global videochat is beyond my capabilities, given the number and complexity of my independent projects, in the constant development and support of which I am interested. I recognize the permanence of the current leaders in the video chat market, which has been developing for 15 years, and I could not do anything with them even if I wanted to.

What happens if there is an attempt to disrupt the functionality of the extension?

If any supported videochat tries to intentionally prevent the extension from working or harm its users, I will first try to contact its owners and use diplomacy to try to resolve the conflict and continue supporting their video chat on the browser extension platform.

If the efforts are pointless and the conflict is not resolved, it will be very sad, because we will have to consider this particular videochat as hostile and the set of possible functions for implementation will be greatly reduced, because in order to implement some functions it is necessary to make changes to the html / js code of the site, which may want to prevent it and be able to do it.

If this video chat was popular among users of the extension, we will continue to support it in the desktop program based on our electron fork and the implementation of all the necessary hooks with chromium code patches. Basic functions like geolocation will continue to work, while it will be very difficult for the videochat itself to distinguish the user of the program from the user of the usual browser. In addition, since we will no longer be bound by our policies and the policies of the extension stores, we will be able to implement features aimed at protecting the user's privacy from moderators and much more.

In any case, I hope that it will not come to this and video chats will find my independent project useful for themselves so that they will not interfere with a very small percentage of users from using limited extended functionality. I just wanted to indicate that there is always a backup plan and if the platform becomes hostile, the user will always stay in priority.