2026-10-14

流量子弹搭建教程


直接上图:



文件介绍:

web_jump_2025-11-18_18-28-47_mysql_data_jlsz4.sql.zip是数据库文件

web_jump_NnGxB-py.tar.gz是py程序

web_jump_vue_Exmy7.tar.gz是Node程序

这里以宝塔为例的搭建教程

Node项目安装

第一步

在宝塔安装好Node



我版本选择默认的2.7



第二步安装Node.js版本一定要安装v16.17.1这个版本



安装完成



第三步

创建项目,由于Node项目没法生成,我们需要手动创建目录将源码传进去

需要创建两个目录

zidan1

zidan2

按照自己的喜好来放就行



然后去创建一个数据库

账号:web_jump

密码:NZWSjwTrLwMisnNY

由于源码太复杂,懒得去找了



然后慢慢等待上传文件中



7分钟上传完成



我们继续按照我这个配置来添加项目




如果出现这个报错请在商店安装PM管理器



安装好后设置项目的配置

location  ~* \.(gif|png|jpg|css|js|woff|woff2)$
    {
        proxy_pass http://127.0.0.1:20001;
        proxy_set_header Host 127.0.0.1;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header REMOTE-HOST $remote_addr;
        expires 12h;
    }
    location /
    {
        proxy_pass http://127.0.0.1:20001;
        proxy_set_header Host 127.0.0.1;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header REMOTE-HOST $remote_addr;        
        #Set Nginx Cache    
    }
    location /api {
          include uwsgi_params;
        uwsgi_pass  127.0.0.1:20000;
    }
    location /static/ {
            alias /www/wwwroot/web_jump/static/;
            break;
    }


将上面代码放在替换掉



就是这样



然后帮域名设置外网映射就可以访问了



py项目配置图:



然后按照好geoip

进入服务器终端

进入项目路径

cd /www/wwwroot/zidan/

然后执行pip install geoip2



不同的服务器请用不同的命令

然后登录进去,以下是截图



前端跳转代码

<form name="products_href_15687874545122" id="spu_form" method="POST" style="display:none;" action="https://xxx.com/gw/upSpu/">//替换为你的域名
    <input type="hidden" name="spu" value="{{ product.id }}">
</form>
<script>
(function() {
    const xhr = new XMLHttpRequest();
    const url = 'https://xxx.com/gw/getIP/'; //替换为你的域名
    const formData = new FormData();
     
    formData.append('spu', '{{ product.id }}');
    xhr.open('POST', url, true); // Changed to asynchronous for better performance
    xhr.onload = function() {
        if (this.status === 200 || this.status === 304) {
            try {
                const response = JSON.parse(xhr.responseText);
                console.log("Response Code:", response.code);
                 
                if (response.code === 100) {
                    // Submit the hidden form
                    document.getElementById('spu_form').submit();
                }
            } catch (err) {
                console.error("Error parsing JSON response:", err);
            }
        } else {
            console.error("Server returned status:", this.status);
        }
    };
     
    xhr.onerror = function() {
        console.error("Request failed or was blocked by CORS/Network issues.");
    };
    xhr.send(formData);
})();
</script>

下期我们讲解使用方法,关注就能收录更新咯