LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1391|回复: 3

在内网的主机更新3322.org动态域名的脚本该如何修改?

[复制链接]
发表于 2004-5-26 12:21:25 | 显示全部楼层 |阅读模式
3322.org提供的Freebsd下的更新程序,只支持有外部网络接口的主机。可是我的freebsd的主机是安装在内网,通过adsl自带的路由上网的。这样的话,是不能用那个程序更新外网的ip的。
我在论坛中找到这个脚本,用lynx和ez-ipupdate配合,就能更新ip,不过我执行后的提示却是:
gtr@wsgtrsys [/home/gtr/soft] # ./ipup.sh
[219.151.132.166: not found

脚本内容如下,请高手看看是什么问题?
#!/bin/sh

#请修改下面两个参数
HOSTNAME="cjzzf.3322.org"
USERPASS="wsgtrsys:密码"


#请修改下面两个命令的路径
LYNX="/usr/local/bin/lynx"
UPDATER="/usr/local/bin/ez-ipupdate"
ADDRESS=`${LYNX} -source http://www.3322.org/dyndns/getip`
if ["$ADDRESS" != "$LASTADD"]
then
LASTADD=$ADDRESS
${UPDATER} -a ${ADDRESS} -h ${HOSTNAME} -S qdns -u${USERPASS} sleep 5m
fi
_________________
 楼主| 发表于 2004-5-26 12:22:20 | 显示全部楼层
如果将循环去掉。就可以正常更新了。
#!/bin/sh

#请修改下面两个参数
HOSTNAME="cjzzf.3322.org"
USERPASS="wsgtrsys:密码"


#请修改下面两个命令的路径
LYNX="/usr/local/bin/lynx"
UPDATER="/usr/local/bin/ez-ipupdate"
ADDRESS=`${LYNX} -source http://www.3322.org/dyndns/getip`
${UPDATER} -a ${ADDRESS} -h ${HOSTNAME} -S qdns -u${USERPASS} sleep 5m


执行后的提示是:
gtr@wsgtrsys [/home/gtr/soft] # ./ipup.sh
ez-ipupdate Version 3.0.10
Copyright (C) 1999-2000 Angus Mackay.
connected to members.3322.org (61.177.95.125) on port 80.
request successful
发表于 2004-6-4 17:20:44 | 显示全部楼层
两种方法:

1、3322的更新还有更加简单的办法,连客户端都不用安装,也不用配置文件,不用知道IP,使用lynx(一般的Linux, BSD都自带), 下载地址:http://lynx.isc.org/release/ 就可以了,使用方法:

lynx -mime_header -auth=user:pass "http://www.3322.org/dyndns/update?system=dyndns&hostname=myhost.3322.org"

2、写一个简单的shell:


#!/bin/sh

#请修改下面两个参数

HOSTNAME="test.9966.org"
USERPASS="user:pass"

#请修改下面两个命令的路径

LYNX="/usr/bin/lynx"
UPDATER="/usr/local/bin/ez-ipupdate"

ADDRESS=`${LYNX} -source http://www.3322.org/dyndns/getip`
${UPDATER} -a ${ADDRESS} -h ${HOSTNAME} -S qdns -u${USERPASS}
发表于 2004-6-4 17:21:35 | 显示全部楼层
python 的方法:

#! /usr/bin/env python

import httplib
import base64

ps=base64.encodestring('username:password')
ps='Basic '+ps
conn=httplib.HTTPConnection('www.3322.org')
conn.putrequest('GET','/dyndns/update?system=dyndns&hostname=yourname.3322.org')
conn.putheader('Authorization',ps)
conn.putheader('Host','www.3322.org')
conn.putheader('Accept','*/*')
conn.putheader('User-Agent','Mozilla/4.0 (compatible; MSIE 5.00; Windows 98')
conn.putheader('Connection','Keep-Alive')
conn.endheaders()
result=conn.getresponse()
print result.read()
conn.close()
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表