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

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

2023/01/03のページです。最新版はこちら。

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください。
  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.0.2
  6. // @description 用于观看swag(R站)vip视频&19J.TV韩国女主播vip视频
  7. // @description:zh-TW 用于观看swag(R站)vip視頻&19J.TV韓國女主播vip視頻
  8. // @author FFFFFFeng
  9. // @include /^http.*://ri.+\.xyz.*$/
  10. // @include /^http.*://ri333\.xyz.*$/
  11. // @include /^http.*://ri111\.xyz.*$/
  12. // @include /^http.*://swag555\.xyz.*$/
  13. // @include /^https://19j.+\.xyz.*$/
  14. // @icon https://www.google.com/s2/favicons?domain=swag555.xyz
  15. // @grant none
  16. // @antifeature payment
  17. // ==/UserScript==
  18. (function () {
  19. let VipPageData = {
  20. tabIndex: 0
  21. }
  22. if (document.title.includes('韩国主播国产主播原创网') || document.title.includes('SWAG资源合集下载')) {
  23. vipPanelInit()
  24. }
  25. function vipPanelInit() {
  26. let style = document.createElement("style")
  27. style.innerHTML = `
  28. #vipPanel {
  29. width: 310px;
  30. height: 500px;
  31. box-shadow: 0 0 0 1px rgb(0 0 0 / 5%), 0 2px 4px 1px rgb(0 0 0 / 9%);
  32. border-left: 1px solid transparent;
  33. border-right: none;
  34. border-top: 1px solid transparent;
  35. border-bottom: 1px solid transparent;
  36. background-color: #FFFFFF;
  37. position: fixed;
  38. left: 6px;
  39. bottom: 6px;
  40. z-index: 99999;
  41. }
  42. .panelHead {
  43. display: flex;
  44. border-bottom: 1px solid #ececec;
  45. }
  46. .panelHead>div {
  47. color: #444;
  48. font-size: 14px;
  49. padding: 0 10px;
  50. height: 40px;
  51. line-height: 40px;
  52. box-sizing: border-box;
  53. user-select: none;
  54. text-align: center;
  55. width: 76px;
  56. }
  57. .panelHead>div:not(.headDivActive):hover {
  58. border-bottom: 3px solid #ccc;
  59. cursor: pointer;
  60. }
  61. .headDivActive {
  62. border-bottom: 3px solid #00809d;
  63. color: #444;
  64. font-weight: bold;
  65. }
  66. .searchInput {
  67. width: 80%;
  68. border-radius: 24px;
  69. box-shadow: 0 0 0 1px rgb(0 0 0 / 5%), 0 2px 4px 1px rgb(0 0 0 / 9%);
  70. height: 40px;
  71. border-left: 1px solid transparent;
  72. border-right: none;
  73. border-top: 1px solid transparent;
  74. border-bottom: 1px solid transparent;
  75. margin: 0 auto;
  76. overflow: hidden;
  77. margin-top: 40px;
  78. display: flex;
  79. padding-right: 10px;
  80. align-items: center;
  81. }
  82. .searchInput:hover {
  83. border-top-left-radius: 24px;
  84. box-shadow: 0 0 0 1px rgb(0 0 0 / 10%), 0 2px 4px 1px rgb(0 0 0 / 18%);
  85. border-left: 1px solid transparent;
  86. border-right: none;
  87. border-top: 1px solid transparent;
  88. border-bottom: 1px solid transparent;
  89. }
  90. .searchInput input {
  91. flex: 1;
  92. height: 100%;
  93. border: 0;
  94. outline: 0;
  95. font-size: 16px;
  96. padding-left: 10px;
  97. }
  98. .searchInput .userSearchI {
  99.  
  100. width: 30px;
  101. height: 30px;
  102. text-align: center;
  103. box-sizing: border-box;
  104. line-height: 26px;
  105.  
  106. }
  107. .tipContentBox {
  108. display:flex;
  109. color: #71777d;
  110. font-size: 14px;
  111. margin: 0 auto;
  112. margin-top: 20px;
  113. width: 280px;
  114. }
  115. #tipContent {
  116. width: 0;
  117. flex: 1;
  118. }
  119. .getVipA {
  120. color: #FFFFFF;
  121. font-weight: bold;
  122. background-color: #00809d;
  123. height: 100px;
  124. width: 100px;
  125. border-radius: 50px;
  126. text-align: center;
  127. line-height: 100px;
  128. margin: 20px auto;
  129. box-shadow: 0 0 0 1px rgb(0 0 0 / 5%), 0 2px 4px 1px rgb(0 0 0 / 9%);
  130. user-select: none;
  131. }
  132. .getVipA:hover {
  133. cursor: pointer;
  134. box-shadow: 0 0 0 0 rgb(0 0 0 / 5%), 0 2px 4px 1px rgb(0 0 0 / 18%);
  135. -webkit-box-shadow: 0 0 0 0 rgb(0 0 0 / 5%), 0 2px 4px 1px rgb(0 0 0 / 18%);
  136. -moz-box-shadow: 0 0 0 0 rgba(0,0,0,.05),0 2px 4px 1px rgba(0,0,0,.18);
  137. }
  138.  
  139. @keyframes float {
  140. 0% {
  141. transform: translateY(0px);
  142. }
  143. 5% {
  144. transform: translateY(-10px);
  145. }
  146. 10%,100% {
  147. transform: translateY(0px);
  148. }
  149. }
  150.  
  151. .navy_ {
  152. position: relative;
  153. }
  154.  
  155. .navy_ span {
  156. position: relative;
  157. display: inline-block;
  158. color: white;
  159. font-size: 2em;
  160. animation: float 10s ease-in-out infinite;
  161. animation-delay: 5s;
  162. }
  163. .resolvePro {
  164. color: #71777d;
  165. font-size: 14px;
  166. position: absolute;
  167. bottom: 10px;
  168. left: 10px;
  169. }
  170. .hiddenPanel {
  171. left: -310px !important;
  172. }
  173. .hiddenBtn,.showBtn {
  174. position: absolute;
  175. left: 320px;
  176. bottom: 20px;
  177. width: 60px;
  178. height: 40px;
  179. line-height: 40px;
  180. color: #00809d;
  181. user-select: none;
  182. background-color: #FFFFFF;
  183. position: absolute;
  184. left: 320px;
  185. bottom: 20px;
  186. }
  187. .showBtn {
  188. display: none;
  189. }
  190. .hiddenBtn:hover,.showBtn:hover {
  191. cursor: pointer;
  192. }
  193. .panelBody_1 {
  194. display: none;
  195. }
  196. .panelBody_1 p {
  197. padding: 0 10px;
  198. font-size: 14px;
  199. text-indent: 1em;
  200. }
  201. `
  202. document.getElementsByTagName("head")[0].appendChild(style)
  203. let panel = document.createElement("div")
  204. panel.setAttribute("id", "vipPanel")
  205. panel.innerHTML = `
  206. <div class="hiddenBtn">&lt;&lt;隐藏</div>
  207. <div class="showBtn">&gt;&gt;显示</div>
  208. <div class="panelMain">
  209. <div class="panelHead">
  210. <div class="headDivActive">获取权限</div>
  211. <div>支付</div>
  212. <div>使用指南</div>
  213. <div>最新版本</div>
  214. </div>
  215. <div class="panelBody panelBody_0">
  216. <div class="searchInput">
  217. <input id="txm" type="text" placeholder="">
  218. <div class="userSearchI getVipBtn"><i class="fa fa-search"></i></div>
  219. </div>
  220. <div class="tipContentBox">
  221. <div style="width:50px;">提示: </div>
  222. <div id="tipContent">未获取权限,请输入您的支付宝昵称以获取vip权限</div>
  223. </div>
  224. <div class="getVipBtn getVipA navy_">
  225. <span>G</span>
  226. <span>O</span>
  227. <span>!</span>
  228. </div>
  229. <div class="resolvePro">
  230. 有问题请骚扰邮箱: <br/>
  231. JamJamToday@protonmail.com
  232. </div>
  233. </div>
  234. <div class="panelBody panelBody_1">
  235. <p>0.双网站vip,价格:39.99,脚本使用期为永久,一定要付款前设置好支付宝昵称。</p>
  236. <p>1.提前设置好支付宝昵称,如果你支付宝App头像旁边显示的是你的真实姓名,那就是你没设置昵称。</p>
  237. <p>2.昵称设置规则:三位字符或以上,不要使用如:123、啊啊啊之类简单的,后台已经做了过滤,大概率会失效。</p>
  238. <p>3.有任何问题联系我的邮箱。</p>
  239. <div style="text-align: center;margin-top: 20px;">
  240. <img style="width:150px;height:150px;border: 1px solid;" src="https://124.223.114.203:3004/swag_.png" alt="">
  241. </div>
  242. </div>
  243. </div>
  244. `
  245. document.body.appendChild(panel)
  246. let nodes = document.querySelectorAll(".f-red")
  247. for (let i = 0; i<nodes.length; i++) {
  248. //return
  249. if (nodes[i].innerHTML.includes("联合登录")) {
  250. if (nodes[i].nextElementSibling) {
  251. let href = nodes[i].nextElementSibling.href
  252. nodes[i].nextElementSibling.href = href.replace("jijiji", "19j10")
  253. }
  254. }
  255. }
  256. let tabs = document.querySelectorAll(".panelHead>div")
  257. for (let i = 0; i < tabs.length; i++) {
  258. tabs[i].addEventListener("click", function() {
  259. if (tabs[i].innerHTML == "最新版本") {
  260. toNewVersionF()
  261. return
  262. }
  263. if (tabs[i].innerHTML == "使用指南") {
  264. useMethodF()
  265. return
  266. }
  267. for (let ii = 0; ii < tabs.length; ii++) {
  268. tabs[ii].className = ""
  269. }
  270. tabs[i].className = "headDivActive"
  271. VipPageData.tabIndex = i
  272. changeTabF()
  273. })
  274. }
  275. document.querySelector(".hiddenBtn").addEventListener("click", function() {
  276. hiddenBtnF()
  277. })
  278. document.querySelector(".showBtn").addEventListener("click", function() {
  279. showBtnF()
  280. })
  281. let gets = document.querySelectorAll(".getVipBtn")
  282. for (let i = 0; i < gets.length; i++) {
  283. gets[i].addEventListener("click", function() {
  284. console.log("11")
  285. if (getTip() == "获取权限中..." || getTip() == "请先登录....") {
  286. return
  287. }
  288. if (getTxm()) {
  289. getPermissionF(getTxm())
  290. }
  291. })
  292. }
  293.  
  294. // 读取本地是否有通行码
  295. if (window.localStorage.getItem("txm") != null && window.localStorage.getItem("txm") != "") {
  296. document.getElementById("txm").value = window.localStorage.getItem("txm")
  297. }
  298.  
  299. if (isSuccess()) {
  300. setTip("已获取权限,不行就刷新页面")
  301. document.querySelector(".hiddenBtn").click()
  302. }
  303. }
  304. function getTxm() {
  305. console.log("222")
  306. if (!document.getElementById("txm").value) {
  307. if (getTip().includes("输入您的支付宝昵称 ")) {
  308. setTip(getTip()+"!!! ")
  309. } else {
  310. setTip("输入您的支付宝昵称 ")
  311. }
  312. if(getTip().includes("!!! !!! !!! !!!")) {
  313. setTip("输入您的支付宝昵称 ")
  314. }
  315. return false
  316. } else {
  317. return document.getElementById("txm").value
  318. }
  319. }
  320. function changeTabF() {
  321. let mains = document.querySelectorAll(".panelBody")
  322. for (let i = 0; i < mains.length; i ++) {
  323. mains[i].style.display = "none"
  324. }
  325. mains[VipPageData.tabIndex].style.display = "block"
  326. }
  327. function setTip(str) {
  328. document.querySelector("#tipContent").innerHTML = str
  329. }
  330. function toNewVersionF() {
  331. window.open("https://sleazyfork.org/zh-CN/scripts/440139-swag-r%E7%AB%99-vip%E8%A7%86%E9%A2%91%E9%9A%8F%E6%84%8F%E8%A7%82%E7%9C%8B-19j-tv%E9%9F%A9%E5%9B%BD%E5%A5%B3%E4%B8%BB%E6%92%ADvip%E8%A7%86%E9%A2%91%E4%BB%BB%E6%84%8F%E7%9C%8B-%E6%B0%B8%E4%B9%85vip")
  332. }
  333. function useMethodF() {
  334. window.open("http://66.42.117.77/swag.html")
  335. }
  336. function getPermissionF(t) {
  337. setTip("获取权限中...")
  338. window.localStorage.setItem("txm", t)
  339. let url = ""
  340. let href = location.href
  341. if (href.includes("https")) {
  342. url = "https://124.223.114.203:3001/getPermission/"
  343. } else {
  344. url = "http://124.223.114.203:3000/getPermission/"
  345. }
  346. fetch(url+""+t+"/154").then(async function(result) {
  347. let res = await result.json()
  348. if (res.code == 300) {
  349. setTip(res.msg)
  350. return
  351. }
  352. let href = window.location.href
  353. if (href.includes("19j")) {
  354. setTip("请先至姐妹站:ri666.xyz (即swag站),获取权限后点击右上角会员中心,里面有个登录联合会员的链接,点一下即可。")
  355. } else {
  356. let cookieArr = res.data.cookieHeader
  357. cookieArr.forEach((item) => {
  358. let temp = item.split(";")[0]
  359. let tempArr = temp.split("=")
  360. if (tempArr[0] == 'user') {
  361. setCookie('user', tempArr[1], 1)
  362. } else {
  363. setCookie(tempArr[0], tempArr[1])
  364. }
  365. })
  366. location.reload()
  367. }
  368. }).catch(function(e) {
  369. console.log(e)
  370. setTip("请求异常,请联系开发者。")
  371. })
  372. }
  373. function hasGetPermissionF() {
  374.  
  375. }
  376. function hiddenBtnF() {
  377. document.querySelector(".hiddenBtn").style.display = "none"
  378. document.querySelector("#vipPanel").className = "hiddenPanel"
  379. document.querySelector(".showBtn").style.display = "block"
  380. }
  381. function showBtnF() {
  382. document.querySelector(".hiddenBtn").style.display = "block"
  383. document.querySelector("#vipPanel").className = ""
  384. document.querySelector(".showBtn").style.display = "none"
  385. }
  386. function isSuccess() {
  387. let dom = document.getElementById("vip1")
  388. let dom_ = document.querySelector("a.tx-flex-hc").innerHTML.includes("会员中心")
  389. if (dom||dom_) {
  390. return true
  391. } else {
  392. return false
  393. }
  394. }
  395. function getTip() {
  396. return document.querySelector("#tipContent").innerHTML
  397. }
  398. function setCookie(cname, cvalue, exdays) {
  399. var d = new Date();
  400. d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
  401. var expires = "expires=" + d.toGMTString();
  402. document.cookie = cname + "=" + cvalue + "; " + expires;
  403. }
  404. })();