swag(R站)vip视频随意观看&19J.TV韩国女主播vip视频任意看 永久vip

用于观看swag(R站)vip视频&19J.TV韩国女主播vip视频

Per 11-04-2024. Zie de nieuwste versie.

  1. // ==UserScript==
  2. // @name swag(R站)vip视频随意观看&19J.TV韩国女主播vip视频任意看 永久vip
  3. // @name:zh-TW swag(R站)vip視頻隨意觀看&19J.TV韓國女主播vip視頻任意看 永久vip
  4. // @namespace http://tampermonkey.net/
  5. // @version 2.3.5
  6. // @description 用于观看swag(R站)vip视频&19J.TV韩国女主播vip视频
  7. // @description:zh-TW 用于观看swag(R站)vip視頻&19J.TV韓國女主播vip視頻
  8. // @author FFFFFFeng
  9. // @match https://*/*
  10. // @match http://*/*
  11. // @icon https://www.google.com/s2/favicons?domain=swag555.xyz
  12. // @grant none
  13. // @antifeature payment
  14. // ==/UserScript==
  15. (function () {
  16. let kitty_emojiList = ["😃","😄","😁","😆","😅","🤣","😂","🙂","🙃","🫠","😉","😊","😇","😕","🫤","😟","🙁","☹","😯","😲","🥺","🥹","😦","😧","😨","😰","😥","😢","😭","😱","😖","😣","😞","😓","😩","😫","😤","😡","😠"]
  17. let kitty_emojiIndex = 0
  18. let kitty_StatusColor = {
  19. success: "#67C23A",
  20. warning: "#E6A23C",
  21. info: "#909399",
  22. danger: "#F56C6C",
  23. '200': "#67C23A",
  24. '300': "#E6A23C",
  25. '400': "#909399",
  26. '500': '#F56C6C'
  27. }
  28. let kitty_config = {
  29. name: "swag和19j脚本",
  30. id: "sw",
  31. version: "2.3.5",
  32. homePageName: "kitty猫",
  33. homePageUrl: "www.kittymao.xyz",
  34.  
  35. update: 3,
  36. logListMaxLength: 5,
  37. logItemLength: 20,
  38.  
  39. useMethodUrlList: ["www.kittymao.xyz", "http://124.223.114.203:5000/jbs.html"],
  40. payUrlList: ["shop.kittymao.xyz", "http://124.223.114.203"],
  41.  
  42. updateUrl: "https://sleazyfork.org/zh-CN/scripts/440819-cao",
  43. requestHostList: ["https://sw.kittymao.xyz","https://103.241.72.37:3001",,"https://124.223.114.203:3001/any/sw"],
  44. }
  45. let kitty_isrun = {
  46. getNewVersion: false
  47. }
  48. let kitty_tabIndex = 0
  49. let kitty_logList = []
  50. function kitty_setCookie(cname, cvalue, exdays) {
  51. var d = new Date();
  52. d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
  53. var expires = "expires=" + d.toGMTString();
  54. document.cookie = cname + "=" + cvalue + "; " + expires;
  55. }
  56. function kitty_insertStyle() {
  57. let style = document.createElement("style")
  58. style.innerHTML = `
  59. /* 整体-start */
  60. #kitty_vipPanel {
  61. width: 310px;
  62. height: 500px;
  63. box-shadow: 0 0 0 1px rgb(0 0 0 / 5%), 0 2px 4px 1px rgb(0 0 0 / 9%);
  64. border-left: 1px solid transparent;
  65. border-right: none;
  66. border-top: 1px solid transparent;
  67. border-bottom: 1px solid transparent;
  68. background-color: #FFFFFF;
  69. position: fixed;
  70. left: 6px;
  71. bottom: 6px;
  72. z-index: 99999;
  73. font-size: 16px;
  74. --script-panel-main-color: #ff5595;
  75. }
  76. #kitty_vipPanel a {
  77. text-decoration: underline;
  78. }
  79. .kitty_panelMain {
  80. font-size: 0.85em;
  81. }
  82. .hitty_hiddenPanel {
  83. left: -310px !important;
  84. }
  85. /* 整体-end */
  86. /* panelHead-start */
  87. .kitty_panelHead {
  88. display: flex;
  89. border-bottom: 1px solid #ececec;
  90. }
  91. .kitty_panelHead>div {
  92. color: #444;
  93. padding: 0 10px;
  94. height: 40px;
  95. line-height: 40px;
  96. box-sizing: border-box;
  97. user-select: none;
  98. text-align: center;
  99. width: 76px;
  100. font-size: 1em;
  101. }
  102. .kitty_panelHead>div:not(.kitty_headDivActive):hover {
  103. border-bottom: 3px solid #ccc;
  104. cursor: pointer;
  105. }
  106. .kitty_headDivActive {
  107. border-bottom: 3px solid var(--script-panel-main-color);
  108. color: #444;
  109. font-weight: bold;
  110. }
  111. /* panelHead-end */
  112. /* 界面显示按钮 */
  113. .kitty_showPanelBtn {
  114. position: absolute;
  115. left: 320px;
  116. bottom: 20px;
  117. width: 60px;
  118. height: 40px;
  119. line-height: 40px;
  120. color: var(--script-panel-main-color);
  121. user-select: none;
  122. background-color: #FFFFFF;
  123. position: absolute;
  124. left: 320;
  125. bottom: 20px;
  126. display: none;
  127. cursor: pointer;
  128. border-radius: 5px;
  129. }
  130. /* 身体 */
  131. .kitty_panelBody {
  132. padding: 0 10px;
  133. }
  134. .kitty_panelBody p {
  135. margin: 10px 0;
  136. }
  137. /* 输入框-start */
  138. .kitty_searchInput {
  139. width: 98%;
  140. border-radius: 24px;
  141. box-shadow: 0 0 0 1px rgb(0 0 0 / 5%), 0 2px 4px 1px rgb(0 0 0 / 9%);
  142. height: 40px;
  143. border-left: 1px solid transparent;
  144. border-right: none;
  145. border-top: 1px solid transparent;
  146. border-bottom: 1px solid transparent;
  147. overflow: hidden;
  148. margin: 0 auto;
  149. margin-top: 40px;
  150. margin-bottom: 50px;
  151. display: flex;
  152. }
  153. .kitty_searchInput:hover {
  154. border-top-left-radius: 24px;
  155. box-shadow: 0 0 0 1px rgb(0 0 0 / 10%), 0 2px 4px 1px rgb(0 0 0 / 18%);
  156. border-left: 1px solid transparent;
  157. border-right: none;
  158. border-top: 1px solid transparent;
  159. border-bottom: 1px solid transparent;
  160. }
  161. .kitty_searchInput input {
  162. height: 100%;
  163. border: 0;
  164. outline: 0;
  165. padding: 0 10px;
  166. color: black;
  167. width: 100%;
  168. }
  169. /* 输入框-end */
  170. /* go按钮-start */
  171. .kitty_goToVipBtn {
  172. color: #FFFFFF;
  173. font-weight: bold;
  174. background-color: var(--script-panel-main-color);
  175. height: 100px;
  176. width: 100px;
  177. border-radius: 50px;
  178. text-align: center;
  179. line-height: 100px;
  180. margin: 20px auto;
  181. box-shadow: 0 0 0 1px rgb(0 0 0 / 5%), 0 2px 4px 1px rgb(0 0 0 / 9%);
  182. user-select: none;
  183. }
  184. .kitty_goToVipBtn:hover {
  185. cursor: pointer;
  186. box-shadow: 0 0 0 0 rgb(0 0 0 / 5%), 0 2px 4px 1px rgb(0 0 0 / 18%);
  187. -webkit-box-shadow: 0 0 0 0 rgb(0 0 0 / 5%), 0 2px 4px 1px rgb(0 0 0 / 18%);
  188. -moz-box-shadow: 0 0 0 0 rgba(0,0,0,.05),0 2px 4px 1px rgba(0,0,0,.18);
  189. }
  190. /* 动画 */
  191. @keyframes kitty_float {
  192. 0% {
  193. transform: translateY(0px);
  194. }
  195. 5% {
  196. transform: translateY(-10px);
  197. }
  198. 10%,100% {
  199. transform: translateY(0px);
  200. }
  201. }
  202.  
  203. .kitty_navy {
  204. position: relative;
  205. }
  206.  
  207. .kitty_navy span {
  208. position: relative;
  209. display: inline-block;
  210. color: white;
  211. animation: kitty_float 9s ease-in-out infinite;
  212. animation-delay: 2s;
  213. font-size: 1.5em;
  214. }
  215. /* go按钮-end */
  216. .kitty_logOutput {
  217. color: #71777d;
  218. font-size: 0.9em;
  219. margin-top: 50px;
  220. }
  221. .kitty_logOutput div {
  222. margin: 0;
  223. padding: 0;
  224. line-height: 1.5;
  225. }
  226. .kitty_downloadText {
  227. font-size: 20px;
  228. font-weight: bold;
  229. }
  230. .kitty_downloadText a {
  231. cursor:pointer;
  232. }
  233. `
  234. document.querySelector("head").appendChild(style);
  235. }
  236. function kitty_createPanel() {
  237. let panel = document.createElement("div")
  238. panel.setAttribute("id", "kitty_vipPanel")
  239. panel.innerHTML = `
  240. <div class="kitty_showPanelBtn">&gt;&gt;显示</div>
  241. <div class="kitty_panelMain">
  242. <div class="kitty_panelHead">
  243. <div class="kitty_headDivActive">获取权限</div>
  244. <div>令牌登录</div>
  245. <div>使用指南</div>
  246. <div>支付</div>
  247. </div>
  248. <div class="kitty_panelBody kitty_panelBody_0">
  249. <div class="kitty_searchInput">
  250. <input id="kitty_txm" type="text" placeholder="">
  251. </div>
  252. <div class="kitty_goToVipBtn kitty_navy">
  253. <span>G</span>
  254. <span>O</span>
  255. <span>!</span>
  256. </div>
  257. <div class="kitty_logOutput">
  258. <div>脚本--><span class="kitty_scriptName"></span>-<span class="kitty_version"></span>-<span class="kitty_update"></span></div>
  259. <div>主页--><a class="kitty_homepage" target="_blank" href="">主页地址</a></div>
  260. <div>邮箱-->JamJamToday@protonmail.com</div>
  261. <div>操作--><span style="color: red;cursor:pointer;" class="kitty_hiddenPanelBtn">点此隐藏此脚本操作界面&lt;&lt;</span></div>
  262. <div class="kitty_logList">
  263. </div>
  264. </div>
  265. </div>
  266. <div class="kitty_panelBody kitty_panelBody_1" style="display:none;">
  267. <p>暂未开放</p>
  268. </div>
  269. <div class="kitty_panelBody kitty_panelBody_2" style="display:none;">
  270. <p>+ 使用方法线路1: <a target="_blank" href="https://www.kittymao.xyz">www.kittymao.xyz</a></p>
  271. <p>+ 使用方法线路2: <a target="_blank" href="http://124.223.114.203:5000/jbs.html">使用教程</a></p>
  272. </div>
  273. <div class="kitty_panelBody kitty_panelBody_3" style="display:none;">
  274. <p>+ 支付线路1: <a target="_blank" href="https://shop.kittymao.xyz">shop.kittymao.xyz</a></p>
  275. <p>+ 支付线路2: <a target="_blank" href="http://124.223.114.203">kitty猫商店</a></p>
  276. </div>
  277. </div>
  278. `
  279. document.body.appendChild(panel)
  280. }
  281.  
  282. function kitty_eventBind() {
  283. let tabs = document.querySelectorAll(".kitty_panelHead>div")
  284. for (let i = 0; i < tabs.length; i++) {
  285. tabs[i].addEventListener("click", function() {
  286. for (let ii = 0; ii < tabs.length; ii++) {
  287. tabs[ii].className = ""
  288. }
  289. tabs[i].className = "kitty_headDivActive"
  290. kitty_changeTab(i)
  291. })
  292. }
  293. document.querySelector(".kitty_hiddenPanelBtn").addEventListener("click", function() {
  294. kitty_hiddenPanel()
  295. })
  296. document.querySelector(".kitty_showPanelBtn").addEventListener("click", function() {
  297. kitty_showPanel()
  298. })
  299. let gets = document.querySelectorAll(".kitty_goToVipBtn")
  300. gets[0].addEventListener("click", function() {
  301. kitty_getPermissionStart()
  302. })
  303. }
  304. function kitty_changeTab(index) {
  305. kitty_tabIndex = index
  306. let panelBodys = document.querySelectorAll(".kitty_panelBody")
  307. if(!panelBodys[kitty_tabIndex]) {
  308. return
  309. }
  310. for (let i = 0; i < panelBodys.length; i ++) {
  311. panelBodys[i].style.display = "none"
  312. }
  313. panelBodys[kitty_tabIndex].style.display = "block"
  314. }
  315. function kitty_hiddenPanel() {
  316. document.querySelector("#kitty_vipPanel").className = "hitty_hiddenPanel"
  317. document.querySelector(".kitty_showPanelBtn").style.display = "block"
  318. }
  319. function kitty_showPanel() {
  320. document.querySelector("#kitty_vipPanel").className = ""
  321. document.querySelector(".kitty_showPanelBtn").style.display = "none"
  322. }
  323. function kitty_getPermissionStart() {
  324. let emoLength = kitty_emojiList.length
  325. let txm = document.querySelector("#kitty_txm").value
  326. if (!txm) {
  327. kitty_logListPush(`请输入卡密,然后点击GO按钮${kitty_emojiList[kitty_emojiIndex]}`, "info")
  328. kitty_emojiIndex++
  329. if (kitty_emojiIndex>=emoLength) {
  330. kitty_emojiIndex = 0;
  331. }
  332. return
  333. }
  334. localStorage.setItem("kitty_txm", txm)
  335. kitty_getSuccessHost();
  336. kitty_getPermission(0, txm, false);
  337. }
  338. function kitty_getSuccessHost() {
  339. let successHost = localStorage.getItem("kitty_requestSuccessHost")
  340. if(successHost) {
  341. let findIndex = kitty_config.requestHostList.indexOf(successHost);
  342. if (findIndex!=-1) {
  343. kitty_config.requestHostList.splice(findIndex, 1);
  344. kitty_config.requestHostList.unshift(successHost);
  345. }
  346. }
  347. }
  348. function kitty_getHost(index) {
  349. return kitty_config.requestHostList[index]
  350. }
  351.  
  352. function kitty_getStatusTypeText(type) {
  353. let typeText = "提示";
  354. switch(type){
  355. case "success":
  356. typeText = "成功"
  357. break
  358. case "warning":
  359. typeText = "警告"
  360. break
  361. case "info":
  362. typeText = "信息"
  363. break
  364. case "danger":
  365. typeText = "失败"
  366. break
  367. case '200':
  368. typeText = "成功"
  369. break
  370. case '300':
  371. typeText = "警告"
  372. break
  373. case '400':
  374. typeText = "信息"
  375. break
  376. case '500':
  377. typeText = "失败"
  378. break
  379. }
  380. return typeText;
  381. }
  382. function kitty_logListPush(item, type) {
  383. if (kitty_logList.length >= kitty_config.logListMaxLength) {
  384. kitty_logListShift()
  385. }
  386. let stringLength = item.length
  387. let start = 0;
  388. let end = kitty_config.logItemLength-1
  389. let headLine = true
  390. while(stringLength>=0) {
  391. let typeText = `${kitty_getStatusTypeText(type)}-->`;
  392. let styleColor = ""
  393. if (type) {
  394. styleColor = type?`color: ${kitty_StatusColor[type]}`:"";
  395. }
  396. kitty_logList.push(`<span style="${styleColor}">${headLine?typeText:'<span style="opacity: 0;">续行--</span>&gt;'}${item.substring(start, end)}</span>`)
  397. start = end
  398. end += end
  399. stringLength = stringLength-kitty_config.logItemLength
  400. headLine = false
  401. }
  402. kitty_showLogList()
  403. }
  404. function kitty_logListShift() {
  405. kitty_logList.shift();
  406. kitty_showLogList();
  407. }
  408. function kitty_showLogList() {
  409. let innerhtml = "";
  410. let kitty_logListDiv = document.getElementsByClassName("kitty_logList")[0]
  411. kitty_logList.forEach(item => {
  412. innerhtml+=`<div>${item}</div>`
  413. })
  414. kitty_logListDiv.innerHTML = innerhtml;
  415. }
  416. function kitty_setConfig() {
  417. document.getElementsByClassName("kitty_scriptName")[0].innerHTML = kitty_config.name;
  418. document.getElementsByClassName("kitty_version")[0].innerHTML = `v${kitty_config.version}`;
  419. let homepage = document.getElementsByClassName("kitty_homepage")[0];
  420. homepage.innerHTML = kitty_config.homePageName+`(${kitty_config.homePageUrl})`
  421. homepage.href = "https://"+kitty_config.homePageUrl
  422. if (kitty_config.update===1) {
  423. let versionSpan = document.getElementsByClassName("kitty_update")[0];
  424. versionSpan.innerHTML = `已最新`;
  425. versionSpan.style = `color: ${kitty_StatusColor.success};`;
  426. } else if (kitty_config.update===2) {
  427. let versionSpan = document.getElementsByClassName("kitty_update")[0];
  428. versionSpan.innerHTML = `<span class="kitty_toNewVersion" style="user-select: none;cursor: pointer;">点此更新</span>`;
  429. versionSpan.style = `color: ${kitty_StatusColor.warning};`;
  430. document.querySelector(".kitty_toNewVersion").addEventListener("click", function() {
  431. window.open(kitty_config.updateUrl)
  432. })
  433. } else {
  434. let versionSpan = document.getElementsByClassName("kitty_update")[0];
  435. versionSpan.innerHTML = `<span class="kitty_checkVersion" style="user-select: none;cursor: pointer;">检查更新</span>`;
  436. versionSpan.style = `color: ${kitty_StatusColor.warning};`;
  437. document.querySelector(".kitty_checkVersion").addEventListener("click", function() {
  438. kitty_getNewVersion(0, false)
  439. })
  440. }
  441. }
  442. function kitty_getCardNumber() {
  443. let txm = localStorage.getItem("txm")
  444. if (txm) {
  445. localStorage.setItem("kitty_txm", txm)
  446. localStorage.removeItem("txm")
  447. }
  448. let kitty_txm = localStorage.getItem("kitty_txm")
  449. if (kitty_txm) {
  450. document.querySelector("#kitty_txm").value = kitty_txm
  451. //kitty_logListPush("在使用前请安装好modheader并配置,详情请查看使用指南", "warning")
  452. if (kitty_isSuccess()) {
  453. kitty_logListPush("请求成功, 请尝试观看", "success")
  454. } else {
  455. kitty_logListPush("已获取到上次使用的卡密,请另外保存卡密", "info")
  456. kitty_logListPush("已准备就绪,请点击GO按钮", "info")
  457. }
  458. } else {
  459. if (kitty_isSuccess()) {
  460. kitty_logListPush("请求成功, 请尝试观看", "success")
  461. } else {
  462. kitty_logListPush("已准备就绪,请点击GO按钮", "info")
  463. kitty_logListPush(`请输入卡密,然后点击GO按钮${kitty_emojiList[kitty_emojiIndex]}`, "info")
  464. }
  465. kitty_emojiIndex++
  466. }
  467. }
  468. function kitty_getPermission(index, txm, change) {
  469. if (kitty_isrun.getPermission&&!change) {
  470. return
  471. }
  472. let host = kitty_getHost(index)
  473. if(!change) {
  474. kitty_logListPush("发送请求中请耐心等待...", "info")
  475. }
  476. kitty_isrun.getPermission = true
  477. let url = ""
  478. let href = location.href
  479. if (href.includes("19j")) {
  480. url = `${host}/getHanguoToken/${txm}/123`
  481. } else {
  482. url = `${host}/getPermission/${txm}/154`
  483. }
  484. fetch(url).then(res => res.json()).then(res => {
  485. localStorage.setItem("kitty_requestSuccessHost", host)
  486. try {
  487. if (res.code == 200) {
  488. dealGetPermissionRes(res.data)
  489. } else {
  490. kitty_logListPush(res.msg, res.code)
  491. }
  492. } catch(e) {
  493. kitty_logListPush("失败,返回值处理有问题", "danger")
  494. console.log(e)
  495. }
  496. kitty_isrun.getPermission = false
  497. }).catch((e) => {
  498. if (e.toString().includes("JSON")) {
  499. kitty_logListPush("JSON解析失败,请联系作者", "danger")
  500. kitty_isrun.getPermission = false
  501. } else {
  502. console.log(e)
  503. index++
  504. let getHost = kitty_getHost(index)
  505. if (getHost) {
  506. kitty_logListPush("请求失败,切换线路中请耐心等待...", "warning")
  507. kitty_getPermission(index, txm, true)
  508. } else {
  509. kitty_logListPush("请求失败,请联系作者", "danger")
  510. kitty_isrun.getPermission = false
  511. }
  512. }
  513. })
  514. }
  515. function dealGetPermissionRes(resData) {
  516. let href = window.location.href
  517. if (href.includes("19j")) {
  518. let token = resData
  519. let url = `${location.protocol}//${location.hostname}/user/login?ruser=fengfeng&rtoken=${token}`
  520. kitty_logListPush("请求成功, 刷新页面中请稍候...", "success");
  521. setTimeout(() => {
  522. location.href = url
  523. }, 1000)
  524. } else {
  525. let cookieArr = resData.cookieHeader
  526. cookieArr.forEach((item) => {
  527. let temp = item.split(";")[0]
  528. let tempArr = temp.split("=")
  529. if (tempArr[0] == 'user') {
  530. setCookie('user', tempArr[1], 1)
  531. } else {
  532. setCookie(tempArr[0], tempArr[1])
  533. }
  534. })
  535. kitty_logListPush("请求成功, 刷新页面中请稍候...", "success");
  536. setTimeout(() => {
  537. location.reload()
  538. }, 1000)
  539. }
  540. }
  541. function kitty_checkIsSuccess() {
  542. if (kitty_isSuccess()) {
  543. kitty_hiddenPanel();
  544. }
  545. }
  546. function kitty_isSuccess() {
  547. let dom = document.getElementById("vip1")
  548. let dom_ = document.querySelector("a.tx-flex-hc")
  549. let b = false
  550. if (dom_) {
  551. b = dom_.innerHTML.includes("会员中心")
  552. }
  553. if (dom||b) {
  554. return true
  555. } else {
  556. return false
  557. }
  558. }
  559. function kitty_getNewVersion(index, change) {
  560. if (kitty_isrun.getNewVersion&&!change) {
  561. return
  562. }
  563. let host = kitty_getHost(index)
  564. if(!change) {
  565. kitty_logListPush("检查版本号中请耐心等待...", "info")
  566. }
  567. kitty_isrun.getNewVersion = true
  568. let url = `${host}/getVersion`
  569. fetch(url).then(res => res.json()).then(res => {
  570. localStorage.setItem("kitty_requestSuccessHost", host)
  571. try {
  572. let data = res.data
  573. if (data.version === kitty_config.version) {
  574. kitty_config.update = 1
  575. kitty_logListPush("已是最新版", "success")
  576. } else {
  577. kitty_config.update = 2
  578. kitty_config.updateUrl = data.updateUrl
  579. kitty_logListPush("不是最新版,可能无法使用", "warning")
  580. }
  581. kitty_setConfig()
  582. } catch(e) {
  583. kitty_logListPush("失败,返回值处理有问题", "danger")
  584. console.log(e)
  585. }
  586. kitty_isrun.getNewVersion = false
  587. }).catch((e) => {
  588. if (e.toString().includes("JSON")) {
  589. kitty_logListPush("JSON解析失败,请联系作者", "danger")
  590. kitty_isrun.getNewVersion = false
  591. } else {
  592. console.log(e)
  593. index++
  594. let getHost = kitty_getHost(index)
  595. if (getHost) {
  596. kitty_logListPush("请求失败,切换线路中请耐心等待...", "warning")
  597. kitty_getNewVersion(index, true)
  598. } else {
  599. kitty_logListPush("请求失败,请联系作者", "danger")
  600. kitty_isrun.getPermission = false
  601. }
  602. }
  603. })
  604. }
  605. function kitty_vipPanelInit() {
  606. kitty_insertStyle();
  607. kitty_createPanel();
  608. kitty_getSuccessHost();
  609. kitty_showLogList();
  610. kitty_eventBind();
  611. kitty_getCardNumber();
  612. kitty_setConfig();
  613. kitty_checkIsSuccess()
  614. }
  615. function kitty_isRun() {
  616. let site = false
  617. let run = false
  618. if(document.title.includes('韩国主播国产主播原创网') || document.title.includes('SWAG资源合集下载')) {
  619. site = true
  620. }
  621. if (document.querySelector("#kitty_vipPanel")||document.querySelector("#vipPanel")) {
  622. run = true
  623. }
  624. if (site&&!run) {
  625. kitty_vipPanelInit();
  626. }
  627. }
  628. kitty_isRun()
  629. })();