Greasy Fork is available in English.

B站UP成分指示器(自用版)

标记一些B站账号类型, 盗视频部分主要数据来源于 黄老板的吃瓜日报 萌神某狐, 如有异议以你为准

// ==UserScript==
// @name         B站UP成分指示器(自用版)
// @namespace    biliup
// @version      0.85
// @description  标记一些B站账号类型, 盗视频部分主要数据来源于 黄老板的吃瓜日报 萌神某狐, 如有异议以你为准
// @author       Supermaruko
// @icon         data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABtElEQVRYhe3XwWrUUBgF4C9xsJuiGwU7fYWCrlS6ddXRvdguXFiqyz6OlboYFfoC1tm57ErEShmfYKaupV2MCOMiNxDTxCZDJoPggcC9f/6cc+7Nf3Nvoul0apHoRG++Fcaxjx4+Ygc/anJfwys8wCG28SufFJc8vIWnuInHGATCOuKD8OyNwLVVlFhm4Equv17DRCq+not36hh4h6MSE9dnED/C2zoGfmKjxMSHEhN/E+8FzguI9Idp+ype4AnWsFxiblac4QQHeJkaSg2s4j3uNCxahi94hFEsGXmb4oLWIZZiPG9ZPMVt7MTYzN0YoIuo4asbuLPYjPSHE8lrSNHFaRNDLMAKxpn+JK2BLOYlXsS9VPYdaA1VDGxIpm0c2o3mR/rD/H4c5fpjybsjmcLuJZyX5f+hV2UGVkrajeT/EzWQrdzvTedXMbAdiEZ41nR+lSJsGrWLcK74byB28ahUZa3Pilu5/lmMz7ngfkFiE1jF61zspCM5o93PBHvmuyNmcRBjD8ctCWbxFXsxJngoOSi2hWPJTE/SVTDCPeziE87nIHoeuHdxN2iKFv13vPDvwG9c3WRfrz/iCwAAAABJRU5ErkJggg==
// @match        *://*.bilibili.com/video/*
// @match        *://*.bilibili.com/read/*
// @match        *://space.bilibili.com/*
// @match        *://search.bilibili.com/*
// @match        *://message.bilibili.com/*
// @match        *://www.bilibili.com/*
// @connect      bilibili.com
// @require      https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js
// @grant        GM_openInTab
// @grant        GM_registerMenuCommand
// @run-at       document-start
// @noframes
// @license MIT
// ==/UserScript==

