使用PHP批量获取kali镜像下载链接,指版本快速获取输出链接

使用PHP批量获取kali镜像下载链接,包含新版和指定旧版,快速获取输出所有下载链接

代码简单粗暴使用PHP写的,随便创建一个PHP文件复制到里面然后访问即可获取

<?php

// 定义目标URL
$url = "http://old.kali.org/kali-images/";

// 获取HTML内容
$html = file_get_contents($url);

// 解析HTML内容
$dom = new DOMDocument();
@$dom->loadHTML($html);

// 获取所有链接
$links = [];
foreach ($dom->getElementsByTagName('a') as $link) {
    $href = $link->getAttribute('href');
    $links[] = $href;
}

// 提取版本号
$versions = [];
foreach ($links as $link) {
    if (preg_match('/kali-(\d{4}\.\d+)/', $link, $matches)) {
        $versions[] = $matches[1];
    }
}

// 获取最新版本和2016年之后的版本
$latest_version = "";
$versions = array_unique($versions);
rsort($versions);

foreach ($versions as $version) {
    if (version_compare($version, "2016", ">=")) {   // 默认获取2016到新版
        // 获取该版本对应的链接
        $latest_version = $version;
        $latest_version_url = rtrim($url, '/') . '/' . "kali-$latest_version/";
        echo "Latest version: $latest_version\n";
        echo "Latest version URL: $latest_version_url\n";

        // 获取该版本的ISO文件链接
        $iso_urls = [];
        $latest_version_html = file_get_contents($latest_version_url);
        $latest_version_dom = new DOMDocument();
        @$latest_version_dom->loadHTML($latest_version_html);

        // 遍历该版本页面中的链接,查找以 .iso 结尾的文件链接
        foreach ($latest_version_dom->getElementsByTagName('a') as $iso_link) {
            $iso_href = $iso_link->getAttribute('href');
            // 只添加以 .iso 结尾且不包含 .torrent 的链接
            if (strpos($iso_href, '.iso') !== false && strpos($iso_href, '.torrent') === false) {
                $iso_urls[] = rtrim($latest_version_url, '/') . '/' . $iso_href;
            }
        }

        // 输出该版本对应的ISO文件链接
        if (!empty($iso_urls)) {
            echo "ISO URLs for version $latest_version:\n";
            foreach ($iso_urls as $iso_url) {
                if (preg_match('/\.iso$/', $iso_url)) {
                    echo "<li><a href='$iso_url'>$iso_url</a></li>";
                    // 写入文件,并添加换行符
                    file_put_contents("kali-iso.txt", "$iso_url\n", FILE_APPEND);
                }
            }
            echo "</ul>";
        } else {
            echo "No ISO files found for version $latest_version.\n";
        }
    }
}

?> 

免责声明:
1:如非特殊说明,本站对提供的素材及源码不拥有任何权利,其版权归原著者拥有。
2:本站内容均由互联网收集整理、网友上传,并且以技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。
3:本站部分收费内容仅作本站日常维护费用,若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
4:请勿将源码、软件进行商业交易、转载等行为,源码、软件只为研究、学习所提供,该软件使用后发生的一切问题与本站无关。
5:站内资源如有侵犯你版权的,请来信1058364519@qq.com指出,本站将立即改正。
6:素材源码均为网络收集,不承担任何版权问题,不提供任何技术支持!
7:严重警告本站木屋模型、木屋CAD图纸、木屋效果图未经允许不得转载:凡木屋模型及CAD文章由设计师QINYUHUI设计制作,享有内容所有权,文章仅在QINYUHUI名下网站、信息平台或嘿很有内涵微博发布,未经授权违者必究!!!

MASUC » 使用PHP批量获取kali镜像下载链接,指版本快速获取输出链接