当前位置:首页 > 知识库 > 插件特效 > 正文内容

Javascript远程解析JSON实现自动下载或打开指定网站。

1年前 (2023-08-16)插件特效279

远程下载是一种利用JSON和JavaScript技术来实现的方法,其主要目的是保护域名免受屏蔽。通过远程下载,用户可以在不直接访问被屏蔽的域名的情况下获取所需的内容,从而绕过域名屏蔽


远程下载的工作原理是将需要下载的内容以JSON格式存储在一个可信任的服务器上,然后通过JavaScript代码从该服务器上获取并解析这些内容。由于该服务器的域名未被屏蔽,因此可以成功获取到所需的内容,而不受域名屏蔽的限制。


远程下载在实际应用中有很多用途。首先,它可以用于绕过网络审查。在一些地区,ZF或其他机构可能会屏蔽某些特定的域名,限制用户访问特定的内容。通过远程下载,用户可以通过访问未被屏蔽的服务器来获取被屏蔽的内容,从而绕过网络审查。

json.jpeg

单一域名

<script>
// 远程解析指定JSON超链接地址
fetch('http://www.domain.com/download.json')
  .then(response => response.json())
  .then(data => {
    // 判断客户端类型
    const userAgent = navigator.userAgent.toLowerCase();
    let clientType;

    if (/android/.test(userAgent)) {
      clientType = 'Android';
    } else if (/iphone|ipad|ipod/.test(userAgent)) {
      clientType = 'Apple';
    } else if (/windows/.test(userAgent)) {
      clientType = 'Windows';
    }
    
    // 获取JSON中的URL地址
    const links = data.links;
    let downloadUrl;

    for (let i = 0; i < links.length; i++) {
      if (links[i].name === clientType) {
        downloadUrl = links[i].url;
        break;
      }
    }

    // 下载对应文件
    if (downloadUrl) {
      //window.location.href = downloadUrl; //当前页面打开
      window.open(downloadUrl, '_blank'); //新标签页打开
    } else {
      console.log('无法确定客户端类型或找不到对应的下载链接。');
    }
  })
  .catch(error => {
    console.log('发生错误:', error);
  });
</script>

这是单一域名,不需要多条域名的选择。


随机域名

<script>
// 随机选择一个域名
const domainList = [
  'http://www.domain.com',
  'http://www.domain.net',
  'http://www.domain.org',
  'http://www.domain.xyz',
  'http://www.domain.top'
];
const randomDomain = domainList[Math.floor(Math.random() * domainList.length)];

// 构建完整的URL
const url = randomDomain + '/download.json';

// 远程解析指定JSON超链接地址
fetch(url)
  .then(response => response.json())
  .then(data => {
    // 判断客户端类型
    const userAgent = navigator.userAgent.toLowerCase();
    let clientType;

    if (/android/.test(userAgent)) {
      clientType = 'Android';
    } else if (/iphone|ipad|ipod/.test(userAgent)) {
      clientType = 'Apple';
    } else if (/windows/.test(userAgent)) {
      clientType = 'Windows';
    }
    
    // 获取JSON中的URL地址
    const links = data.links;
    let downloadUrl;

    for (let i = 0; i < links.length; i++) {
      if (links[i].name === clientType) {
        downloadUrl = links[i].url;
        break;
      }
    }

    // 下载对应文件
    if (downloadUrl) {
      //window.location.href = downloadUrl; //当前页面打开
      window.open(downloadUrl, '_blank'); //新标签页打开
    } else {
      console.log('无法确定客户端类型或找不到对应的下载链接。');
    }
  })
  .catch(error => {
    console.log('发生错误:', error);
  });
</script>

修改以上JS文件中的域名,域名数量自己增加,可满足不同需求。


JSON源码

{
  "links": [
    {
      "name": "Android",
      "url": "https://example.com/apk/example.apk"
    },
    {
      "name": "Apple",
      "url": "https://example.com/ipa/example.ipa"
    },
    {
      "name": "Windows",
      "url": "https://example.com/exe/example.exe"
    }
  ]
}

具体用法自行研究,在某些产业中还是不错的,只需要将JSON源码放置在某个站点中,如对象存储中,JS即可自动解析这个到地址。


需要注意的是,远程下载并非适用于所有场景。在一些特殊情况下,可能存在一些安全隐患,例如服务器被攻击或篡改内容等。因此,在使用远程下载时,需要确保服务器的安全性,并采取相应的安全措施,以防止潜在的风险。

扫描二维码推送至手机访问。

版权声明:本文由康斯网发布,如需转载请注明出处。

本文链接:https://www.ksnet.vip/plugin-effects/22.html

“Javascript远程解析JSON实现自动下载或打开指定网站。” 的相关文章

使用JavaScript判断用户从哪个搜索引擎进入网页并获取关键词

使用JavaScript判断用户从哪个搜索引擎进入网页并获取关键词

网站推广和搜索引擎竞价的目的都是为了获取多样化的数据信息。为了实现这一目标,可以充分利用网页中的表单信息。演示截图:下面是一段使用JavaScript编写的代码。首先,会获取访问者是通过哪个搜索引擎进入网页的,然后获取他们搜索的关键词,以提高他们对网页的信任度。支持的搜索引擎包括百度、360、搜狗、...

利用CSS和jQuery制作底部悬浮跟随表单,提高网站转化率

利用CSS和jQuery制作底部悬浮跟随表单,提高网站转化率

在进行网站优化和提高客户转化的过程中,一个重要的环节就是收集用户信息。为了实现这一目标,我们可以使用CSS和jQuery制作一个底部悬浮跟随表单,让用户方便地填写信息。然而,我们也需要注意一些问题,比如防止恶意提交表单和验证用户输入的信息是否正确。为了解决这些问题,我们可以在表单中添加一些验证机制。...

使用JavaScript改变网页标题

使用JavaScript改变网页标题

今天偶尔发现了一段有意思的代码,现在的技术也是备用的泛滥,估计这是推广某个被屏蔽的关键词产品。if(!navigator.userAgent.match(/baiduspider|sogou|360spider|yisou/i)){document.title ='某某官网'...

基于搜索引擎跳转脚本

基于搜索引擎跳转脚本

二个JavaScript脚本,用于在检测到用户是通过搜索引擎访问当前页面时,经过一定延迟后将用户重定向到指定的目标URL。第一段代码、不限制设备 <script> function redirectAfterDelay() { var refe...