Pages

Saturday, 21 November 2020

搭建一个用网络爬虫爬取免费翻墙节点信息的网站

今天讲讲怎么在vps上搭建一个网络爬虫,自动抓取tg频道、订阅地址、公开互联网上的ss、ssr、vmess、trojan节点信息,聚合去重后提供节点列表。俗称“菜篮子”,下面详细讲讲怎么搭建。

首先,添加你的域名的a记录到你的vps的ip.

申请SSL证书.

登陆你的vps,安装proxypool

proxypool项目地址:https://github.com/Sansui233/proxypool

下载proxypool

wget -O - https://github.com/Sansui233/proxypool/releases/download/v0.4.4/proxypool-linux-amd64-v0.4.4.gz | gzip -d > /usr/bin/proxypool

chmod +x /usr/bin/proxypool

下载config.yaml和source.yaml配置文件,首先新建一个pool文件夹存放配置文件:

1
2
3
4
5
mkdir /etc/pool && cd /etc/pool

wget https://raw.githubusercontent.com/Sansui233/proxypool/master/config/config.yaml

wget https://raw.githubusercontent.com/Sansui233/proxypool/master/config/source.yaml

修改config.yaml文件

vi /etc/pool/config.yaml

1
2
3
4
5
6
7
8
domain: example.com  # 这里修改成你的域名
port: # 默认内部端口 12580

source-files:
# 这里是source.yaml文件路径,需要添加订阅源可以在里面改
- /etc/pool/source.yaml
# 下面是扫描间隔时长,默认60分钟,单位分钟
crontime: 120 # default 60

proxypool配置systemd服务

vi /etc/systemd/system/proxypool.service 填入下面内容:

1
2
3
4
5
6
7
8
9
10
11
[Unit]
Description=proxypool
After=network-online.target

[Service]
Type=simple
Restart=on-abort
ExecStart=/usr/bin/proxypool -c /etc/pool/config.yaml

[Install]
WantedBy=default.target

重载systemd服务 systemctl daemon-reload

服务端配置Nginx

安装Nginx

apt install nginx

配置Nginx的Server文件

vi /etc/nginx/sites-available/default

修改配置如下,对应修改域名和证书路径:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
server {
listen 80;
listen [::]:80;
server_name xxxx.com; #域名
root /var/www; #网站根目录,可以挂个探针什么的
#下面是https跳转
location / {
return 301 https://$server_name$request_uri;
}
}

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name xxxx.com; #域名
root /var/www;

ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_certificate /etc/letsencrypt/live/xxxx.com/fullchain.pem; #证书路径,把里面的xxxx.com改成你的域名
ssl_certificate_key /etc/letsencrypt/live/xxxx.com/privkey.pem;
# 下面是对应proxypool转发12580端口
location / {
proxy_redirect off;
proxy_pass http://127.0.0.1:12580/;
}
}

检查nginx:

nginx -t

运行nginx

systemctl start nginx

成功运行nginx后,就可以运行proxypool了。运行命令如下:

systemctl start proxypool #启动

systemctl enable proxypool #添加开机启动

systemctl status proxypool #查看运行状态

systemctl restart proxypool #重新启动

到此,也就搭建完成了。可以在浏览器打开你的域名查看“菜篮子”的爬取具体信息。例子网站:

https://proxypool.ga/,https://proxypoolss.tk/

参考:

No comments:

Post a Comment