(function() {
  'use strict';
  console.log('B站UP成分指示器 OK.');
  GM_registerMenuCommand("💬 反馈&建议", function() { window.GM_openInTab('https://greasyfork.org/zh-CN/scripts/457738', {active:true, insert:true, setParent:true});})

  //console.log(window);

  // 数据, 可自行添加
  const data = {
    // 盗视频
    1906282899:[1, "已改名 曾冒充:唐僧说电影"], 1666560796:[1, "已改名 曾冒充:抖音@奥Zha"], 1059877038:[1, "惯犯 频繁改名盗视频 曾冒充:快手@皮小浪 抖音@张国伟 蓝色妖姬 等 曾用名:小浪有才"], 488835826:[1, "冒充:船长电影解说"],
    314900761 :[1, "盗传:b站阿牛小卖部 还在继续"], 185618529:[1, "盗用:tiktok@irisbiidan 自称二创实则盗视频"], 1427538777:[1, "盗用:伊琳娜的食譜"], 15921526:[1, "盗视频还自称转载"],
    493619496 :[1, "盗传:tiktok@andcarli"], 236638594:[1, "盗外网视频惯犯"], 619341408:[1, "盗传:油管@SkyBek@GoExperimental"], 61211134:[1, "盗传:tiktok@paintturner"], 1008001549:[1, "惯犯 冒充:直哥小号 曾用名:直男会说"],
    1519368664:[1, "盗传:约翰老师"], 3493104074098793:[1, "惯犯 曾冒充:崔米林崔美玲 曾用名:是崔美玲呀"], 3461575029558208:[1, "冒充:陈田小怡子配件店 改行带货"], 1890469825:[1, "曾冒充:周老师教语文"],
    1322479390:[1, "改名后做电影切片 曾盗传:科技宅男圈等 所属MCN:睿程文化传媒"], 1537772397:[1, "改名卖假鞋 曾冒充:抖音@樱井阿右 曾用名:樱井小阿右"],
    1083495221:[1, "惯犯 曾用名:带来欢乐的白鸽呀 详见bilibili.com/read/cv20877420"], 3493093739334625:[1, "惯犯 频繁改名盗视频 曾冒充:抖音@东北老妈 曾用名:东北大妈在日本,小黑饿了么"], 3493078690171135:[1, "改名装死中 曾冒充:古彩戏法鹏鹏 曾用名:鵬鵬魔术"],
    453624175 :[1, "改名装死中 曾冒充:抖音@二哥与长毛黄-梁也"], 3493089488406861:[1, "清空装死中 曾冒充:沐晨妈妈呀 曾用名:沐晨妈妈的一天"], 1153138972:[1, "惯犯 曾用名:jfiwjbsai"], 512308915:[1, "惯犯 曾冒充抖音@郭大侠 曾用名:酒武大侠"],
    1621800748:[1, "曾用名:小幸的美食日记 冒充抖音@王岩日记 被发现后开始卖假鞋"], 2003092968:[1, "惯犯 曾盗用:没煮熟的大鹅 我是晴天 的视频"], 282586352:[1, "惯犯 靠盗外网视频多次登上涨粉榜"],
    1171117512:[1, "惯犯 曾用名:黑名單999"], 3461565076474510:[1, "惯犯 曾用名:MagicMIkeyw"], 3461572456351893:[1, "自称搬运实则盗视频 遮挡原主信息 用变声器或改变声音速度 冒充二创"],
    1496413096:[1, "惯犯 曾用名:老姜爱唱 冒充:老姜醉爱唱"], 39253131:[1, "多次改名换头像冒充过多个博主"], 1699859366:[1, "惯犯 曾用名:股海阿西吧"], 1391994794:[1, "惯犯 频繁改名盗视频 曾用名:户外阿俊哥 盗传:抖音@水猴子"],
    250383164 :[1, "惯犯 盗视频切片"], 2136119557:[1, "惯犯 曾冒充:抖音@牟牟刘啊"], 412955045:[1, "改名装死中 曾用名:annelxia Xoxosi"], 1074237186:[1, "解封 改名装死中"], 1854118335:[1, "盗用:油管@vazepixel 曾用名:minecraft_BDZ"],
    2072538054:[1, "被发现清空装死中 曾用名:石家庄周杰倫"], 1062145201:[1, "清空装死中 曾用名:东北老妈在日本"], 239196981:[1, "惯犯 曾用名:盘肉肉的日常 冒充@新疆表哥"], 2081454382:[1, "惯犯 曾用名:大成小鹏"],
    1037904098:[1, "惯犯 曾用名:讲哲学那个"], 1303944119:[1, "被发现清空装死中 冒充:抖音@臻臻 曾用名:臻臻0310"], 3493140447103137:[1, "改名做搞笑视频切片 曾用名:潮汕砂锅粥详细教程"],
    1990418440:[1, "惯犯 曾用名:霍红鹰 农事"], 2114477938:[1, "被发现改名装死中 曾用名:程Yooo"], 1479452528:[1, "改名装死中 曾冒充:抖音@房岩小哥 曾用名:房岩-小哥 -小水--"],
    3493082483919379:[1, "惯犯 曾冒充:壮族何姑娘 曾用名:壮族阿荷vlog 所属MCN:摘星娱乐"], 701252411:[1, "盗视频惯犯 曾用名:油管万花筒"], 3493115151255893:[1, "改名装死中 大量盗播陈佩斯相关短视频"],
    496157711 :[1, "惯犯 冒充:抖音@318 抖音@人猿泰山 曾用名:cr人猿泰山 老许GSL 富贵0970909"], 2052721105:[1, "冒充抖音@童年时光机 曾冒充:苏妙玲 曾用名:苏妙玲很哇塞"], 2095888061:[1, "惯犯 频繁改名盗视频 曾冒充:它可 曾用名:它可V"],
    1459509208:[1, "惯犯 频繁改名盗视频 曾冒充:MR-白冰_B站 曾用名:MR_白冰"], 3546561063684331:[1, "曾冒充:抖音@毛驴的 曾用名:是毛驴的"], 3546383114045917:[1, "惯犯 曾用名:-酒鬼来了- 阿giao纪录篇传奇"],
    3493095687588757:[1, "改名装死中 冒充@骆驼新星 曾用名:绿茵场上的骆驼"], 3493121509820991:[1,"清空装死中 冒充@广西肥娟生活日记本人 MCN:乔乔文化传媒"], 3461576027802338:[1, "惯犯 频繁改名盗视频 曾冒充:小熊的奇思妙想唯一号"],
    3461563147094911:[1, "装死中 据说抖音@郭大侠粉丝运营 曾用名:郭大侠__"], 1038350766:[1, "频繁改名发充电动态骗钱 盗传[email protected] 曾用名:李先生是喝水怪"], 696675863:[1,"冒充抖音@圣和 曾冒充:chuhooLee秋豪 曾用名:秋豪chuhoo"],
    3493140694567463:[1, "冒充外网博主 频繁改名盗视频卖假货骗钱 曾用名:albnrk的生活 小w的生活luck"], 2057276585:[1, ""], 357628898:[1, "惯犯 频繁改名盗视频 曾冒充:有何高见9527 曾用名:有何高見"], 1341311222:[1, "曾冒充:重阳pubg-本人"],
    3493265340893244:[1, "改名装死中 冒充:抖音@陈圆圆超可爱 MCN:乾正网络 河北"], 3493112861166532:[1, "改名卖手机卡 冒充:抖音@哼个芮hungry 曾用名:哼个芮hungry"], 3493263631715280:[1,"打着科普旗号盗视频"],
    315111461:[1, "被解约后频繁改名盗视频滥发广告 曾用名:最大冰淇淋老板 盗用:Ice-Cream-Rolls"], 1064867124:[1, "惯犯 频繁改名盗视频 冒充:抖音@涡阳施玉 曾用名:涡阳施玉-"], 1490703492:[1, "冒充:抖音@鬼小山 曾用名:山鬼鬼谷子"],
    3493257541585083:[1, "惯犯 频繁改名盗视频 冒充:抖音@植野久久 曾用名:植野久久 大团子美食日记"], 3493108054493215:[1, "曾冒充:抖音@CF小词 曾用名:CF沈词l"], 3493283577727879:[1, "改名装死中 曾冒充:抖音@石磊菲菲_ 曾用名:_石磊_菲菲 图兔图兔1"],
    111856402:[1, "惯犯 频繁改名盗视频 曾用名:于谦聊美食 闲聊美食"], 1949403190:[1, "改名装死中 曾冒充:抖音@征夫记日"], 3493284160735497:[1, "惯犯 曾冒充:抖音@王梓涵 曾用名:是王梓涵"],
    485511875:[1, "冒充:-古人云- 曾用名:__古人云__"], 700823648:[1, "未经原授权盗用外网作者视频配音投自制 被举报后发视频嘲讽观众"], 1002421824:[1, "私信中奖诈骗 冒充@王小贱-王者荣耀 曾用名:王者单挑主播王小贱"],
    3493082951583945:[1, "惯犯 曾冒充:抖音@耶叔一个人吃饭 曾用名:耶叔壹个人吃饭 怪叫鸡德"], 1914479878:[1, "惯犯 频繁改名盗视频 曾用名:石头荒野垂钓 豪哥哥搬运"],
    3493091050785137:[1, "惯犯 冒充:李宗恒Actor 曾用名:李宗恒呀 斑马俱乐部呀"], 3493296993208608:[1, "频繁改名装死中 冒充:抖音@三一八 曾用名:三一八大乱斗"], 3493265410099794:[1, "冒充:水猴子vlog 曾用名:水猴子抓鳝鱼"],
    3493080573414321:[1, "冒充:青峰侠-阿朱 曾用名:青峰侠-阿朱蛇类科普"], 1895686782:[1, "改名后继续用温铁军老师视频引流教人炒股 曾冒充:温铁军老师 曾用名:温老讲堂 候鸟创业圈"],
    3493111449782582:[1, "盗视频后改名卖零食了 曾冒充:抖音@李泽琳 曾用名:李泽林793丶"], 241276720:[1, "惯犯 频繁改名盗视频 曾冒充:抖音@辛小志 觅食大队长 曾用名:辛小志-觅食大队长"], 440177426:[1, "冒充:抖音@忙碌的魏 曾用名:之昂Vlog 之昂長"],
    3494357594277971:[1, "改名继续盗视频 冒充:抖音@酒鬼大人 曾用名:酒鬼大人R"], 3493267809241517:[1, "频繁改名盗视频 冒充:抖音@秀才-_  曾用名:歪果仁-_"], 511497096:[1, "盗传:抖音@大理寺的驴 油管@TED-Ed 曾用名:巴巴小剧场"],
    650014862:[1, "惯犯 频繁改名盗视频切片蹭流量 曾用名:罗德岛小食堂 冬雪爱"], 3493282057291875:[1, "曾用名:嘉伟裆间 猫猫想吃草 冒充:抖音@嘉伟室内设计 王翔宇"], 3546375136479306:[1, "冒充:@画客行-唯一号 曾用名:画客-行"],
    168240824:[1, "盗视频投自制 改做润人传了"], 3493084776106271:[1,"冒充:抖音@3Q了巴吉度 曾用名:臭Q巴吉度"], 1117864281:[1, "冒充:尼基塔B站 曾用名:尼基塔来了"], 324876196:[1, "盗视频后改名卖零食 曾用名:食好研究生"],
    3494358701574812:[1, "改名继续盗视频 曾冒充:金淼淼MM 曾用名:金淼淼 m六水_"], 3546380649892472:[1, "冒充:哎呦周饼伦 曾用名:周饼伦同学"], 3493085468166267:[1, "惯犯 频繁改名盗视频 曾用名:文礼记果蔬面食"],
    481811886:[1, "惯犯 曾冒充:抖音@懒懒C 曾用名:饭来sker"], 3536996400105518:[1, "惯犯 曾冒充:抖音@大圆哥 曾用名:华-一-子"], 1736763305:[1, "惯犯 曾冒充:抖音@大圆哥 曾用名:小阳搞笑 大自然的搬运工m"],
    3493140184959872:[1, "曾冒充:抖音@张天琪 曾用名:张天琪s"], 3537113698011796:[1, "惯犯 曾冒充:抖音@酒鬼大人 曾用名:-酒鬼来了-"], 3494356629588200:[1, "曾冒充:抖音@MAJOONE是阿蛮"], 3546381201443345:[1, "惯犯 曾冒充:抖音@鵀 曾用名:鵀鵀_ 鵀任鸟飞"],
    3493142582004040:[1, "改名卖流量卡 曾冒充:抖音@陈鹤皋 曾用名:陈鹤皋老师"], 3493110348777530:[1, "曾冒充:抖音@三个损友 曾用名:三个好损友"], 3493283235891971:[1, "盗视频冒充原创骗充电 曾用名:陈鹤皋师傅 少女莉莉丝的日常琐碎"],
    30898527:[1, "惯犯 曾冒充:抖音@Huang黄金 二阳咂 憨豆阿力 曾用名:二阳咂了 憨豆阿力"], 374628474:[1, "跑路中 曾用名:螺旋狗 未经授权盗播:斗鱼@ice秋风 直播 长期造谣引战 冒用原作者名义售卖劣质产品"],
    388540902:[1, "螺旋狗小号 未经授权盗播:X-H小豪 曾用名:主播小豪实况"], 2098834529:[1, "改名继续盗 曾冒充:抖音@李宗恒 曾用名:李宗恒ovo"], 3546600276232919:[1, "冒充:抖音@周大爷不服老!曾用名:周大爷不服老Actor"],
    1526687911:[1, "改名后盗传:抖音@首席国哥 曾用名:温老讲座"], 265601447:[1, "惯犯 曾盗传多位外网vTuber直播切片 曾用名:IronMilk_铁牛奶"], 472760372:[1, "惯犯 曾冒充:抖音@老陈(暗黑系) 曾用名:暗黑老陈"],
    3546571532667740:[1, "冒充:抖音@190的东伯老师"], 251939780:[1, "曾冒充:抖音@东北老妈在日本 曾用名:东北老妈在日本 葵酱在日本"], 3493263082260698:[1, "曾冒充:抖音@敦煌老马(羊头) 曾用名:敦煌老马羊头"],
    3494378259613732:[1, "惯犯 冒充:抖音@小爽✿ 曾冒充:抖音@我的晴崽 曾用名:我的晴崽阿"], 3537121778338003:[1, "改名装死中 曾冒充:宠医张政"], 3546387289475502:[1, "惯犯 改名继续盗视频 曾冒充:抖音@池野林Club- 曾用名:池野林Club-"],
    524272349:[1, "惯犯 多次改名盗视频 曾用名:刘畊宏纯练版 环球赶海精选 YBS环球奇遇记 朱家姐妹花 萌娃姐妹花 阿烽赶海"], 3546579768183019:[1, "被发现后改名装粉丝狡辩控评 曾用名:-大饼哥- 曾冒充:抖音@大饼哥Jack"],
    647671673:[1, "盗视频并经常在动态私信向观众借钱 曾用名:乔壹ScaryThings"], 2145604777:[1, "惯犯 冒充:抖音@酒鬼大人 曾冒充:抖音@初九会画画 曾用名:初九会画画i"], 3494369686456597:[1, "恶意冒充他人封号中 曾用名:贵阳消防栓事件本人"],
    3493274232818172:[1, "惯犯 冒充:抖音@维多利亚夫妇 曾用名:董赤赤呀"], 1064663434:[1, "惯犯 冒充:抖音@糖心蛋 曾用名:WhiteZ8 曾冒充:抖音@White&8 抖音@一p狼"], 3546628971563905:[1, "盗用 抖音@小鲸 歌曲音频进行虚拟V直播 被发现装死中 曾用名:發条-"],
    383629589:[1, "惯犯 视频都是盗的 盗用:有何高见9527 真的很博通"], 3493273226185448:[1, "曾冒充:抖音@憨胖 曾用名:憨豆不胖"], 3546584461609146:[1, "曾冒充:抖音@乡村龙太子 曾用名:乡村里的龙太子"],
    3493146665158833:[1, "惯犯 冒充:麦总去哪吃 曾冒充:演员洪剑涛 曾用名:洪班长来了阿"], 1293845044:[1, "惯犯 曾冒充:抖音@王十贰 曾用名:王十贰w"], 3493095467387784:[1, "惯犯 曾冒充:抖音@思思不斯文 曾用名:思思不斯文v"],
    3546585199807447:[1, "惯犯 曾冒充:抖音@李宗恒 曾用名:李宗帅ACG"], 50148623:[1, "惯犯 据说已卖号 曾冒充:抖音@东北雨姐 曾用名:东北雨姐YJ 小澜治愈视频"], 3493282359282497:[1, "惯犯 曾冒充:李宗恒Actor 曾用名:李棕恒Ac"],
    3494376168753874:[1, "曾冒充:抖音@破打鼓的 曾用名:爱玩的po打鼓"], 3493295831386727:[1, "惯犯 冒充:抖音@郭曦文 曾冒充:抖音@张教官的有趣人生 曾用名:张教官的有趣生活"], 3493086260890351:[1, "惯犯 频繁改名盗播各平台播美女博主视频"],
    3461582755465341:[1, "改名:思逸Siyi- 继续盗视频 曾冒充:抖音@乌托驴"], 299715250:[1, "改名装死中 曾冒充:抖音@乌托驴"], 3493080346921579:[1, "盗用他人直播切片引战 欺骗观众充电 曾冒充:鲸鱼娘西丝特official 曾用名:禁漫娘西丝特"],
    1817011205:[1, "冒充:许蓝方博士DrGracie"], 6497924:[1, "盗录其他up主直播音频投自制"], 3546576318367978:[1, "曾冒充:抖音@宝力龟龟 曾用名:宝力龟龟GUI"], 3546609910549191:[1, "惯犯 曾冒充:抖音@茜二吨 抖音@潘宏爱玩狗 曾用名:潘宏爱玩狗 喵小弟d 于苏浩 "],
    3546648743512149:[1, "曾冒充:国外博主@Zach King"], 171019734:[1, "被发现转进小号@国际战情室 继续盗 冒充:台湾中天电视台 曾用名:中天视频"], 3493142779136612:[1, "冒充:台湾中天电视台 @中天切片 的小号"],
    439315523:[1, "惯犯 曾冒充:抖音@老陌 曾用名:老陌S"], 3546629894310045:[1, "惯犯 曾冒充:抖音@肉面小肥喵 曾用名:肥喵烤鱼片"], 3493274941655250:[1, "曾冒充:抖音@沈阳乐天装饰工程有限公司 曾用名:老贾讲装修啊"],
    3493297043540026:[1, "惯犯 曾冒充:抖音@潘鱼晏 曾用名:潘鱼晏-_宿舍版 晚安的日记-_-"], 3494355620858325:[1, "惯犯 曾冒充:抖音@克勤闲不住 曾用名:有点皮克勤"], 204601013:[1, "盗各平台擦边视频 曾用名:大雷集中营"],
    3546559450974572:[1, "惯犯 冒充:TikTok@LukeDidThat"], 3494356122077489:[1, "惯犯 曾冒充:Vector官方账号"], 27260087:[1, "惯犯 视频基本都是盗的"], 1457629388:[1, "惯犯 视频都是盗的"], 366632101:[1, "视频都是盗的"],
    3493270604745218:[1, "惯犯 开评论限制改名继续盗视频 曾冒充:抖音@朱同尧油画 曾用名:朱同尧颜料"], 3546641051158658:[1, "曾冒充:抖音@魏士忌 曾用名:魏士忌丫"], 3493296741551060:[1, "曾冒充:抖音@二阳咂 曾用名:二阳咂儿"],
    3546661508876586:[1, "冒充:抖音@老爹修黑 曾用名:老爹修黑吖"], 383066099:[1, "冒充:抖音@大振与二淦 曾用名:球场脏老师_"], 3546389476805151:[1, "系uid:383066099小号 冒充:抖音@大振与二淦 曾用名:球场脏老师"],
    1576764430:[1, "说是搬运 实则盗视频 曾用名:吴彥祖阿祖本祖"], 3493079986210859:[1, "个人公司伪装官方政务账号盗视频盈利 曾用名:中国反诈骗联盟"],

    3493291869866324:[1, "惯犯 盗视频切片"], 3537123319744983:[1, "惯犯 盗视频切片"], 3461567240734820:[1, "惯犯 盗视频切片"], 427079046:[1, "惯犯 盗视频切片"], 35534182:[1, "惯犯 视频都是盗的"], 3546385349609636:[1, "盗视频切片"],

    3461575868418125:[1, "盗用温铁军老师视频做切片营销 曾用名:温老说 IP:上海 与 桃李学堂 同源"], 1555665460:[1, "盗用温铁军老师视频做切片营销 曾用名:桃李学堂 IP:上海 与 温老说 同源"], 2053632613:[1, "盗用温铁军老师视频做切片营销 曾冒充:抖音@七哥论国际 曾用名:七哥论战略"],
    478351069:[1, "打着分享的名义盗视频接广告买课 曾用名:罗老师人生哲学观 IP:山东"], 1640095931:[1, "盗视频的 曾用名:罗老师哲学人生 IP:黑龙江 运营人朱某某已实名"],

    // 抄袭号
    1131231898:[2, "曾抄袭:沒有電車的毒男 等 详见BV1Z8411h7Pw"], 11410668:[2, "详见lingx.org/dddxa"], 303864990:[2, "曾抄袭:油管@Vsauce"], 385805493:[2, "曾洗稿:老张的精分世界 法兰西is培根 等 详见被抄袭up空间"],
    441181730 :[2, "利用AI配音再各平台洗稿 MCN:超级真有料 江西 曾抄袭:黝黑蜗壳天眼老师 等"], 1322449822:[2, "多数视频存在抄袭洗稿缝合 MCN:凯魅传媒 江苏"], 379781677:[2, "多次抄袭:琳琅长空"],
    347235:[2, "曾多次洗稿抄袭外网up,被曝光后道歉,目前道歉动态已自删 详见:https://www.bilibili.com/read/cv16294070"], 12738282:[2, "油管音乐区洗稿怪 靠机翻错误颇多"],
    393702473:[2, "著名网络信息缝合大师 屡教不改 视频质量主要看缝合对象水平 主打一个广撒网 具体事迹详见: @花岗岩工作室 等相关说明视频"],
    2709015:[2, "用网络YY爽文充当俄方军事回忆录 视频内容大多抄袭(网名)PUPU 肖云笔下《日落共青城》三部曲 少部分自称来自2017年航空工业出版社出版的《俄罗斯院士回忆航空半世纪》"],

    // 联系方式都是微信 aze173
    1692740078:[2, "光之阿泽 马甲 MCN:因钮特文化 江苏"], 284622886:[2, "光之阿泽 马甲 MCN:因钮特文化 江苏"], 452543325:[2, "大多数视频存在抄袭洗稿缝合 MCN:因钮特文化 江苏 曾抄袭:修车工阿正 秋吟_33 等"],

    // 营销号[营]
    1799492438:[3, "改走宠物路线"], 350629681:[3, ""], 1800961530:[3, "打着收集素材的幌子的营销号"], 1052134277:[3, "四川观天下 这是想碰瓷四川观察么"], 1180987422:[3, ""],
    1978180189:[3, ""], 247927347:[3, ""], 86815639:[3, ""], 27120931:[3, ""], 382692251:[3, ""], 1622972358:[3, ""], 52061349:[3, ""], 380604732:[3, ""], 1499649009:[3, ""],
    1091922158:[3, "曾用名:通利明堂"],

    404439515:[3, "原神区up 靠搬运盗播外网游戏爆料视频 做标题党引流 曾用名:空小芭 MCN:纯初MCN 浙江"],

    1676937054:[3, "八卦花边新闻切片 MCN:江西官宣文化"], 1853269211:[3, "MCN:魔气科技 江西"], 3461582273121195:[3, "所属MCN:一束光 河南"], 1623520193:[3, "MCN:奇威网络传媒 河南"],
    3493111579806233:[3, "MCN:可欣文化 山东"], 1525957921:[3, "所属MCN:龙腾传媒 山东 曾用名:嘿喵侃剧"],

    1990553591:[3, "MCN:黛柚依文化 河北"], 3493084994210656:[3, "MCN:黛柚依文化 河北"],
    1144316253:[3, "MCN:合众科技 陕西"], 1212146819:[3, "MCN:合众科技 陕西"],

    1772521285:[3, "MCN:湖南神熊互娱网络科技有限公司"], 1981347907:[3, "MCN:湖南神熊互娱网络科技有限公司"], 1648313396:[3, "MCN:湖南神熊互娱网络科技有限公司"], 499691547:[3, "MCN:湖南神熊互娱网络科技有限公司"],
    702247828 :[3, "MCN:湖南神熊互娱网络科技有限公司"], 2068298710:[3, "MCN:湖南神熊互娱网络科技有限公司"], 3493083557660854:[3, "MCN:湖南神熊互娱网络科技有限公司"],1649255598:[3, "MCN:湖南神熊互娱网络科技有限公司"],
    1025664947:[3, "MCN:湖南神熊互娱网络科技有限公司"],

    1033457463:[3, "MCN:秀美文化 山西"], 1646510678:[3, "MCN:秀美文化 山西"], 1754895577:[3, "MCN:秀美文化 山西"], 1983536538:[3, "MCN:秀美文化 山西"], 1041310928:[3, "MCN:秀美文化 山西"], 1864672050:[3, "MCN:秀美文化 山西"],
    2101201758:[3, "MCN:秀美文化 山西"], 1732839919:[3, "MCN:秀美文化 山西"], 1984573756:[3, "MCN:秀美文化 山西"],

    1738797137:[3, "MCN:凯越文化 广东"], 3461574117296339:[3, "MCN:凯越文化 广东"], 3493114094291090:[3, "MCN:凯越文化 广东"],
    1479950248:[3, "MCN:看点纪实 广东"], 3493080843946506:[3, "MCN:看点纪实 广东"],

    // 商业公司号[商]
    // 1478207537:[3, "小微企业 大抵是卖课的"],

    // 教人赚钱
    2090199:[4, "有B站投资咨询资质认证 收费教人炒股 自称是大学生"], 2142101977:[4, "股市有风险"], 562251057:[4, "教人法拍捡漏 真有这等好事儿?"], 415500574:[4, "收费教人炒股 简介非常有趣"],

    // 1450
    8578857:[1450, "谷阿莫 参选台独政党时代力量决策委员 详见BV1uT411X7td" ], 17005654:[1450, "曾用名:兩岸伯 小1450一只 放这可能有点抬举它了"],

    // 带节奏造谣小号
    492885583:[1451, "曾用名:小瓶子君152" ], 340140686:[1451, "曾用名:三十六计之恃强凌弱计"], 327744584:[1451, "曾用名:qsqqssssq"], 3494355331450902:[1451, "曾用名:阿塞莱人"], 674145809:[1451, "改名跑路中 曾在深水皮蛋直播间自爆 疑似泄密"],
    457819662:[1451, "曾用名:稚绍坤"], 431316808:[1451, "曾用名:瓦尔特之名 具体事迹详见@装甲车Machinegun的视频"], 3546558937172714:[1451, "曾用名:韩林邑"], 88537269:[1451, "曾用名:我吃桔子2017"], 1130749487:[1451, "曾用名:北方老农"],

    // 测试
    1:[0, "测试一下" ],
  }


  // 用户代理
  const userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36";

  var currentURL = window.location.href;

  const Msg01 = "\n非原创作者, 视频内容很杂 投币时却可选投2个多半都是盗来的视频, 大家可自行确认.";
  const Msg02 = "\n最近营销号们纷纷注册公司MCN化, 盗用名人视频切片打着正能量的幌子 或者 反复炒作负面新闻或网络段子重新切片配音 带节奏炒作话题, 看新闻还要选正经官媒.";
  const Msg03 = "\n这类蓝标号 咨询之前 建议用天眼查或企查查一类APP鉴别一下 理性看待为好.";
  const Msg04 = "\n投资有风险 入市需谨慎 看待这类账号视频自己要有鉴别能力 切勿盲目跟风.";
  const Msg1450 = "\n1450";
  const Msg1451 = "\n专门在评论权造谣带节奏的小号.";


  // 判断浏览器类型, 0 - edge, 1 - firefox, 2 - chrome
  const browserType = () => {
      var agent = navigator.userAgent;

      if (agent.indexOf("Edge") > -1)
          return 0;
      else if (agent.indexOf("Firefox") > -1)
          return 1;
      else
          return 2;
  }

  // 检测是不是新版
  const is_new = () => {
      if (browserType() < 2)
          return true;
      else
          return document.getElementsByClassName('item goback').length != 0;
  }

  // 获取指定用户的UID
  const getUID = (user) => {
      if (is_new)
          return user[0].dataset['usercardMid'] || user[0].dataset['userId'];
      else
          return user.children[0]['href'].replace(/[^\d]/g, "");
  }


  // 监听用户名字出现
  waitForKeyElements("#h-name", keyToMain, 1);                 // 个人空间
  waitForKeyElements(".up-name-pannel .up-name", keyToMain, 2);     // 专栏作者
  waitForKeyElements(".user .name", keyToMain, 3);              // 视频作者

  // message.bilibili.com/*#/reply*
  waitForKeyElements(".name-field", keyToMain, 4);              // 消息回复

  // bilibili.com/video/*
  waitForKeyElements(".up-name", keyToMain, 5);                // UP主信息
  waitForKeyElements(".content-warp .user-name", keyToMain, 8);     // 视频评论区 留言
  waitForKeyElements(".sub-reply-item .sub-user-name", keyToMain, 8); // 视频评论区 回复

  // space.bilibili.com/*
  waitForKeyElements(".bili-video-card__info--owner", keyToMain, 6);  //主页

  // 搜索-视频区 有bug
  waitForKeyElements(".user-name .bili-video-card__info--author", keyToMain, 7);     // 搜索-用户区


  // 用于连通查找元素函数和主函数的中间层, 防止async主函数返回promise类型造成重复查找元素
  function keyToMain(elements, flag) {
    main(elements, flag);
  }

  // 主函数, 为符合条件的用户添加tag
  async function main(elements, flag) {
    // console.log(flag);
    try {
          var uid, udata, l, e;
          var user = elements;

          switch(flag){
            case 1: // 个人空间
              l = currentURL.indexOf("?");
              if (l == -1)
                 { uid = currentURL.replace(/[^\d]/g, ""); }
              else
                 { uid = currentURL.substr(1,l).replace(/[^\d]/g, ""); }
            break;

            case 4: // 消息回复
              l = user[0].innerHTML.indexOf("href=");
              e = user[0].innerHTML.indexOf("target=");
              if (l != -1) uid = user[0].innerHTML.substring(l, e).replace(/[^\d]/g, "");
            break;

            case 6: // 主页
              l = user[0].href.indexOf("?");
              if (l == -1)
                 { uid = user[0].href.replace(/[^\d]/g, ""); }
              else
                 { uid = user[0].href.substr(1,l).replace(/[^\d]/g, ""); }
            break

            case 2: // 专栏作者
            case 3: // 视频作者
            case 5: // 视频播放
            case 7: // 搜索-用户区
                uid = user[0].href.replace(/[^\d]/g, "");
            break;

            case 100:
                // console.log(user);
            break;

            case 8:
            default: // 评论区
                uid = getUID(user);
           }

          uid = Number(uid);
          udata = data[uid];
        //console.log(uid, udata);

          if (udata) {
            if (user[0].innerHTML.indexOf("<b id=\"blup\"") != -1) // 避免重复添加tag
               { return; }

            switch(udata[0]){
              case 1: user[0].innerHTML = "<b id='blup' style='color:#FFFFFF;background:#FF0000' title='"+ udata[1] + Msg01 +"'>(盗)</b>" + user[0].innerHTML; break;
              case 2: user[0].innerHTML = "<b id='blup' style='color:#FFFF00;background:#FF0000' title='"+ udata[1] +"'>(抄)</b>" + user[0].innerHTML; break;
              case 3: user[0].innerHTML = "<b id='blup' style='color:#FFFF00;background:#000000' title='"+ udata[1] + Msg02 +"'>(营)</b>" + user[0].innerHTML; break
              case 4: user[0].innerHTML = "<b id='blup' style='color:#00FF00' title='"+ udata[1] + Msg04 +"'>(风)</b>" + user[0].innerHTML; break;

              case 1451: user[0].innerHTML = "<b id='blup' style='color:#00FF00;background:#000000' title='"+ udata[1] + Msg1451 +"'>(妄)</b>" + user[0].innerHTML; break;
              case 1450: user[0].innerHTML = "<b id='blup' style='color:#FFFFFF;background:#0000FF' title='"+ udata[1] +"'>(毒)</b>" + user[0].innerHTML; break;

              case 0: user[0].innerHTML = "<b id='blup' style='color:#FF0000;background:#FFFFFF' title='"+ udata[1] +"'>(测)</b>" + user[0].innerHTML; break;
            }
          }

      } catch (error) {
          console.log("B站UP成分指示器 Error:\n" + error + "\n" + currentURL);
      }
  }


        /*--- waitForKeyElements():  A utility function, for Greasemonkey scripts,
        that detects and handles AJAXed content.
        Usage example:
            waitForKeyElements (
                "div.comments"
                , commentCallbackFunction
            );
            //--- Page-specific function to do what we want when the node is found.
            function commentCallbackFunction (jNode) {
                jNode.text ("This comment changed by waitForKeyElements().");
            }
        IMPORTANT: This function requires your script to have loaded jQuery.
        */
        function waitForKeyElements(selectorTxt, actionFunction, actionFlag, bWaitOnce, iframeSelector) {
            var targetNodes, btargetsFound

            if (typeof iframeSelector == "undefined")
                targetNodes = $(selectorTxt);
            else
                targetNodes = $(iframeSelector).contents().find(selectorTxt);

            if (targetNodes && targetNodes.length > 0) {
                btargetsFound = true;
                targetNodes.each(function () {
                    var jThis = $(this);
                    var alreadyFound = jThis.data('alreadyFound') || false;

                    if (!alreadyFound) {
                        //--- Call the payload function.
                        var cancelFound = actionFunction(jThis, actionFlag);
                        if (cancelFound){
                            btargetsFound = false;
                        } else {
                            jThis.data('alreadyFound', true);
                        }
                    }
                });
            } else {
                btargetsFound = false;
            }

            //--- Get the timer-control variable for this selector.
            var controlObj = waitForKeyElements.controlObj || {};
            var controlKey = selectorTxt.replace(/[^\w]/g, "_");
            var timeControl = controlObj[controlKey];

            //--- Now set or clear the timer as appropriate.
            if (btargetsFound && bWaitOnce && timeControl) {
                //--- The only condition where we need to clear the timer.
                clearInterval(timeControl);
                delete controlObj[controlKey]
            } else {
                //--- Set a timer, if needed.
                if (!timeControl) {
                    timeControl = setInterval(function () {waitForKeyElements(selectorTxt, actionFunction, actionFlag, bWaitOnce, iframeSelector);}, 300);
                    controlObj[controlKey] = timeControl;
                }
            }
            waitForKeyElements.controlObj = controlObj;
        }
    }
)();