您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Automatically flush IP addresses from ControlD Endpoint device logs in Legacy mode.
// ==UserScript== // @name ControlD IP Flusher // @description Automatically flush IP addresses from ControlD Endpoint device logs in Legacy mode. // @author @T3SL4 // @namespace https://github.com/0x11DFE // @version 05/12/24 // @license MIT // @icon https://i.imgur.com/I7yP7HH.jpeg // @icon64 https://i.imgur.com/Ec7CwUP.jpeg // @match *://controld.com/dashboard/* // @grant none // ==/UserScript== (function() { 'use strict'; /** * This script automates the removal of IP address entries from * the Endpoint device logs in ControlD's Legacy DNS resolver mode. * * ControlD, a powerful DNS management service, offers a Legacy mode * for older devices that may not support modern DNS protocols. In this mode, * ControlD logs the IP addresses of devices making DNS queries. This script * helps you automatically clear these logs by continuously checking for * new IP address entries on the ControlD page and deleting them. * * Why is this useful? * - Privacy: Regularly flushing IP logs can help maintain privacy by * reducing the amount of historical data stored. * - Troubleshooting: Clearing logs can be helpful when diagnosing network * issues or testing new configurations. * * IMPORTANT: This script is specifically designed for ControlD's Legacy * DNS resolver mode with the "Auto Authorize IP" feature enabled. * Ensure you have this configuration before running the script. * * In order for this script to function correctly, you must first navigate * to the "Endpoint Devices" tab within ControlD and click into the specific * device's "IPs" section. This will allow the script to continuously monitor * and clear the IP address entries for that device. * * Disclaimer: This script is provided as-is and may require adjustments * based on the specific structure of the ControlD webpage. Use it responsibly * and at your own risk. */ // Function to simulate a click on an element with an optional delay const clickElement = (selector, delay = 0) => { setTimeout(() => { const element = document.querySelector(selector); if (element) { element.click(); } else { console.error(`Element not found: ${selector}`); } }, delay); }; const deleteIPs = () => { // Select all IP address elements const ipButtons = document.querySelectorAll("[aria-label='select ip']"); if (ipButtons.length > 0) { // Select all IP addresses ipButtons.forEach(btn => btn.click()); // Click the delete button after a short delay clickElement("[aria-label='delete ips button']", 500); // .5s // Click the confirmation button after another delay clickElement("[aria-label='confirm delete ip button']", 500); // .5s } else { // No IP addresses found, check again after a delay setTimeout(deleteIPs, 5000); // Check every 5s } }; // Start the process deleteIPs(); })();