DnsGit使用Git管理域名 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zewenzhang
V2EX    Node.js

DnsGit使用Git管理域名

  •  
  •   zewenzhang 2013-05-20 11:20:11 +08:00 6171 次点击
    这是一个创建于 4579 天前的主题,其中的信息可能已经有所发展或是发生改变。
    网址:http://dnsgit.com

    你还在用网站管理域名吗?推荐一种更新潮的方式,使用命令行就可以搞定一切,支持各种回滚和版本控制,一键将域名还原到历史状态有木有!


    特点:
    1. 用命令行就可以搞定域名管理。
    2. 任意回滚域名记录。
    3. 后端解析由DNSPod提供,稳定和安全有保障。
    4. 用github仓库生成器可以一键将DNSPod域名记录生成github仓库,方便用户转入。
    5. 网站同时支持http和https

    工作原理
    1. 后端解析采用DNSPod。
    2. Git仓库选用GitHub。
    3. 在GitHub仓库上加hook,所以每次推代码上去,DnsGit的都会得到通知,分析文件并调用DNSPod接口。

    使用方法:
    1. 确保你有DNSPod帐号,且域名已经转入DNSPod(也可以随便找个不存在的域名做测试)
    2. 用DNSPod OAuth登录DnsGit
    3. 使用“Create GitHub Repo”功能自动生成仓库(这里需要GitHub OAuth)
    4. 按照文档中的格式,修改文件,推代码
    5. 解析生效

    语法:
    每个域名是一个文件,文件名就是域名
    每一行是一条记录例如:A(@, 1.1.1.1, 默认, 600)

    -- @type[required] = record type(A, CNAME, MX, NS ...)
    -- @name[required] = relative name
    -- @value[required] = record value( iPad ress, domain ...)
    -- @ttl[optional] = TTL (default: user default TTL)
    -- @mx[optional] = MX Priority (default: 5)
    type(name, value, ttl, mx)

    建议只填写 type(name, value),TTL采用默认值,否则你要确保TTL不会超出DNSPod的限制(不然添加不上哦)。

    下一版本:
    1. 支持微信和短信通知
    2. 支持历史记录在网页的查看

    技术选型:
    后端:Node.js + express
    前端:requirejs + backbone
    28 条回复    1970-01-01 08:00:00 +08:00
    honk
        1
    honk  
       2013-05-20 11:25:11 +08:00
    不!

    " iPad ress" 我看了半天才明白
    wickydong
        2
    wickydong  
       2013-05-20 11:28:40 +08:00
    顶,感受了一下,非常方便,可以回滚,再也不怕误删记录了,擦
    Zhongwei
        3
    Zhongwei  
       2013-05-20 11:28:50 +08:00
    第一次使用真的需要勇气 --- DnsGit 首位小白鼠用户
    wjeasys
        4
    wjeasys  
       2013-05-20 11:29:20 +08:00
    进入这个帖子的css让人看起来很奇葩
    zewenzhang
        5
    zewenzhang  
    OP
       2013-05-20 11:31:32 +08:00
    @wjeasys 样式确实没用心做,直接bootstrap拿过来的,前端嘛最开森的就是改版了,会改版的。
    zewenzhang
        6
    zewenzhang  
    OP
       2013-05-20 11:31:57 +08:00
    @Zhongwei 您那是一个月前的事情了
    zewenzhang
        7
    zewenzhang  
    OP
       2013-05-20 11:38:28 +08:00
    @zewenzhang 哎。。,你说的是帖子,被误伤了
    sbilly
        8
    sbilly  
       2013-05-20 12:21:30 +08:00
    想法的确不错~ :)
    yangzh
        9
    yangzh  
       2013-05-20 12:29:17 +08:00
    这样子不就把自己的所有 dns 配置暴露出来了吗?
    yangzh
        10
    yangzh  
       2013-05-20 12:36:14 +08:00
    @honk iPad ress 什么意思?

    另外建议 “默认”改为 “default” 或者两个都行。当然为了和 dnspod 对应也可以不改。
    hit9
        11
    hit9  
       2013-05-20 12:39:59 +08:00
    想法很有意思!
    Sunyanzi
        12
    Sunyanzi  
       2013-05-20 12:44:29 +08:00
    @zewenzhang 我只是想说 ... 难道不是 iPad dress 么 ..?
    jiangle
        13
    jiangle  
       2013-05-20 12:49:04 +08:00
    不错的样子,支持了。
    0racleTink
        14
    0racleTink  
       2013-05-20 12:51:57 +08:00
    好高级
    chilaoqi
        15
    chilaoqi  
       2013-05-20 12:57:11 +08:00
    Good idea!
    nice work!
    47jm9ozp
        16
    47jm9ozp  
       2013-05-20 13:09:13 +08:00
    不错的样子

    不过看到 ”3. 后端解析由DNSPod提供,稳定和安全有保障。“ 就不敢用了。。dnspod前段时间抽风好多次
    caomu
        17
    caomu  
       2013-05-20 13:14:23 +08:00 via Android   1
    @yangzh 本来也能dig出来吧。
    Frannk
        18
    Frannk  
       2013-05-20 13:15:19 +08:00
    很不错
    zewenzhang
        19
    zewenzhang  
    OP
       2013-05-20 13:16:53 +08:00
    @Sunyanzi 不知道什么是 iPad dress,没google到,请教一下
    zewenzhang
        20
    zewenzhang  
    OP
       2013-05-20 13:17:50 +08:00   1
    @yangzh dns配置本来就是公开的,@caomu说的对,可以dig出来。
    zewenzhang
        21
    zewenzhang  
    OP
       2013-05-20 13:22:14 +08:00
    @yangzh 目前不考虑提供英文线路的解决方案,因为DNSPod经常增加线路,字典难以维护。常用的就是“默认”线路,省略就好了。
    shierji
        22
    shierji  
       2013-05-20 19:38:28 +08:00
    感觉……好蛋疼的样子。。。。
    sumanx
        23
    sumanx  
       2013-05-20 20:03:57 +08:00
    @zewenzhang iPad dress可拆为IP address或 iPad dress,这帮人在耍冷呢。
    vietor
        24
    vietor  
       2013-05-21 09:29:47 +08:00
    @shierji 我看着也挺蛋疼的。

    使用Git作为前端的DNS更新方式,算是一种不错的方式,对DNS集群还是非常有意义的,只是和其他前端没本质区别,倒是省去了使用WEB前端的罗嗦,可能楼主对WEB不太感冒,喜欢无界面的东东。
    honk
        25
    honk  
       2013-05-21 10:02:14 +08:00
    @yangzh LZ IP adress 成了 iPad dress
    zewenzhang
        26
    zewenzhang  
    OP
       2013-05-27 21:47:19 +08:00
    @honk 晕,原来是由我引起的血案!
    chuangbo
        27
    chuangbo  
       2013-05-31 16:39:28 +08:00 via iPad
    好棒~管理文本看起来就是比在页面上点鼠标感觉靠谱,还能记录所有历史。
    就是编写的格式我觉得最好还是使用一个众所周知的规范,比如 ini yaml json 甚至 python 脚本,因为我经常会因为不知道转义规则而困惑。我记得还以前有个叫 luadns 的东西。
    zewenzhang
        28
    zewenzhang  
    OP
       2013-06-08 14:38:21 +08:00
    @chuangbo 谢谢chuangbo的支持,以后会支持zone文件,luadns现在是我的竞争对手,我在设计语法时参考了lua的语法
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3372 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 10:45 PVG 18:45 LAX 02:45 JFK 05:45
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86