Submitted by gouki on 2013, September 2, 11:08 PM
获取公网IP的方法其实很简单,最简单的就是利用dnspod的服务,echo `nc ns1.dnspod.net 6666`,立刻就出来了。于是hugozhu的一段代码就是这样写的:
XML/HTML代码
- func GetLocalPublicIpUseDnspod() (string, error) {
- timeout := time.Nanosecond * 30
- conn, err := net.DialTimeout("tcp", "ns1.dnspod.net:6666", timeout*time.Second)
- defer func() {
- if x := recover(); x != nil {
- log.Println("Can't get public ip", x)
- }
- if conn != nil {
- conn.Close()
- }
- }()
- if err == nil {
- var bytes []byte
- deadline := time.Now().Add(timeout * time.Second)
- err = conn.SetDeadline(deadline)
- if err != nil {
- return "", err
- }
- bytes, err = ioutil.ReadAll(conn)
- if err == nil {
- return string(bytes), nil
- }
- }
- return "", err
- }
上面的原始代码在:http://hugozhu.myalert.info/2013/02/26/dynamic-dns-script.html,原文的代码中其实是不能运行的。因为:timeout是个未定义的变量。
OK,不说这个。我在现实中不能使用上面的代码,因为nc ns1.dnspod.net取出来的结果不正确。为什么?因为我用的是铁通,好象会经过一层代理。但是我访问ip138又是可以取到真实的公网IP,所以我使用了如下代码 :
XML/HTML代码
- func GetLocalPublicIp() (string, error) {
- // `nc ns1.dnspod.cn 6666`
- res, err := http.Get("http://iframe.ip138.com/ic.asp")
- if err != nil {
- return "", err
- }
- defer res.Body.Close()
- result, err := ioutil.ReadAll(res.Body)
- if err != nil {
- return "", err
- }
- reg := regexp.MustCompile(`\d+\.\d+\.\d+\.\d+`)
- return reg.FindString(string(result)), nil
- }
上面我用的正则十分简单。就这样写写算了。因为这个页面里就这么一个符合的地方。OK,现在就一切正常了
| 评论:0
| 阅读:18855
Submitted by gouki on 2012, May 16, 1:21 PM
这两封邮件来自linode,说实话,觉得linode真心不错。。
比如这一封:
We are currently aware of an issue with the host that your Linode resides on (tokyo49). This issue requires a reboot to resolve. We do apologize for any inconvenience this issue may cause. Your patience and understanding is greatly appreciated. Please do not hesitate to contact us if you have any questions or concerns.
然后过了将近10分钟左右 :
The host that your Linode resides on has been successfully rebooted. Your Linode will return to its last state shortly (running or powered off). There is no need to issue boot jobs for your Linode at this time. Thank you for your patience and understanding. Please feel free to update this ticket in the event that you have any additional questions or concerns about this matter.
于是,linode的管理邮件又自动发来:
Hello xxxxxxx! The following activity has recently occurred:
* linode??????- (7659786) Host initiated restart - Completed Wed, 16 May 2012 04:23:49 GMT
* linode?????- (7659950) Lassie initiated boot - Failed Wed, 16 May 2012 04:23:58 GMT
This is a new feature. You can change your notification settings via https://manager.linode.com/profile.
果然,这些功能是真心不错啊。如果以后有短信息发送就好了。
国内的VPS有哪个有类似功能的?不过国内我是不想用了,NND,备案备案,备死人的案。
Tags: linode
苹果相关 | 评论:0
| 阅读:26481
Submitted by gouki on 2009, December 31, 2:51 PM
00-----00---------0---------00000000--00000000--00------00---00-----00--00000000--00-----00
00-----00--------000--------00000000--00000000---00----00---000----00--00000000--00-----00
00-----00-------00-00-------00-----00--00-----00----00--00----0000---00--00---------00-----00
00000000------00---00------00-----00--00-----00-----0000-----00-00--00--00000000--00--0--00
00000000-----00000000-----00000000--00000000------00------00--00-00--00000000--00-000-00
00-----00----0000000000----000-------000-------------00------00---0000--00---------0000-0000
00-----00---00---------00---000--------000------------00-------00----000--00000000--000---000
00-----00--00-----------00--000--------000------------00-------00-----00--00000000--00-----00
--------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------
-00------00--00000000---------0---------00000000------0000000--00000000---000----00000000-
--00----00---00000000--------000--------00000000------0000000--00-----00----00----00-----00-
---00--00----000--------------00-00------00-----00------------00--00-----00----00----000----00-
----0000-----00000000------00---00------00-----00-----------00---00-0---00----00----00--0--00-
-----00------00000000-----000000000----00000000----------00----00--0--00----00----00--0--00-
-----00------000----------00000000000---00-00-----------00-------00----000----00----00----000-
-----00------00000000---00----------00---00--00--------00000000-00-----00----00----00-----00-
-----00------00000000--00-----------00--00----00------00000000--00000000---0000---00000000-
改了半天,终于有点象样了。。。
PHP | 评论:2
| 阅读:17266
Submitted by gouki on 2008, November 16, 8:48 PM
经过一个多月的开发,最新版本的Ubuntu Tweak正式发布了。 Ubuntu Tweak 0.4.2修正并改善了许多方面,并引入了“源编辑器”这个新特性。 —- 为了方便用户更方法的编辑和设定源,Ubuntu Tweak 0.4.2版加入了“源编辑器”。 什么是“源编辑器”呢?我来通过下面几张图片来展示它的相关功能。
基本功能:方便编辑源
首先,“源编辑器”提供一个巨大的文本框来让用户方便地编辑源。
只要点击“应用程序”->“源编辑器”,并解锁后,就可以马上可以开始自由地编辑源了。这个编辑区域支持语法高亮,使源更容易辨认。
通过这个,用户不再需要打开终端,执行:sudo gedit /etc/apt/sources.list等命令。
编辑完毕,保存后,可以点击“刷新”立即更新系统。
更新为预设的源
首次安装,或重装了Ubuntu后第一件事情就是要更改源。
现在通过Ubuntu Tweak来简单地完成这些吧!点击“更新源”,Ubuntu Tweak将会从网上更新下来一些常用、好用的源,根据自己的网络环境,确定并保存以后,就可以完成源的更改并马上更新系统了。
没有打开浏览器查询,没有打开终端的过程,没有复制和粘贴,一切用Ubuntu Tweak为你搞定!
上传新鲜的源
如果有更好的源了,但是服务器上没有收录,你就可以尝试将其上传。首先保证你使用了该用,然后点击“提交源”,简单地填上标题和相关注释,就可以上传了。
当然上传后的结果将经过审核才会开放出给他人使用,如果你有什么好的源而且默认的列表没有收录的话,赶快提交并与大家一块分享吧!
增加第三方源
这个版本继续完善了第三方源,加入了OpenOffice 3.0、Amarok等第三方源。其中还为特别为中文用户加入了Ubuntu中文源。
中文用户只要启用这个源,就可以立马享受到免费的永中Office2009,Ubuntu Tweak和好用的iBus输入法等好东西!
确保启用了中文源,你就可以在“添加/删除”中方便地安装“永中Office 2009 个人版”和iBus输入了!
除了以上新鲜玩意,Ubuntu Tweak 0.4.2还改善并修正了一些Bug,并重新制定了压缩包依赖,这样使用8.04以前的Ubuntu用户也能再次使用Ubuntu Tweak了。
还等什么,下载或从源里更新吧!
源代码:
ubuntu-tweak_0.4.2.orig.tar.gz
Deb包:
ubuntu-tweak_0.4.2-1~intrepid1_all.deb
消息来源:Linux桌面中文网
Tags: linux, ubuntu, tweak, 源编辑器
Software | 评论:0
| 阅读:23390