V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zewenzhang
V2EX  ›  Node.js

DnsGit——使用Git管理域名

  •  
  •   zewenzhang · 2013-05-20 11:20:11 +08:00 · 5694 次点击
    这是一个创建于 4207 天前的主题,其中的信息可能已经有所发展或是发生改变。
    网址: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
    不错的样子,支持了。
    sophy
        14
    sophy  
       2013-05-20 12:51:57 +08:00
    好高级
    chilaoqi
        15
    chilaoqi  
       2013-05-20 12:57:11 +08:00
    Good idea!
    nice work!
    ooxxcc
        16
    ooxxcc  
       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   ·   实用小工具   ·   3321 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 12:19 · PVG 20:19 · LAX 04:19 · JFK 07:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.