Skip to content

About

KiwiIRC plugins originally built for Baboon.fr (closed 2026), cleaned up and released to the community

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

KiwiIRC Plugins — Baboon.fr Legacy

A collection of KiwiIRC plugins originally developed for Baboon.fr, a French IRC-based chat site that closed in 2026. Released to the community so these tools don't go to waste.

These plugins were built for a production chat platform, so most have been cleaned up before publishing here: hardcoded domains/endpoints replaced with configurable settings, unrelated site-specific branding and business logic stripped out, and debug logging removed. See each plugin's inline comments for configuration notes.

Installation

KiwiIRC loads plugins as plain JavaScript files referenced from your config.json (or config.local.json) under the startupOptions.plugins / plugins array — see the KiwiIRC plugin documentation for details. Drop the .js file(s) you want into your static/plugins/ folder and reference them from your config. plugin-conference/ is a separate Vue/Webpack sub-project — build it with yarn install && yarn build and load the resulting bundle instead.

Plugins

UI / navigation (ui/)

  • tooltip.js — generic data-tooltip attribute-based tooltip system.
  • hideMobileIconsPlugin.js — hides selected header icons on mobile screens.
  • cleanup_networks.js — disconnects all IRC networks on tab close to avoid ghost connections.
  • ignorelist_button.js — header button to open the ignored-users buffer.
  • url-channels.js — auto-joins channels passed via a ?channels= URL parameter.
  • listcommand.js — sends /list automatically a few seconds after connecting.
  • display-topic.js — displays the channel topic above the message list on join/topic change.
  • nickserv-style-override.js — modern dark-theme CSS restyle for the standard KiwiIRC NickServ plugin forms.
  • mobile-header-adjuster.js — detects AdSense ad banners on mobile and shifts the header down so it isn't covered.
  • cplug.js — hides noisy connection numerics/MOTD, answers CTCP VERSION, strips ad-tracking hash fragments from the URL.

Social / moderation (social/)

  • amis-enhanced.js — friends list with online/offline presence (via WATCH/WHOIS), notes, highlighting, and a floating "friends online" widget.
  • disable-whois.js — blocks user-triggered /whois and /whowas for privacy-focused deployments.
  • bannedNotice.js — friendly modal shown when a user is G-lined/Z-lined, with configurable rule text.
  • moderation-tools.js — right-click/long-press moderation context menu (kick/ban/quiet/op/voice), integrates with modern-sounds.js.
  • modern-sounds.js — procedurally generated UI sounds (Web Audio API, no audio files) for messages, highlights, clicks, etc.
  • channel-manager.js — full channel settings panel: standard mode toggles, topic editor with history, one-click ban list management.
  • globalUsersPlugin.js — modal listing all connected users on the network.
  • imageuploader.js — drag & drop image upload component; requires settings.imageUploader.endpoint to be configured.
  • menu.js — attachment menu (image share / webcam video recording) in the message input; requires settings.mediaUpload.imageEndpoint and settings.mediaUpload.videoEndpoint.
  • videorecorder.js — standalone in-browser webcam video recorder and uploader; requires settings.mediaUpload.videoEndpoint.
  • proximity-plugin.js — !nearby command and distance-based user sorting; assumes an "age sex city" realname convention (documented in the file) and asks for confirmation before using browser geolocation.
  • close_on_part.js — closes a channel buffer automatically when you part it.
  • realnameModifier.js — trims whitespace from the realname/gecos before connecting.
  • autoreconnect.js — robust auto-reconnect: detects mobile sleep/wake, network changes, and zombie WebSocket connections, with exponential backoff.

Conference / webcam (conference-webcam/)

  • private-webcam-call.js — 1:1 video call button in private messages, built on plugin-conference.
  • webcam-salon.js — replaces the standard conference button with a video/audio menu and automatic Jitsi reconnection handling.
  • conference-fix.js — fixes conference invite popups so dismissed invites stay dismissed (merged from two earlier iterations of the same fix).
  • auto-radio-listener.js — turns a channel into a "radio"/walkie-talkie room: when an operator sets channel mode +T, joined users automatically get a shared audio room via Jitsi.
  • radio-test-commands.js — /testmicro, /testmicrooff, /microstatus, /microhelp test commands for auto-radio-listener.js.

plugin-conference/

Full Jitsi Meet video conferencing integration for KiwiIRC (call buttons in channels/PMs, automatic moderator promotion for channel operators). Separate Vue/Webpack sub-project, Apache-2.0 licensed. Defaults to the public meet.jit.si server — see its own README for configuration.

License

MIT for the plugins in ui/, social/, and conference-webcam/ — see LICENSE. plugin-conference/ keeps its own Apache-2.0 license (see plugin-conference/LICENSE).

Notes

Some plugins assume an "age / sex / city" realname (gecos) convention (proximity-plugin.js, optionally globalUsersPlugin.js) — a holdover from Baboon.fr's realname format. They degrade gracefully if your network doesn't use this convention, but won't provide their full value without it.

Contributions and forks welcome.

About

KiwiIRC plugins originally built for Baboon.fr (closed 2026), cleaned up and released to the community

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages