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

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

Από την 24/11/2022. Δείτε την τελευταία έκδοση.

  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 1.6.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. // /localStorage isGetPermission
  20. // localStorage getTokenTime
  21. let nodes = document.querySelectorAll(".f-red")
  22. for (let i = 0; i<nodes.length; i++) {
  23. return
  24. if (nodes[i].innerHTML.includes("联合登录")) {
  25. if (nodes[i].nextElementSibling) {
  26. let href = nodes[i].nextElementSibling.href
  27. nodes[i].nextElementSibling.href = href.replace("jijiji", "19j08")
  28. }
  29. }
  30. }
  31.  
  32.  
  33. function closeDialog_() {
  34. console.log("close")
  35. }
  36. function closeDialogAnyTime() {
  37.  
  38. }
  39. if (window.location.href.includes("19j")) {
  40. if (localStorage.getItem("isClose")) {return}
  41. let div = document.createElement("div")
  42. div.innerHTML = `
  43. <div id="dialog" style="font-size:20px;z-Index:1000;color:red;position:absolute;left:50%;top:10vh;transform:translateX(-50%);width:300px;background-color:white;padding:20px;border-radius:10px;">
  44. <div style="text-indent:2em;">先进入swag555.xyz或者ri111.xyz获取权限后,点击swag555或者ri111.xyz网站右上角的会员中心,里面有一个联合登录,点一下自动跳转到本网站后即可观看全站视频。</div>
  45. <div style="width:200px;display:flex;justify-content:space-between;margin:10px auto 0px;cursor:pointer;text-decoration:underline;">
  46. <div id="closeDialogBtn2">永久关闭</div>
  47. <div id="closeDialogBtn">关闭</div>
  48. </div>
  49. </div>
  50. `
  51. document.getElementsByTagName("body")[0].appendChild(div)
  52. document.getElementById("closeDialogBtn").addEventListener("click", function () {
  53. console.log(666);
  54. document.getElementById("dialog").style.display = "none"
  55. })
  56.  
  57. document.getElementById("closeDialogBtn2").addEventListener("click", function () {
  58. console.log(2);
  59. document.getElementById("dialog").style.display = "none"
  60. localStorage.setItem("isClose", true)
  61. })
  62. return
  63. }
  64. let div = document.createElement("div")
  65. div.setAttribute("id", "inserted")
  66. div.innerHTML = `
  67. <div id="myPanel">
  68. <div class="panelItem">
  69. <div style="padding:5px;">
  70. 提示:
  71. <span class="tipContent">请稍等...</span>
  72. </div>
  73. <div class="getPermission">解</div>
  74. <p style="transform:translate(10px,40px);font-size:10px;">JamJamToday@protonmail.com</p>
  75. <p style="transform:translate(10px,40px);"><a style="color:red;text-decoration:underline;" href="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">点我安装最新版本</a></p>
  76. <p style="transform:translate(10px,40px);font-size:10px;color:red;">有问题联系上面邮箱</p>
  77. <p style="transform:translate(10px,40px);font-size:10px;color:red;">点右上角会员中心找登录19J的方式</p>
  78. <input id="txm" type="text" placeholder="点右下角↘获取通行码后点此输入" />
  79. </div>
  80. <div class="panelItem">
  81. <div class="money">
  82. <div>
  83. <div class="gonggaoBox"><div class="gonggao">暂无脚本公告!</div></div>
  84. </div>
  85. <div style="width:100px;margin:0 auto;">
  86. <img style="width:100%;" src="https://pic1.imgdb.cn/item/634f5d0216f2c2beb1e9068a.jpg"></img>
  87. </div>
  88. <span id="read" style="font-size:13px;color:red;text-decoration:underline;">价格:39.99,提前设置好支付宝昵称,不要一个字或两个字昵称,不要使用如:123、啊啊啊之类简单的,大概率会失效。转账好输入你支付宝昵称点解。</span>
  89. </div>
  90. </div>
  91. <div id="readItem">
  92. <p style="text-indent:2em;">0.双网站vip,价格:39.99,脚本使用期为永久,一定要付款前设置好支付宝昵称。</p>
  93. <p style="text-indent:2em;">1.提前设置好支付宝昵称,如果你支付宝App头像旁边显示的是你的真实姓名,那就是你没设置昵称。</p>
  94. <p style="text-indent:2em;">2.昵称设置规则:三位字符或以上,不要使用如:123、啊啊啊之类简单的,大概率会失效。</p>
  95. <p style="text-indent:2em;">3.有任何问题联系我的邮箱。</p>
  96. <span id="closeRead">关闭</span>
  97. </div>
  98. <span class="bottomBtn">获取权限</span>
  99. <span class="bottomBtn">获取通行码</span>
  100. </div>
  101. <div id="hiddenBtn" class="show" style="width:80px;height:50px;line-height:50px;color:red;position:absolute;right:-90px;top:270px;font-size:20px;"><< 隐藏</div>
  102. `
  103. let style = document.createElement("style")
  104. style.innerHTML = `
  105. .getPermission {
  106. font-size:20px;
  107. background-color:#990033;
  108. width:100px;
  109. height:66px;
  110. border-radius:50px;
  111. text-align:center;
  112. line-height:66px;
  113. margin:0 auto;
  114. transform:translateY(15px);
  115. cursor:pointer;
  116. }
  117. @keyframes myfirst
  118. {
  119. from {transform: translateX(0%);}
  120. to {transform: translateX(-100%);}
  121. }
  122. .gonggaoBox {
  123. width:100%;
  124. height:1.5em;
  125. overflow:hidden;
  126. }
  127. .gonggao {
  128. animation: myfirst 10s linear 2s infinite;
  129. word-break:keep-all; /* 不换行 */
  130. white-space:nowrap; /* 不换行 */
  131. overflow:hidden; /* 内容超出宽度时隐藏超出部分的内容 */
  132. display:inline-block;
  133. }
  134. #hiddenBtn {
  135. cursor:pointer;
  136. }
  137. #read {
  138. font-size:14px;
  139. margin-top:5px;
  140. cursor:pointer;
  141. }
  142. #closeRead {
  143. cursor:pointer;
  144. color:red;
  145. position:absolute;
  146. right:0;
  147. top:0;
  148. font-size:14px;
  149. }
  150. #readItem>p {
  151. margin-top:10px;
  152. }
  153. #readItem {
  154. position:absolute;
  155. width:200px;
  156. height:300px;
  157. background-color:black;
  158. z-index:-1;
  159. color:white;
  160. }
  161. #txm {
  162. position:absolute;
  163. left:0;
  164. bottom:60px;
  165. z-index:1000;
  166. margin-left:20px;
  167. background-color:black;
  168. color:white;
  169. margin-left:10px;
  170. font-size:10px;
  171.  
  172. width: 85%;
  173. border: 1px solid white;
  174. }
  175. #myPanel {
  176. font-size:12px;
  177. width: 200px;
  178. height: 300px;
  179. overflow: hidden;
  180. position: relative;
  181. background-color: black;
  182. border-radius: 12px;
  183. box-shadow: 0px 0px 10px 2px #990033;
  184. }
  185. .panelItem {
  186. border-radius: 10px;
  187. background-color: black;
  188. color: white;
  189. width: 200px;
  190. height: 300px;
  191. display: inline-block;
  192. position: absolute;
  193. left: 0;
  194. top: 0;
  195. transition: all .6s cubic-bezier(.17,.67,.63,1.59);
  196. }
  197. #myPanel>:nth-child(2) {
  198. transform: translateX(100%);
  199. }
  200. #myPanel>span {
  201. position: absolute;
  202. bottom: 0;
  203. width: 99px;
  204. background-color: black;
  205. text-align: center;
  206. height: 40px;
  207. display: inline-block;
  208. line-height: 40px;
  209. font-size: 17px;
  210. color: white;
  211. cursor: pointer;
  212. }
  213. #myPanel>span:nth-child(3) {
  214. left: 0;
  215. border-radius:0 0 0 10px;
  216. }
  217. #myPanel>span:last-child {
  218. right: 0;
  219. border-radius:0 0 10px 0;
  220. }
  221. .grayBg {
  222. background-color: #990033 !important;
  223. }
  224. .money {
  225. padding: 10px;
  226. display: flex;
  227. flex-direction: column;
  228. overflow:hidden;
  229. }
  230.  
  231.  
  232. .kai {
  233. position: absolute;
  234. left: 50%;
  235. top: 50%;
  236. transform: translate(-50%,-50%);
  237. color: white;
  238. }
  239. #inserted {
  240. position: absolute;
  241. left: 20px;
  242. top: 20px;
  243. z-index: 1000;
  244. }
  245. `
  246. document.getElementsByTagName("head")[0].appendChild(style)
  247. document.getElementsByTagName("body")[0].appendChild(div)
  248. // 控制那个按钮处于激活状态
  249. let currentButton = 0
  250. let btns = document.getElementsByClassName("bottomBtn")
  251. let tabs = document.getElementsByClassName("panelItem")
  252. // 更改按钮颜色,并切换页面
  253. function changeActiveBtn() {
  254. if (currentButton === 0) {
  255. btns[1].className = "bottomBtn"
  256. btns[0].className = "bottomBtn grayBg"
  257. translateToRight()
  258. } else {
  259. btns[0].className = "bottomBtn"
  260. btns[1].className = "bottomBtn grayBg"
  261. translateToLeft()
  262. }
  263. }
  264. // 页面往左滑
  265. function translateToLeft() {
  266. tabs[0].style.transform = "translateX(-100%)"
  267. tabs[1].style.transform = "translateX(0%)"
  268. }
  269. // 页面往右滑
  270. function translateToRight() {
  271. tabs[0].style.transform = "translateX(0%)"
  272. tabs[1].style.transform = "translateX(100%)"
  273. }
  274. // 更改提示信息
  275. function setTip(str) {
  276. document.getElementsByClassName("tipContent")[0].innerHTML = str
  277. }
  278. // 获取提示信息
  279. function getTip() {
  280. return document.getElementsByClassName("tipContent")[0].innerHTML
  281. }
  282. // 设置公告
  283. function setGonggao(str) {
  284. document.getElementsByClassName("gonggao")[0].innerHTML = str
  285. }
  286. // 获取服务器公告
  287. function httpsGonggao() {
  288. setGonggao(" =====感谢安装!=====")
  289. }
  290. // 发送请求,获取权限
  291. function getHttpsToken(t) {
  292. setTip("获取权限中...")
  293. let url = ""
  294. let href = location.href
  295. if (href.includes("https")) {
  296. url = "https://124.223.114.203:3001/getPermission/"
  297. } else {
  298. url = "http://124.223.114.203:3000/getPermission/"
  299. }
  300. fetch(url+""+t+"/154").then(async function(result) {
  301. let res = await result.json()
  302. console.log("服务器返回数据", res)
  303. if (res.code == 300) {
  304. setTip(res.msg)
  305. return
  306. }
  307. let cookieArr = res.data.cookieHeader
  308. cookieArr.forEach((item) => {
  309. let temp = item.split(";")[0]
  310. let tempArr = temp.split("=")
  311. if (tempArr[0] == 'user') {
  312. setCookie('user', tempArr[1], 1)
  313. } else {
  314. setCookie(tempArr[0], tempArr[1])
  315. }
  316. })
  317. location.reload()
  318. }).catch(function(e) {
  319. console.log(e)
  320. setTip("请求异常,请联系开发者。")
  321. })
  322. }
  323. // 获取权限函数
  324. function getPermission() {
  325. if (document.getElementById("txm").value == "") {
  326. setTip("请输入通行码")
  327. return
  328. }
  329. window.localStorage.setItem("txm", document.getElementById("txm").value)
  330. getHttpsToken(document.getElementById("txm").value)
  331. }
  332. // 隐藏面板
  333. function hiddenOrShow(e) {
  334. console.log(e.target.className)
  335. if (e.target.className == "show") {
  336. e.target.className = "hidden"
  337. document.getElementById("inserted").style.transform = "translateX(-220px)"
  338. e.target.innerHTML = ">> 显示"
  339. } else {
  340. e.target.className = "show"
  341. document.getElementById("inserted").style.transform = "translateX(0px)"
  342. e.target.innerHTML = "<< 隐藏"
  343. }
  344. }
  345. function isSuccess() {
  346. let dom = document.getElementById("vip1")
  347. return dom
  348. }
  349. // 主函数
  350. function main() {
  351. // 给控制面板隐藏或者显示按钮添加点击事件
  352. document.getElementById("hiddenBtn").addEventListener("click", hiddenOrShow)
  353.  
  354. // 给支付前必看按钮添加点击事件
  355. document.getElementById("read").addEventListener("click", function() {
  356. document.getElementById("readItem").style.zIndex = 1000
  357. })
  358.  
  359. document.getElementById("closeRead").addEventListener("click", function() {
  360. document.getElementById("readItem").style.zIndex = -1
  361. })
  362. if (isSuccess()) {
  363. setTip("已获取权限,不行就刷新页面")
  364. document.getElementById("hiddenBtn").click()
  365. } else {
  366. setTip("未获取权限")
  367. }
  368. // 读取本地是否有通行码
  369. if (window.localStorage.getItem("txm") != null && window.localStorage.getItem("txm") != "") {
  370. document.getElementById("txm").value = window.localStorage.getItem("txm")
  371. }
  372. // 给按钮添加点击事件
  373. for (let i = 0; i < 2; i++) {
  374. btns[i].addEventListener("click", function (e) {
  375. currentButton = i
  376. changeActiveBtn()
  377. })
  378. }
  379. // 获取权限按钮,添加点击事件
  380. document.getElementsByClassName("getPermission")[0].addEventListener("click", function() {
  381. if (getTip() == "获取权限中..." || getTip() == "请先登录....") {
  382. return
  383. }
  384. getPermission()
  385. })
  386.  
  387. // 修改按钮颜色状态
  388. changeActiveBtn()
  389. // 获取公告信息
  390. httpsGonggao()
  391. //ggAnimate()
  392. }
  393. main()
  394. })();