Coder Social home page Coder Social logo

增加一种判断方案 about smartdns HOT 8 CLOSED

fonlan avatar fonlan commented on August 28, 2024
增加一种判断方案

from smartdns.

Comments (8)

pymumu avatar pymumu commented on August 28, 2024

IP地址列表体积会不小的,占用空间会很多,对于CGN网络下,IP地址列表可能无效,没有判断的途径。

这样做的原因是什么?检测耗时,耗CPU?

from smartdns.

fonlan avatar fonlan commented on August 28, 2024

IP地址列表也可以在程序安装的时候或者运行的时候动态下载。只是觉得本地判断下总应该比实际测速要来得快,SmartDNS的目的不就是为了极致的速度么。这功能可以在配置文件里加开关的,由用户自己决定是否开启。CGN网络如果不适用就在配置文件里禁用就好了。

from smartdns.

pymumu avatar pymumu commented on August 28, 2024

我想了一下,对于你说的这个方案,没有特别好的办法。
IP地址库不容易处理,并且后面IPV6的话,基本就不可行了。即使下载也会占用很大的存储空间。
还有,现在大部分用户其实都是CGN网络了,如果大部分用户都不用这功能的话,价值就不是很大了。

所以,目前暂不考虑你的这个建议。

如果是为了DNS解析速度的话,可以强制将TTL调大,这样smartdns就会一直缓存。查询的时候,直接内存返回结果了。

from smartdns.

fonlan avatar fonlan commented on August 28, 2024

好吧,我也只是个脑洞给个建议,不好使就算了吧

from smartdns.

cjameslynn avatar cjameslynn commented on August 28, 2024

#!/bin/sh
#借用koolshare的国内IP库
curl 'https://raw.githubusercontent.com/koolshare/ledesoft/master/policy/policy/policy/telecom.txt' |grep -v "routes" > /etc/routeIP/telecom.txt
curl 'https://raw.githubusercontent.com/koolshare/ledesoft/master/policy/policy/policy/unicom.txt' |grep -v "routes" > /etc/routeIP/unicom.txt
curl 'https://raw.githubusercontent.com/koolshare/ledesoft/master/policy/policy/policy/mobile.txt' |grep -v "routes" > /etc/routeIP/mobile.txt
curl 'https://raw.githubusercontent.com/koolshare/ledesoft/master/policy/policy/policy/chnroute.txt' |grep -v "routes" > /etc/routeIP/chnroute.txt
#以下分别把下载好的运营商IP集写入到ipset,对应ipset名称为 chnroute/telecom/mobile和unicom,可自行修改
##电信IP
ROUTES=/etc/routeIP/telecom.txt
ipset flush telecom
ipset -N telecom nethash
for network in cat $ROUTES; do
ipset -A telecom $network
done

##移动IP
ROUTES=/etc/routeIP/mobile.txt
ipset flush mobile
ipset -N mobile nethash
for network in cat $ROUTES; do
ipset -A mobile $network
done

##联通IP
ROUTES=/etc/routeIP/unicom.txt
ipset flush unicom
ipset -N unicom nethash
for network in cat $ROUTES; do
ipset -A unicom $network
done

##国内IP
ROUTES=/etc/routeIP/chnroute.txt
ipset flush chnroute
ipset -N chnroute nethash
for network in cat $ROUTES; do
ipset -A chnroute $network
done

from smartdns.

cjameslynn avatar cjameslynn commented on August 28, 2024

得到的ipset可以用到负载均衡插件的规则里

from smartdns.

pymumu avatar pymumu commented on August 28, 2024

@fonlan
Release 18优化了响应时间,在测速的情况下也能保证响应时效。
可以获取验证。

Release 18也新增了ipset的支持,有需要可以使用。

from smartdns.

fonlan avatar fonlan commented on August 28, 2024

好的,已更新

from smartdns.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.