|
|
@@ -0,0 +1,175 @@
|
|
|
+/**
|
|
|
+ * 动态加载JavaScript文件
|
|
|
+ * @param {string} url - JS文件的URL
|
|
|
+ * @param {Function} callback - 加载成功后的回调函数
|
|
|
+ * @param {Function} errorCallback - 加载失败后的回调函数
|
|
|
+ */
|
|
|
+function loadJS(url, callback, errorCallback) {
|
|
|
+ // 创建script标签
|
|
|
+ const script = document.createElement('script');
|
|
|
+ script.type = 'text/javascript';
|
|
|
+ script.src = url;
|
|
|
+
|
|
|
+ // 设置加载成功回调
|
|
|
+ script.onload = function() {
|
|
|
+ if (typeof callback === 'function') {
|
|
|
+ callback();
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ // 设置加载失败回调
|
|
|
+ script.onerror = function() {
|
|
|
+ if (typeof errorCallback === 'function') {
|
|
|
+ errorCallback();
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ // 将script标签添加到页面中
|
|
|
+ document.head.appendChild(script);
|
|
|
+}
|
|
|
+
|
|
|
+window.statusInfo = "空闲中"
|
|
|
+window.darw = {}
|
|
|
+if (location.href.startsWith('https://www.douyin.com/user/')) {
|
|
|
+ if (localStorage.getItem('dqrw')) {
|
|
|
+ window.statusInfo = "运行中"
|
|
|
+ window.darw = JSON.parse(localStorage.getItem('dqrw'))
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+// 获取tooltip元素
|
|
|
+const tooltip = document.getElementById('tooltip');
|
|
|
+
|
|
|
+// 同时触发pointerenter和mouseenter事件
|
|
|
+function triggerHoverEvents() {
|
|
|
+ // 1. 触发pointerenter事件
|
|
|
+ const pointerEnterEvent = new PointerEvent('pointerenter', {
|
|
|
+ bubbles: true,
|
|
|
+ cancelable: true,
|
|
|
+ view: window,
|
|
|
+ pointerId: 1,
|
|
|
+ pointerType: 'mouse',
|
|
|
+ isPrimary: true
|
|
|
+ });
|
|
|
+
|
|
|
+ // 2. 触发mouseenter事件
|
|
|
+ const mouseEnterEvent = new MouseEvent('mouseenter', {
|
|
|
+ bubbles: true,
|
|
|
+ cancelable: true,
|
|
|
+ view: window,
|
|
|
+ clientX: 100,
|
|
|
+ clientY: 100
|
|
|
+ });
|
|
|
+
|
|
|
+ // 3. 触发pointerover(如果需要)
|
|
|
+ const pointerOverEvent = new PointerEvent('pointerover', {
|
|
|
+ bubbles: true,
|
|
|
+ cancelable: true,
|
|
|
+ view: window,
|
|
|
+ pointerId: 1,
|
|
|
+ pointerType: 'mouse'
|
|
|
+ });
|
|
|
+
|
|
|
+ // 4. 触发mouseover(如果需要)
|
|
|
+ const mouseOverEvent = new MouseEvent('mouseover', {
|
|
|
+ bubbles: true,
|
|
|
+ cancelable: true,
|
|
|
+ view: window,
|
|
|
+ clientX: 100,
|
|
|
+ clientY: 100
|
|
|
+ });
|
|
|
+
|
|
|
+ // 按顺序同时触发所有事件
|
|
|
+
|
|
|
+ // document.querySelectorAll('.semi-dropdown-item')[8].click()
|
|
|
+ // tooltip.dispatchEvent(pointerOverEvent);
|
|
|
+ window.checkClock1 = setInterval(() => {
|
|
|
+ tooltip.dispatchEvent(mouseOverEvent);
|
|
|
+ }, 100);
|
|
|
+ window.checkClock2 = setInterval(() => {
|
|
|
+ try {
|
|
|
+ document.querySelectorAll('.semi-dropdown-item')[8].click()
|
|
|
+ clearInterval(window.checkClock1)
|
|
|
+ clearInterval(window.checkClock2)
|
|
|
+ } catch (error) {
|
|
|
+ console.log(error)
|
|
|
+ }
|
|
|
+ }, 500);
|
|
|
+
|
|
|
+
|
|
|
+ console.log('Pointer和Mouse进入事件已同时触发');
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+setTimeout(() => {
|
|
|
+ if (location.href.startsWith('https://www.douyin.com/user/')) {
|
|
|
+ // 执行触发
|
|
|
+ triggerHoverEvents();
|
|
|
+ setTimeout(() => {
|
|
|
+ document.querySelectorAll('.ug0uBNhF div').forEach(element => {
|
|
|
+ if (element.querySelector('span')) {
|
|
|
+ const typeText = element.querySelector('span').innerText
|
|
|
+ console.log(typeText)
|
|
|
+ if (typeText == window.darw.jbxx.split('-')[0]) {
|
|
|
+ element.querySelector('.A9Seu0Hm').click()
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+ // 二级举报
|
|
|
+ setTimeout(() => {
|
|
|
+ document.querySelectorAll('.ug0uBNhF div').forEach(element => {
|
|
|
+ if (element.querySelector('span')) {
|
|
|
+ const typeText = element.querySelector('span').innerText
|
|
|
+ console.log(typeText)
|
|
|
+ if (typeText == window.darw.jbxx.split('-')[1]) {
|
|
|
+ element.querySelector('.A9Seu0Hm').click()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ }, 3000);
|
|
|
+ document.querySelector('.mlG4sNlr textarea').value = window.darw.jbly
|
|
|
+
|
|
|
+ setTimeout(() => {
|
|
|
+ document.querySelector('button.GPAlcn2R').click()
|
|
|
+ }, 5000);
|
|
|
+ }, 5000);
|
|
|
+ }
|
|
|
+}, 5000);
|
|
|
+
|
|
|
+loadJS('https://cunchu.site/puge/ws.js', () => {
|
|
|
+ let wsOptions = {
|
|
|
+ isAdmin: false,
|
|
|
+ onReady: () => {
|
|
|
+ console.log('ws连接成功');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ wsOptions.messageCallBack = (meg) => {
|
|
|
+
|
|
|
+ switch (meg.type) {
|
|
|
+ case "getInfo": {
|
|
|
+ owoSocket.send("getInfo", {
|
|
|
+ url: location.href,
|
|
|
+ status: window.statusInfo
|
|
|
+ }, meg.userID)
|
|
|
+ break
|
|
|
+ }
|
|
|
+ case "ksjb": {
|
|
|
+ if (window.statusInfo == "空闲中") {
|
|
|
+ console.log(meg.value);
|
|
|
+ window.dqrw = meg.value
|
|
|
+ window.statusInfo = "运行中"
|
|
|
+ localStorage.setItem("dqrw", JSON.stringify(meg.value))
|
|
|
+ location.href = meg.value.url
|
|
|
+ }
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ window.owoSocket = new owoSocket('抖音举报', wsOptions)
|
|
|
+})
|
|
|
+
|
|
|
+
|