vps交流

[疑问] 怎么python获取sspanel的订阅地址


[疑问]  怎么python获取sspanel的订阅地址

这个是SSPANEL吗

想用python登录获取订阅地址,可是我查看源码看不到订阅地址,不知道该如何进行下一步了

想做自动注册获取订阅的吧,没必要,也不贵

小尾巴翘起来

honus 发表于 2022-4-26 14:27
想做自动注册获取订阅的吧,没必要,也不贵

不是,不需要自动注册

因为有时候当天流量传输猛增大时,可能触发安全机制订阅地址会被重置,所以想每天自动提取订阅地址

这个订阅地址是不会变的,你自己获取一次写在你程序后台就行了,他就算订阅到期你再续费,这个订阅地址也不会变,除非你手动去后台点重置订阅地址。

第二中程序获取的话你可以先选中这个一键订阅元素 getEventListeners($0)  然后拉到他的click事件,
[疑问]  怎么python获取sspanel的订阅地址

最终有个FunctionLocation 功能定位参数,成功定位到代码段
umi.js?v=1.5.5.1646764814759:formatted
获取到代码段

  1. class p extends s.a.Component {
  2.             render() {
  3.                 var e = this.props.subscribeUrl
  4.                   , t = [];
  5.                 return (Object(c["g"])() || Object(c["h"])()) && (t.push({
  6.                     title: "Shadowrocket",
  7.                     href: "shadowrocket://add/sub://" + window.btoa(e + "&flag=shadowrocket").replace(/+/g, "-").replace(///g, "_").replace(/=+$/, "") + "?remark=" + window.settings.title
  8.                 }),
  9.                 t.push({
  10.                     title: "QuantumultX",
  11.                     href: "quantumult-x:///update-configuration?remote-resource=" + encodeURI(JSON.stringify({
  12.                         server_remote: [e + ", tag=" + window.settings.title]
  13.                     }))
  14.                 }),
  15.                 t.push({
  16.                     title: "Surge",
  17.                     href: "surge:///install-config?url=" + encodeURIComponent(e) + "&name=" + window.settings.title
  18.                 }),
  19.                 t.push({
  20.                     title: "Stash",
  21.                     href: "stash://install-config?url=" + encodeURIComponent(e) + "&name=" + window.settings.title
  22.                 })),
  23.                 Object(c["i"])() && t.push({
  24.                     title: "ClashX",
  25.                     href: "clash://install-config?url=" + encodeURIComponent(e) + "&name=" + window.settings.title
  26.                 }),
  27.                 Object(c["l"])() && t.push({
  28.                     title: "Clash",
  29.                     href: "clash://install-config?url=" + encodeURIComponent(e) + "&name=" + window.settings.title
  30.                 }),
  31.                 Object(c["e"])() && (t.push({
  32.                     title: "Clash For Android",
  33.                     href: "clash://install-config?url=" + encodeURIComponent(e) + "&name=" + window.settings.title
  34.                 }),
  35.                 t.push({
  36.                     title: "Surfboard",
  37.                     href: "surge:///install-config?url=" + encodeURIComponent(e) + "&name=" + window.settings.title
  38.                 })),
  39.                 s.a.createElement(s.a.Fragment, null, t.length > 0 ? s.a.createElement(r["a"], {
  40.                     trigger: ["click"],
  41.                     overlay: s.a.createElement(o["a"], null, s.a.createElement(o["a"].Item, {
  42.                         key: "0",
  43.                         onClick: ()=>{
  44.                             u()(this.props.subscribeUrl),
  45.                             a["a"].success(Object(f["formatMessage"])({
  46.                                 id: "u590du5236u6210u529f"
  47.                             }))
  48.                         }
  49.                     }, s.a.createElement("a", null, s.a.createElement("i", {
  50.                         className: "fa fa-copy mr-2"
  51.                     }), Object(f["formatMessage"])({
  52.                         id: "u590du5236u8ba2u9605u5730u5740"
  53.                     }))), t.map(e=>{
  54.                         return s.a.createElement(o["a"].Item, {
  55.                             key: Math.random(),
  56.                             onClick: ()=>{
  57.                                 window.location.href = e.href
  58.                             }
  59.                         }, s.a.createElement("a", null, s.a.createElement("i", {
  60.                             className: "fa fa-share mr-2"
  61.                         }), Object(f["formatMessage"])({
  62.                             id: "u5bfcu5165u5230"
  63.                         }), " ", e.title))
  64.                     }
  65.                     ))
  66.                 }, s.a.createElement("a", {
  67.                     className: "btn btn-sm btn-primary btn-rounded px-3 mr-1 my-1",
  68.                     href: "javascript:void(0);"
  69.                 }, s.a.createElement("i", {
  70.                     className: "fa fa-rss mr-1"
  71.                 }), Object(f["formatMessage"])({
  72.                     id: "u4e00u952eu8ba2u9605"
  73.                 }))) : s.a.createElement("a", {
  74.                     className: "btn btn-sm btn-primary btn-rounded px-3 mr-1 my-1",
  75.                     href: "javascript:void(0);",
  76.                     onClick: ()=>{
  77.                         u()(this.props.subscribeUrl),
  78.                         a["a"].success(Object(f["formatMessage"])({
  79.                             id: "u590du5236u6210u529f"
  80.                         }))
  81.                     }
  82.                 }, s.a.createElement("i", {
  83.                     className: "fa fa-copy mr-1"
  84.                 }), Object(f["formatMessage"])({
  85.                     id: "u590du5236u8ba2u9605"
  86.                 })))
  87.             }
  88.         }
  89.     },

复制代码

接下来不需要我教你了吧?  小伙子技术太烂了,建议去重学JavaScript[疑问]  怎么python获取sspanel的订阅地址

这个是v2board
sspanel和v2board都是开源的

Salta 发表于 2022-4-26 14:39
这个订阅地址是不会变的,你自己获取一次写在你程序后台就行了,他就算订阅到期你再续费,这个订阅地址也不 …

[疑问]  怎么python获取sspanel的订阅地址 只看了开头两页,就没学会过

huzongsi 发表于 2022-4-26 15:00
只看了开头两页,就没学会过

要和网页打交道 html css JavaScript http协议  这些是必不可少的知识。