Greasy Fork

Greasy Fork is available in English.

PT站自动签到

pt站自动点击签到

当前为 2025-03-21 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name      PT站自动签到
// @author    csf2001
// @namespace csf2001
// @version   1.0.1
// @license   MIT
// @description pt站自动点击签到
// @match     *://www.hitpt.com/*
// @match     *://ptfans.cc/*
// @match     *://rousi.zip/*
// @match     *://sunnypt.top/*
// @match     *://crabpt.vip/*
// @match     *://zmpt.cc/*
// @match     *://ptlgs.org/*
// @match     *://sanpro.pw/*
// @match     *://pt.0ff.cc/*
// @match     *://cyanbug.net/*
// @match     *://open.cd/*
// @match     *://ourbits.club/*
// @match     *://hdhome.org/*
// @match     *://hdchina.org/*
// @match     *://pterclub.com/*
// @match     *://lemonhd.org/*
// @match     *://www.pthome.net/*
// @match     *://pt.btschool.club/*
// @match     *://pt.soulvoice.club/*
// @match     *://1ptba.com/*
// @match     *://www.hddolby.com/*
// @match     *://hdzone.me/*
// @match     *://hddisk.life/*
// @match     *://discfan.net/*
// @match     *://www.hdarea.co/*
// @match     *://hdcity.city/*
// @match     *://dhcmusic.xyz/*
// @match     *://totheglory.im/*
// @match     *://www.nicept.net/*
// @match     *://yingk.com/*
// @match     *://hdstreet.club/*
// @match     *://52pt.site/*
// @match     *://moecat.best/*
// @match     *://pt.hd4fans.org/*
// @match     *://www.haidan.video/*
// @match     *://www.pttime.org/*
// @match     *://hdtime.org/*
// @match     *://audiences.me/*
// @match     *://*.tjupt.org/*
// @match     *://*.hdfans.org/*
// @match     *://*.oshen.win/*
// @match     *://*.sharkpt.net/*
// @grant        none
// ==/UserScript==

