Kick.com Enhancer

Kick.com Chat Overlay & Auto Unmute/1080p

  1. // ==UserScript==
  2. // @name Kick.com Enhancer
  3. // @namespace RishiSunak
  4. // @version 0.3
  5. // @description Kick.com Chat Overlay & Auto Unmute/1080p
  6. // @author Rishi
  7. // @match https://kick.com/*
  8. // @grant none
  9. // ==/UserScript==
  10. (function() {
  11. 'use strict';
  12. let currentStreamSrc = '';
  13. let overlayContainer = null;
  14. function checkStreamChange() {
  15. const videoElement = document.querySelector('video.vjs-tech');
  16. if (videoElement) {
  17. const newStreamSrc = videoElement.getAttribute('src');
  18. if (newStreamSrc !== currentStreamSrc) {
  19. currentStreamSrc = newStreamSrc;
  20. if (overlayContainer) {
  21. overlayContainer.remove();
  22. }
  23. setTimeout(() => {
  24. customizeVideo();
  25. const match = window.location.pathname.match(/^\/(.+)$/);
  26. if (match) {
  27. const streamerName = match[1];
  28. createOverlay(streamerName);
  29. }
  30. }, 2000);
  31. }
  32. }
  33. }
  34. function customizeVideo() {
  35. const muteControlButton = document.querySelector('.vjs-mute-control');
  36. if (muteControlButton) {
  37. const buttonText = muteControlButton.querySelector('.vjs-control-text').textContent.trim().toLowerCase();
  38. if (buttonText === 'unmute') {
  39. simulateClick(muteControlButton);
  40. }
  41. }
  42. // Set video quality to 1080p if available
  43. const qualityButtons = document.querySelectorAll('.vjs-menu-item-text');
  44. qualityButtons.forEach(button => {
  45. if (button.textContent.trim().toLowerCase() === '1080p60') {
  46. simulateClick(button);
  47. }
  48. });
  49. console.log('Video customized');
  50. }
  51. function createOverlay(streamerName) {
  52. const videoElement = document.getElementById('mifu-player-check');
  53. if (!videoElement) {
  54. return;
  55. }
  56. const overlay = document.createElement('div');
  57. overlay.style.position = 'absolute';
  58. overlay.style.bottom = '32px';
  59. overlay.style.left = '0';
  60. overlay.style.width = '100%';
  61. overlay.style.height = '40vh';
  62. overlay.style.zIndex = '9999';
  63. overlay.style.pointerEvents = 'none';
  64. const iframe = document.createElement('iframe');
  65. iframe.src = `https://cxwatcher.github.io/chat?user=${streamerName}&animate=true&badges=true&commands=true&bots=true&textsize=15px`;
  66. iframe.style.width = '100%';
  67. iframe.style.height = '100%';
  68. iframe.style.border = 'none';
  69. overlay.appendChild(iframe);
  70. videoElement.parentNode.appendChild(overlay);
  71. console.log('Overlay created');
  72. overlayContainer = document.getElementById('overlay-container');
  73. }
  74. function simulateClick(element) {
  75. var event = new MouseEvent('click', {
  76. bubbles: true,
  77. cancelable: true,
  78. view: window
  79. });
  80. element.dispatchEvent(event);
  81. }
  82. setTimeout(() => {
  83. checkStreamChange();
  84. setInterval(() => {
  85. checkStreamChange();
  86. }, 500);
  87. }, 2000);
  88. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址