use deep copy

This commit is contained in:
zu1k
2020-08-18 16:42:30 +08:00
parent f1ec6c6bf8
commit ef44ef7436
3 changed files with 122 additions and 80 deletions

View File

@@ -43,7 +43,10 @@ func CrawlGo() {
cache.SetProxies("allproxies", proxies)
// 可用性检测
proxies = proxy.CleanProxies(provider.Clash{Proxies: proxies}.CleanProxies())
proxiesUseful := proxy.CleanProxies(provider.Clash{Proxies: proxies}.CleanProxies())
proxies = make(proxy.ProxyList, len(proxiesUseful))
copy(proxies, proxiesUseful)
log.Println("CrawlGo clash useable node count:", len(proxies))
// 排序和重命名

View File

@@ -109,6 +109,7 @@
<p>Clash proxy-provider(Shadowrocket添加订阅方式可用)<a href="https://proxy.tgbot.co/clash/proxies">https://proxy.tgbot.co/clash/proxies</a></p>
<br>
<p>筛选代理类型(此种方式你只能自己维护配置文件)https://proxy.tgbot.co/clash/proxies?type=ss,ssr,vmess</p>
<p>所有节点的Provider(不是都可以用)<a href="https://proxy.tgbot.co/clash/proxies?type=all">https://proxy.tgbot.co/clash/proxies?type=all</a></p>
<br>
<p>抓取程序已开源:<a href="https://github.com/zu1k/proxypool">https://github.com/zu1k/proxypool</a></p>
</div>

View File

@@ -1,89 +1,127 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="HandheldFriendly" content="True">
<title>免费节点</title>
<style type='text/css'>
body {
background-color: white;
color: #333333;
font-family: Arial, sans-serif;
margin: 0;
padding: 36px;
line-height: 1;
font-size: 14px; }
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="HandheldFriendly" content="True">
<title>免费节点</title>
<style type='text/css'>
body {
background-color: white;
color: #333333;
font-family: Arial, sans-serif;
margin: 0;
padding: 36px;
line-height: 1;
font-size: 14px;
}
.section {
margin-bottom: 36px; }
.section.friendly {
color: #222222; }
.section.friendly h1 {
font-size: 26px;
background-color: #dad8e4;
padding: 18px 22px 15px 22px;
margin: 0;
overflow: hidden; }
.section.friendly h1 strong {
display: inline-block;
float: left; }
.section.friendly h1 small {
display: inline-block;
float: right;
text-align: right;
font-size: 18px;
padding-top: 4px;
color: #333333; }
.section.friendly .article {
border: 4px solid #dad8e4;
padding: 24px 18px 18px 18px; }
.section.friendly .article h3 {
font-size: 20px;
margin: 0 0 18px 0; }
.section.friendly .article a {
color: #6b6ceb; }
.section.friendly .article a:visited {
color: #1d1d3b; }
.section.friendly .article p {
font-size: 14px; }
.section.friendly .article ul {
list-style-type: square; }
.section.original {
background-color: #eeeeee;
color: #444444; }
.section.original h2 {
background-color: #dddddd;
margin: 0;
padding: 18px 22px 18px 22px;
font-size: 20px; }
.section.original pre {
margin: 0;
padding: 18px 22px 18px 22px;
overflow: auto;
font-family: monaco, monospaced; }
.section.original pre code {
display: block;
font-size: 11px;
width: 100%; }
</style>
.section {
margin-bottom: 36px;
}
.section.friendly {
color: #222222;
}
.section.friendly h1 {
font-size: 26px;
background-color: #dad8e4;
padding: 18px 22px 15px 22px;
margin: 0;
overflow: hidden;
}
.section.friendly h1 strong {
display: inline-block;
float: left;
}
.section.friendly h1 small {
display: inline-block;
float: right;
text-align: right;
font-size: 18px;
padding-top: 4px;
color: #333333;
}
.section.friendly .article {
border: 4px solid #dad8e4;
padding: 24px 18px 18px 18px;
}
.section.friendly .article h3 {
font-size: 20px;
margin: 0 0 18px 0;
}
.section.friendly .article a {
color: #6b6ceb;
}
.section.friendly .article a:visited {
color: #1d1d3b;
}
.section.friendly .article p {
font-size: 14px;
}
.section.friendly .article ul {
list-style-type: square;
}
.section.original {
background-color: #eeeeee;
color: #444444;
}
.section.original h2 {
background-color: #dddddd;
margin: 0;
padding: 18px 22px 18px 22px;
font-size: 20px;
}
.section.original pre {
margin: 0;
padding: 18px 22px 18px 22px;
overflow: auto;
font-family: monaco, monospaced;
}
.section.original pre code {
display: block;
font-size: 11px;
width: 100%;
}
</style>
</head>
<body>
<div class='container'>
<div class='section friendly'>
<h1><strong>免费节点</strong></h1>
<div class='article'>
<p>自动抓取tg频道、订阅地址、公开互联网上的ss、ssr、vmess节点信息聚合去重后提供节点列表每10分钟更新</p>
<br>
<p>Clash配置文件<a href="https://proxy.tgbot.co/clash/config">https://proxy.tgbot.co/clash/config</a> <a href="clash://install-config?url=https://proxy.tgbot.co/clash/config">一键导入</a></p>
<p>Clash proxy-provider(Shadowrocket添加订阅方式可用)<a href="https://proxy.tgbot.co/clash/proxies">https://proxy.tgbot.co/clash/proxies</a></p>
<br>
<p>Surge配置文件<a href="https://proxy.tgbot.co/surge/config">https://proxy.tgbot.co/surge/config</a> <a href="surge3:///install-config?url=https://proxy.tgbot.co/surge/config">一键导入</a></p>
<p>Surge proxy list<a href="https://proxy.tgbot.co/surge/proxies">https://proxy.tgbot.co/surge/proxies</a></p>
<br>
<p>抓取程序已开源:<a href="https://github.com/zu1k/proxypool">https://github.com/zu1k/proxypool</a></p>
</div>
</div>
<div class='section friendly'>
<h1><strong>免费节点</strong></h1>
<div class='article'>
<p>自动抓取tg频道、订阅地址、公开互联网上的ss、ssr、vmess节点信息聚合去重后提供节点列表每10分钟更新</p>
<br>
<h5><a href="/clash">Clash</a></h5>
<p>Clash配置文件<a href="https://proxy.tgbot.co/clash/config">https://proxy.tgbot.co/clash/config</a> <a
href="clash://install-config?url=https://proxy.tgbot.co/clash/config">一键导入</a></p>
<p>Clash proxy-provider(Shadowrocket添加订阅方式可用)<a href="https://proxy.tgbot.co/clash/proxies">https://proxy.tgbot.co/clash/proxies</a>
</p>
<p>所有节点的Provider(不是都可以用)<a href="https://proxy.tgbot.co/clash/proxies?type=all">https://proxy.tgbot.co/clash/proxies?type=all</a>
</p>
<br>
<h5><a href="/surge">Surge</a></h5>
<p>Surge配置文件<a href="https://proxy.tgbot.co/surge/config">https://proxy.tgbot.co/surge/config</a> <a
href="surge3:///install-config?url=https://proxy.tgbot.co/surge/config">一键导入</a></p>
<p>Surge proxy list<a href="https://proxy.tgbot.co/surge/proxies">https://proxy.tgbot.co/surge/proxies</a>
</p>
<br>
<p>抓取程序已开源:<a href="https://github.com/zu1k/proxypool">https://github.com/zu1k/proxypool</a></p>
</div>
</div>
</div>
</body>
</html>