IrineSistiana / mosdns

一个 DNS 转发器
GNU General Public License v3.0
2.85k stars 324 forks source link

[Feature request]提供geopiste相关文件定时自动下载,重载. #49

Closed lostz closed 3 years ago

lostz commented 3 years ago

希望添加的功能

希望提供类似clash http providers 功能,定时自动更新site及ip文件,然后重载. 另外如果有计划支持clash的分流配置文件格式就更好了.谢谢.

kuyagic commented 3 years ago

可以把下面脚本放在 和 dat 同目录 然后把这个脚本加入 crontab 就可以了. 同理 windows 下 powershell 也可以 windows 也有计划任务

#!/bin/bash
dest=`dirname $0`
#echo $dest"/geoip.dat"
curl -L -o $dest"/geoip.dat" "https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geoip.dat"
curl -L -o $dest"/geosite.dat" "https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geosite.dat"
systemctl restart mosdns
lostz commented 3 years ago

@kuyagic 这样不好,因为要考虑到文件下载失败,其实要有逻辑在里面,有msodns控制比较好

rampageX commented 3 years ago

反对,完全没必要,又不是人人都要用 geo 那几个数据文件。要用就脚本也不难。

加那个缓存支持 redis 其实我就很反对,一个没几个人用的功能增加了差不多 2M 体积;

mosdns 已经足够多功能了,不能为了傻瓜化去支持这那几个脚本就能做的事情。如果可以我倒希望编译的时候可以真正的模块化,比如想要什么就编译什么,dnsproxy 那部分我感觉就没什么必要,本来 mos-chinadns 的 DNS 模块就很轻巧。

IrineSistiana commented 3 years ago

同。我也觉得脚本更好。10 行脚本就完事了

@rampageX 确实,加完 redis 发现大了不少。不过 redis 确实比 mosdns 内置的那个缓存要好。(如果量上去了的话....)

如果可以我倒希望编译的时候可以真正的模块化,比如想要什么就编译什么,dnsproxy 那部分我感觉就没什么必要

dnsproxy 的 DoQ 依赖了 quic-go,这包大的很。release 图方便就把插件全带上了。

想要什么就编译什么

这个可以有

https://github.com/IrineSistiana/mosdns/blob/main/dispatcher/plugin/enabled_plugin.go

注释掉就行了。

lostz commented 3 years ago

我觉得mosdns应该是开箱即用的东西,然后基于模块化给用户自己选择.因为额外的脚本,其实对于很多用户的维护成本其实很高的.

mkanako commented 3 years ago

这种功能确实没啥必要让mosdns来实现,一个脚本就完事了

不过如果mosdns开放插件系统出来,让这种功能可以通过自己写插件来实现那就更棒了😎

IrineSistiana commented 3 years ago

mosdns开放插件系统

有啊, mosdns 就是插件化的呀. 要是你说的"开放"是指热加载,也有.只不过,(一词概括),很坑.

wiki 里有个页面. 除了接口, 不保证 公用函数 稳定.

IrineSistiana commented 3 years ago

这个 issue 先关了, 有事请进 discussions.