Greasy Fork

Greasy Fork is available in English.

cleanNovel

清净阅读,添购都给我爬

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         cleanNovel
// @namespace    http://tampermonkey.net/
// @version      0.0.13
// @description  清净阅读,添购都给我爬
// @author       cctyl
// @match       *://*/*
// @grant        none
// @license MIT
// ==/UserScript==

(function () {
    'use strict';
    /*
         关键词替换列表
         格式: '原文本':'替换文本',
    */
    let keyWordMap = {

        '\\?\\?\\?\\?':'',
        '性侵':'犯罪',

        '旗袍':'裤子',
        '大腿根':'下半身',
        '漂漂亮亮':'长相正常',
        '漂亮':'长相正常',

        '玉足': '脚',
        '香肩': '臂膀',
        '妙龄': '年轻',
        '小娘子': '妇女',
        '良家': '正常',
        '容貌秀丽': '好看',
        '奴家': '我',
        '娇躯': '体型',
        '美艳': '普通',
        '眼波盈盈': '眼神强烈',
        '芳心': '心脏',

        '一颤': '一跳',
        '眸子': '眼睛',

        '唇红齿白': ',',
        '乌黑靓丽': '黑色',
        '俊美': '帅气',
        '丰腴': '肥胖',

        '美妇': '妇女',
        '少女': '女青年',
        '尖俏': '正常',
        '活色生香': ' ',
        '娇俏': 'q弹',
        '红霞': '脸红',
        '霞飞双颊': '脸红',
        '羞怯': '害羞',
        '美眸': '眼睛',
        '香汗': '大汗',
        '红润': '红色',
        '小嘴': '嘴唇',
        '精美': '精良',
        '妇人': '妇女',
        '美妙': '健康',
        '绝美': '好看',
        '美人': '女青年',
        '盛世美颜': ',',
        '绝色': '正常',
        '柔美': '正常',
        '柔媚': '正常',
        '娇媚': '正常',
        '俏脸': '脸庞',
        '黑丝': '裤子',
        '含春': '正常',
        '包裹': '东西',
        '肌肤': '皮肤',
        '白皙': '亮白',
        '精致': '精良',
        '闺秀': '妇女',
        '脚丫': '脚',
        '丝绸': '衣服',
        '绸缎': '衣服',
        '长腿': '腿',
        '半露': '-',
        '若隐若现': '出现',
        '沟壑': '沟渠',
        '柔荑': '手',
        '纤腰': '-',
        '胸脯': '-',
        '含苞待放': '-',
        '鼓胀': '-',
        '诱人': '-',
        '薄纱': '-',
        '轻薄': '-',
        '丰满': '-',
        '芊芊': 'qq',
        '纤纤': 'xx',
        '兰花指': ' lhz',
        '眼波': ' yb',
        '荡漾': ' 党员',
        '动人': ' 党员',
        '娇小': '小小',
        '美目': '眼睛',
        '美腿': '大腿',
        '异彩': '眼睛',
        '悦耳': '声音',
        '曼妙': '-',
        '女孩': '女青年',
        '脸蛋': '脸',
        '温柔可人': '-',
        '婀娜': '-',
        '女神': '女的',
        '女生': '女的',
        '精美': '工艺精美',
        '艳丽': '色彩',
        '风韵': '风俗',
        '风韵': '风俗',
        '幽怨': '悠悠',
        '妹子': '女青年',
        '妞儿': '女青年',

        '大腿': '下肢',
        '窈窕': '身体健康',
        '脸颊': '脸',
        '双腿': '下肢',
        '嘴唇': '嘴巴',
        '诱惑': '油猴',
        '欲望': '梦想',
        '欲火': '梦想',
        '娇嫩': '新鲜',
        '性感': '理智',
        '身材': '体型',
        '雪白': '雪豹',
        '妩媚': '-',
        '靓丽': '凉凉',
        '靓丽': '凉凉',
        '波涛汹涌': '起伏不定',
        '汹涌': '起伏不定',
        '波涛': '起伏不定',
        '小手': '手掌',
        '羞耻': '不好意思',
        '欲念': '梦想',
        '妖娆': '混乱',
        '炽热': '很烫',
        '喜欢': '稀罕',
        '妹妹': '一抹多',
        '亭亭玉立': '站起来了',
        '婷婷玉立': '站起来了',
        '小萝莉': '小朋友',
        '萝莉': '小朋友',
        'loli': '小朋友',
        '傲人': '熬仁',
        '高挑': '高杆',
        '甜美': '好汀',
        '青春靓丽': '朝气蓬勃',
        '明眸皓齿': '身体健康',
        '风华': '外形',
        '步步生莲': '脚下生风',
        '优美': '正常',
        '身体曲线': '体型',
        '身体线条': '体型',
        '勾勒': '描绘',
        '佳人': '家人',


    };
    let charWordMap = {

        //单字通配’

        '唇': '大嘴巴',
        '凶': '恶',
        '姐': '杰',
        '妞': '女青年',
        '妹': '一抹多',
        '腿': '下肢',
        '软': '圆',
        '嫩': '能',
        '姜': '江',
        '柔': '手',
        '美': '没',
        '胸': '-',
        '妍': '-',
        '粉': 'f',
        '香': 'x',
		'臀':'t',
        '妙': 'miao',
        '盈': 'y',
        '莹': 'y',
        '俊': 'j',
        '俏': 'q',
        '柔': 'r',
        '白': '冰',
        '眸': '眼',
        '秀': '修',
        '芳': 'f',
        '腴': 'y',
        '媚': '-',
        '妩': '5',
        '魅': 'm',
        '脂': ' z',
        '玉': ' y',
        '娇': 'j ',
        '羞': '不好意思',
        '欲': ' y',
        '艳': ' y',
        '滑': 'h',
        '藕': '莲藕',
        '臂': '手臂',
        '雪': 'x',
        '丽': 'l',
    }


    let keyArray = Object.keys(keyWordMap).concat(Object.keys(charWordMap));

    //合并两个map
    for (let key in charWordMap) {
        keyWordMap[key] = charWordMap[key];
    }


    let regMap = {};
    for (let key in keyWordMap) {
        regMap[key] = new RegExp(key, 'g');
    }


    window.addEventListener("load", () => {
        clearText();
    });

    let historyStrLenth = 0;

    function clearText() {

        const elements = document.body.getElementsByTagName('*');
        if (historyStrLenth == elements.length) {
            console.log("元素未变化,不替换")
        } else {

            console.log("元素变化,开始替换    ");
            console.log(`${historyStrLenth}  ${elements.length}`)

            for (let element of elements) {
                if (element.childNodes.length) {
                    for (let node of element.childNodes) {
                        if (node.nodeType === Node.TEXT_NODE) {
                            for (let i = 0; i < keyArray.length; i++) {
                                let key = keyArray[i];
                                // console.log(`替换${key} 为 ${keyWordMap[key]}`)
                                node.textContent = node.textContent.replace(regMap[key], keyWordMap[key]);
                            }
                        }
                    }
                }
            }

            historyStrLenth = elements.length;
        }

    }

    if (window.interValItem) {
        clearInterval(window.interValItem);
    }
    window.interValItem = setInterval(clearText, 20000);

})();