(function () {
  var host = window.location.host;
  var href = window.location.href;

  function checkAndClick(element, text, additionalCondition = true) {
    if (element && element.innerText.indexOf(text) !== -1 && additionalCondition) {
      element.click();
    }
  }

  setTimeout(function () {
    var elements = {
      hitptSign: document.getElementsByClassName("faqlink")[0],
      ptfansSign: document.getElementsByClassName("faqlink")[0],
      rousiSign: document.getElementsByClassName("faqlink")[0],
      sunnyptSign: document.getElementsByClassName("faqlink")[0],
      crabptSign: document.getElementsByClassName("faqlink")[0],
      zmptSign: document.getElementsByClassName("faqlink")[0],
      ptlgsSign: document.getElementsByClassName("faqlink")[0],
      sanproSign: document.getElementsByClassName("faqlink")[0],
      pt0ffSign: document.getElementsByClassName("faqlink")[0],
      cyanbugSign: document.getElementsByClassName("nav-btn")[3],
      opencdSign: document.getElementsByClassName("infos-bar")[4]?.getElementsByTagName("a")[0],
      ourbitsSign: document.getElementsByClassName("faqlink")[0],
      hdhomeSign: document.getElementsByClassName("faqlink")[0],
      hdchinaSign: document.getElementsByClassName("userinfort")[0]?.getElementsByTagName("a")[1],
      pterSign: document.getElementsByClassName("faqlink")[0],
      lemonhdSign: document.getElementsByClassName("faqlink")[0],
      pthomeSign: document.getElementsByClassName("faqlink")[0],
      btschoolSign: Array.from(document.getElementById("outer")?.getElementsByTagName("a") || []).find(a => a.href.indexOf("addbonus") !== -1),
      soulvoiceSign: document.getElementsByClassName("faqlink")[0],
      _1ptbaSign: document.getElementsByClassName("faqlink")[0],
      hddolbySign: document.getElementsByClassName("faqlink")[0],
      hdzoneSign: document.getElementsByClassName("faqlink")[0],
      hddiskSign: document.getElementsByClassName("faqlink")[0],
      discfanSign: document.getElementsByClassName("faqlink")[0],
      hdareaSign: document.getElementById("sign_in")?.getElementsByTagName("a")[0],
      hdcitySign: document.getElementById("bottomnav")?.getElementsByTagName("a")[1],
      dhcmusicSign: document.getElementsByClassName("faqlink")[0],
      ttgSign: document.getElementById("sp_signed")?.getElementsByTagName("a")[0],
      niceptSign: document.getElementsByClassName("faqlink")[0],
      haidanSign: document.getElementById("modalBtn"),
      pttimeSign: document.getElementsByClassName("faqlink")[0],
      hdtimeSign: document.getElementsByClassName("faqlink")[0],
      audiencesSign: document.getElementsByClassName("faqlink")[0],
      hdfansSign: document.getElementsByClassName("faqlink")[0],
      oshenSign: document.getElementsByClassName("faqlink")[0],
      sharkptSign: Array.from(document.getElementsByTagName('shark-tooltip') || []).find(e => e.label === '签到')?.getElementsByTagName('shark-icon-button')[0]?.shadowRoot.querySelector('.button--high-warn'),
      yingkSign: document.getElementById("game"),
      hdstreetSign: document.getElementsByClassName("medium")[0]?.getElementsByTagName("a")[5],
      _52ptSign: document.getElementById("game"),
      moecatSign: document.getElementById("game"),
      hd4fanSign: document.getElementById("checkin")?.getElementsByTagName("a")[0],
      tjuptSign: document.getElementsByClassName("faqlink")[0],
    };

    var conditions = [
      { host: "hitpt", element: elements.hitptSign, text: "签到得魔力" },
      { host: "ptfans", element: elements.ptfansSign, text: "签到得魔力" },
      { host: "rousi", element: elements.rousiSign, text: "签到得魔力" },
      { host: "sunnypt", element: elements.sunnyptSign, text: "签到得魔力" },
      { host: "crabpt", element: elements.crabptSign, text: "签到得蟹币" },
      { host: "zmpt", element: elements.zmptSign, text: "签到得电力" },
      { host: "ptlgs", element: elements.ptlgsSign, text: "签到得工分" },
      { host: "sanpro", element: elements.sanproSign, text: "签到得魔力" },
      { host: "pt.0ff", element: elements.pt0ffSign, text: "签到得魔力", additionalCondition: href.indexOf("attendance") < 0 },
      { host: "cyanbug", element: elements.cyanbugSign, text: "签到得魔力" },
      { host: "open.cd", element: elements.opencdSign, text: "签到" },
      { host: "ourbits", element: elements.ourbitsSign, text: "签到得魔力" },
      { host: "hdhome", element: elements.hdhomeSign, text: "签到得魔力" },
      { host: "hdchina", element: elements.hdchinaSign, text: "签 到" },
      { host: "pterclub", element: elements.pterSign, text: "签到得猫粮" },
      { host: "lemonhd", element: elements.lemonhdSign, text: "签到" },
      { host: "pthome", element: elements.pthomeSign, text: "签到得魔力" },
      { host: "btschool", element: elements.btschoolSign, text: "每日签到" },
      { host: "soulvoice", element: elements.soulvoiceSign, text: "签到得魔力" },
      { host: "1ptba", element: elements._1ptbaSign, text: "签到得魔力" },
      { host: "hddolby", element: elements.hddolbySign, text: "签到得鲸币" },
      { host: "hdzone", element: elements.hdzoneSign, text: "签到得魔力" },
      { host: "hddisk", element: elements.hddiskSign, text: "签到得魔力" },
      { host: "discfan", element: elements.discfanSign, text: "签到得魔力" },
      { host: "hdarea", element: elements.hdareaSign, text: "签到" },
      { host: "hdcity", element: elements.hdcitySign, text: "签到", additionalCondition: elements.hdcitySign?.innerText.indexOf("已签到") < 0 },
      { host: "dhcmusic", element: elements.dhcmusicSign, text: "签到得魔力" },
      { host: "totheglory", element: elements.ttgSign, text: "签到" },
      { host: "nicept", element: elements.niceptSign, text: "签到得魔力" },
      { host: "haidan", element: elements.haidanSign, text: "每日打卡" },
      { host: "pttime", element: elements.pttimeSign, text: "签到领魔力" },
      { host: "hdtime", element: elements.hdtimeSign, text: "签到得魔力" },
      { host: "audiences", element: elements.audiencesSign, text: "签到得魔力" },
      { host: "hdfans", element: elements.hdfansSign, text: "签到得魔力" },
      { host: "oshen", element: elements.oshenSign, text: "签到得魔力" },
      { host: "sharkpt", element: elements.sharkptSign },
      { host: "yingk", element: elements.yingkSign, text: "每日签到", additionalCondition: href.indexOf("bakatest") < 0 },
      { host: "hdstreet", element: elements.hdstreetSign, text: "每日签到", additionalCondition: href.indexOf("bakatest") < 0 },
      { host: "52pt", element: elements._52ptSign, text: "签到赚魔力", additionalCondition: href.indexOf("bakatest") < 0 },
      { host: "moecat", element: elements.moecatSign, text: "每日签到", additionalCondition: href.indexOf("bakatest") < 0 },
      { host: "hd4fans", element: elements.hd4fanSign, text: "签 到" },
      { host: "tjupt", element: elements.tjuptSign, text: "签到得魔力", additionalCondition: href.indexOf("attendance") < 0 },
    ];

    conditions.forEach(({ host: siteHost, element, text, additionalCondition = true }) => {
      if (host.indexOf(siteHost) !== -1) {
        checkAndClick(element, text, additionalCondition);
      }
    });
  }, 500);
})();