Tag Archives: ssh

Dropbox扩容详尽指南

写在最前面的话:

本文的方法实质上是在欺骗Dropbox,思想低劣,手法庸俗,实在是付不起钱不得已而为之。如果你有一定的财力,请一定购买付费服务,毕竟一个优质的软件是需要资金维持才能生存下去的!


关于这个话题已经有人详尽地写过,具体在这里。但是我在折腾的过程中又碰到了很多不可预见的问题,所以还是写一下和大家分享。

首先Dropbox作为一个被GFW光荣认证的服务,其质量的优质性不容质疑,这也是我坚定不移使用它的原因。(题外话:ubuntu下的ubuntu one也是个不错的选择。更新2014.04.18:这项服务已下线)但被墙的服务使用起来终归有些麻烦,要为其扩容更要点折腾的精神,所以我觉得你至少要知道以下一些概念:翻墙、虚拟机、ubuntu。都明白不?明白就接着看下去,不明白就走酱油通道。

  • 申请帐号

首先当你有了自己的Dropbox以后会有邀请码,别人用你的邀请码注册Dropbox,你们双方就是多250m的Dropbox空间。先利用你的邀请码,翻墙注册n个帐号。Dropbox是不检查帐号的真实性的,你完全可以瞎填,只要方便自己记忆即可。

  • 安装虚拟机和镜像

用这些帐号直接安装Dropbox是不会给你扩容的,因为Dropbox会检查操作系统和网卡的MAC。正因为这样,所以我们要用到虚拟机virtualbox和ubuntu的iso镜像来欺骗Dropbox造成我们在多台机器上安装Dropbox的假象。

首先下载virtualboxubuntu的iso镜像,在virtualbox里创建ubuntu虚拟机。(创建什么系统并不重要,只要你自己熟悉就好,我觉得ubuntu的live cd比较好,如此而已。你当然也可以用Windows PE,不过我没有试过,原理上讲是一样的。)

From Drop Box

注意,在storage标签页里加载ubuntu的iso镜像,确定之后点击”Start”就可以顺利进入ubuntu虚拟机

From Drop Box

选择”Try Ubuntu“即可,不必安装,我们只是走走过场。

From Drop Box
  • 连接ssh

进入到ubuntu之后第一步就是连接你的ssh,一般最方便的就是直接用Terminal(终端),可以在下图的位置找到或者直接按快捷键Ctrl+Alt+T

From Drop Box

然后输入:

ssh -D 7070  -p port -l user yourserver.com

这里的port为你远端主机的端口名,一般为22或443,有变动的话一般空间商会告知你,user为你自己的用户名,yourserver.com为你ssh服务器域名或IP

我很不幸,自己的ssh每天准时在我折腾Dropbox扩容的时候down掉,只好用1984.org提供的ssh,偏偏他们不提供shell,说要在命令行中加 -N 参数,否则在Terminal(终端)下一连接上就断开。这个我到最后都没有搞定,只能放弃,改用图形化程序gSTM。这个程序可以在Ubuntu Software Center里找到。

From Drop Box

在搜索框里搜索”gstm”

From Drop Box
From Drop Box
From Drop Box

安装完成后在Application–Internet中打开”gSTM”,点击”Add”

From Drop Box

在下图相应位置处填入信息:Name 随意;Host为ssh服务器域名或IP;Login为你的用户名;Port为端口号,一般为22或443。然后再点击”Add”,类型选”Dynamic”,端口填7070,其他默认。

From Drop Box
  • 安装Dropbox

这里有两种方法:一种直接在虚拟机中下载;一种在宿主机中先下载完成,再共享到虚拟机。

我觉得后一种方法更好,省去了每次在虚拟机中下载的麻烦。虚拟机中要配置,要下载,效率上肯定是比不过宿主机的。不过这里还是一并说明一下:

一、直接在虚拟机中下载:依次打开Firefox–Edit–Preferences– Advanced–Network–Settings,出现如下图所示:选择Manual proxy configurations,Socks Host填127.0.0.1 Port填7070,确认关闭即可。现在Firefox就全局用ssh代理了,直接去Dropbox的网站下载相应安装程序即可。当然,有人可能知道autoproxy插件,用来甄别是否需要ssh代理,毕竟很多网站并没有被墙,走ssh反而慢。不过在这里本来就不需要开多少网站,安装autoproxy插件,我认为反而麻烦了,走走全局代理即可。

From Drop Box

二、在宿主机中先下载完成,再共享到虚拟机:现在宿主机中下载好相应的安装程序,放入一个文件夹然后共享出来,接着在ubuntu虚拟机中依次点击Places–Connect to server,出现如下图所示。Service type根据自己的情况选择,一般大家的宿主机都是Windows吧,那么就选”Windows share”;Server填自己宿主机的IP。然后点”Connect”连接到宿主机,选择相应共享目录下的安装文件拷贝到虚拟机来安装。

From Drop Box

但Dropbox的安装很奇怪,也许是因为被墙的原因,大家应该都会碰到,就是安装完成后无法启动Dropbox的问题,我在以前的博里也有讲到。虽然不会很明白问题是如何产生的,也不知道解决问题的原理,但大家只要照做就行了。

下载Dropbox daemon:32bit 这里;64bit 这里
解压文件,解压出来的是隐藏文件,所以你可能看不到。
进入Terminal(终端),切换到你解压文件所在的位置。然后键入:
.dropbox-dist/dropboxd

  • 调校Dropbox

Terminal(终端)中键入命令后应该会出现如下界面,这时候还是连不上Dropbox,那是肯定的,永远别忘了Dropbox被墙了。这时候要选择”Connection Options”进行代理设置。

From Drop Box

如果没有的话,也可以右键Dropbox图标,点击”Preference”

From Drop Box

然后按图中所示填入信息:选择Manually proxy settings,Proxy Type选SOCKS5,Server填127.0.0.1,Port填7070。确认后关闭即可。

From Drop Box

然后跳出Setup界面,选择”I already have Dropbox account”。

From Drop Box

现在就要用到你文章一开始注册的那些Dropbox帐号了,将其中一个填入下图相应位置。

From Drop Box

最后一路Forward完成即可。

O.K.! Done! Your Dropbox’s Capacity Has Been Enlarged!

  • 重新再跑一遍虚拟机。

关键是不要忘了去改虚拟机的MAC地址,不然是无效的!virtualbox里提供修改的位置如下图所示:

From Drop Box

补充说明1 : 在使用Dropbox的时候记得去改系统的hosts文件(不同的操作系统,这个文件的位置也各不相同,ubuntu下好像需要sudo一下才能修改。),增加这么一段:

174.36.30.67 dropbox.com
174.36.30.71 www.dropbox.com
75.101.129.115 dl.dropbox.com

然后Dropbox的设置改成No proxy server。现在就可以无代理正常使用Dropbox软件的同步功能,网页的话好像还是缺样式表,看上去很糟糕。不过无所谓,大家都很少登陆网页版的吧?如果这个方法失效了那就只能走ssh代理了,比较凄惨,所以尽量在Dropbox里以放小文件为主,电影什么的也走ssh代理就有些痛苦了。

补充说明2 : 如果你有edu邮箱,那么去Dropbox认证一下,你的邀请码每邀请一人可以增加500m空间。这个也很给力,让我们扩容更省力。大家可以试一试下面这个,我测试过,有效:

@ mspil.edu.cn 教育部-微软(中国) 。另外Dropbox的edu邮箱认证地址:这里

总结:

文章有些长,图有些乱,如果你已经头昏眼花了,我这里先简单地给你理理思路。

先用你Dropbox的邀请码申请账号,然后在虚拟机中用这些账号去安装Dropbox,然后利用虚拟机不停变换操作系统特征和网卡的MAC使Dropbox始终认为你在不同的电脑上用不同的账号在安装Dropbox,从而达到扩容的目的。

其中的难点在于:

  1. Dropbox自身被墙,要在虚拟机中翻墙连接Dropbox服务器。
  2. Dropbox在ubuntu下的古怪安装程序,需要辅助措施才能安装完成。

p.s : 如果有朋友确实有困难,又想扩容,我这里可以视情况提供帮助(人太多我就不能为力了),当然一定记得留下你们的邀请码

A Problem of Picasa

From Drop Box

Picasa经常会出现上图所示的问题:This account is not enabled for Web Albums. 不登录就没法在本地上传照片了,很麻烦。但其实网页上登录一切都是正常的,上网搜索了一下相关问题,却惊奇地发现没有什么有效的解决办法,无论中文论坛还是英文论坛都只是描述了一下现象,有些人莫名其妙地弄好了,但他们的经验都没有通用性。我只能理解为Picasa的一个bug,好在这个bug还是有解决办法的。主要就是通过代理来登录。

前提:需要SSH

步骤:

  1. 正常连接SSH
  2. 打开Picasa,依次进入 Tools–Options–Network
  3. 在Proxy Name里输入 127.0.0.1:7070(端口号要视乎你的配置,一般都是用7070的端口)
  4. 现在登录即可。登录成功后可以切断SSH的连接了,因为按我的理解,用SSH上传还要走代理,速度肯定会慢一些。我实际测试下来只要登录成功,切断SSH后上传照片还是正常的。

最后,如果谁知道完美的解决方法,请告知,谢谢。

Call phones from Gmail

相信大家都知道Google的重量级应用Gmail Call登场了,如果你不熟悉请参见官方Blog(需翻墙)或者自行google。但是可能很多人都在苦苦等待Google将这个应用部署到自己的Gmail里,那么有米国ip地址SSH或者VPN的童鞋们有福了,只要你用米国的ip登录Gmail即可看到如下激动人心的画面了(至少我是成功的,人品?):

From Drop Box

双击点开即是如下画面,好像Google还慷慨地送了$0.1…试了一下拨打自己的手机真的能通,爽!

From Drop Box

点击右上小图标即可进入充值通道(红圈所示位置),需要用到Google Checkout的服务(Google的一项付费服务,很好用),我毫不犹豫地充了$10进去。

From Drop Box

关于资费,打美国和加拿大至少在今年内是免费的,打中国电话是$0.02每分钟。

好便宜啊~ 不过还没实际测试过,因为手头暂时只有耳机没有耳麦。有米国或者外地的童鞋想和我打电话不?^_^

崂山道士之术

穿墙之术众多,我只谈自己熟悉的。举一反三、勤学善问才是王道:

一、使用在线代理,赛风:http://ifuwocheng.info。这个代理太过出名,众所周知,所以很容易遭到封杀。我发这篇文章的时候应该还能用,过段时间就难说了。

二、使用SSH:首先你要有个SSH的帐号,有心的人总能找到资源,或者舍得出钱。如果觉得麻烦,看到这里就可以跳过了。拿到SSH帐号后,也要分好多情况:主要是你所使用的浏览器和操作系统,如果你用*unix,那么我默认你为高手,也就不再赘述。这里主要谈Windows,首先推荐使用tunnelier,别问为什么,大家都说好,你用熟以后自然可以自主地进行再选择。下载地址:这里。界面如下:

Host:添你申请空间的域名或ip
Port:一般是22,特殊情况空间提供商应该会告知你
Username:你懂的
Initial method:选Password,后下方会出来空格给你填密码。
然后点Login,正常情况就能连上SSH了。
接下来讨论浏览器:
1、Chrome:

用Proxy Switchy。安装地址:这里。设置界面如下:

New Profile–Profile Name随便填--SOCKS Host: 127.0.0.1 Port: 7070–选择SOCKS v5–再选择Switch Rules标签
勾选 Enable Switch Rules 然后勾选 Online Rule List,在Online Rule List 下面填写 http://autoproxy-gfwlist.googlecode.com/svn/trunk/gfwlist.txt 后面下拉列表框选择你前面命名的Profile Name,勾选 AutoProxy Compatible List,然后Save,大功告成。
2、Firefox:

用AutoProxy,安装地址:这里

添加一项,名字随意,proxy host: 127.0.0.1  port:7070,选择socks5

选择刚才命名的代理名字

选择gfwLists。OK,完成。

3、IE

Internet选项–局域网设置–勾选“为LAN使用代理服务器”–地址:127.0.0.1 端口:7070–OK,完成

看上去好像IE简单点,其实是因为它只能选择全局代理,无论看什么网页(即使没有被墙),都走SSH通道,效率上是大打折扣的。而且SSH主机一般在国外,借道国外的话很多优酷、土豆的视频因为版权问题都不会给你看的哟,兲朝真是太狡猾了。。。而Chrome和Firefox在使用了上述插件后可以自动选择是否走SSH通道,并可以由用户自定义,这当然要好的多。而且如果你希望全局代理,在Chrome和Firefox中也完全做得到。因为实际意义不大,这里就不介绍了。

ubuntu下实现ssh自动重连

作个笔记,免得自己以后忘了。相关内容网上比比皆是,原始出处,已经找不到了。如果你不知道自己为什么需要看着篇文章,那你就不需要看下去了。好,我们开工。

ubuntu下使用ssh的方法很多:

  1. openssh。一般linux系统都默认安装,直接在终端(terminal)下使用即可,可以参阅我以前写的一些东西,这里
  2. PuTTY。图形化界面,无须命令行,更便于新手使用。

但两者都有一个明显的缺点:无法实现ssh断线后的自动重连。openssh是终端命令行模式,断了只能重打命令;PutTTY则自己明确说明了一点:为了安全问题不保存密码,每次都要用户自己输入。初衷是很好,但从实际应用的角度,ssh掉线的频率比较高,每次都要重输是很累的。所以更好的解决办法是:expect

首先要获取该程序,终端(terminal)下输入:

sudo apt-get install expect

完成后随便新建一个文本,这里暂定名称是:sshgfw。可以直接在终端(terminal)下输入:

sudo gedit sshgfw

在文本中粘粘如下内容:

#!/usr/bin/expect
set timeout 60

spawn /usr/bin/ssh -D 7070 -p port -l user yourserver.com
# 这里的port为你远端主机的端口名,一般为22,有变动的话一般空间商会告知你,user为你自己的用户名,yourserver.com为你自己的服务器域名或ip
expect {
"password:" {
send "passwordr"
#这里的第二个password改为你自己的密码
}
}
interact {
timeout 60 { send " "}
}

再加上可执行权限,我们仍然在终端(terminal)下执行:

chmod a+x sshgfw

如果你严格的按照我所说的做下来,那么现在在直接终端(terminal)下输入:

./sshgfw


脚本就应该自动运行起来了。现在这个脚本应该是在你的帐户下,多帐户操作的话也可以把这个文件复制到 /usr/local/bin 或 /usr/bin 等目录下,以方便本机所有用户都可以快捷的使用。


以上内容参考了互联网上的相关资料,但也经过自己的实际操作,略作改动。如还有问题请提出(不保证能解决。。。)。

好了,准备收工。以twitter上看到的一句话作结尾,也不是什么惊世骇俗的名人名言,但很中肯,希望大家引以为鉴,是@yurii_yu说的:

“最好不要在自己blog上转贴技术文章,尤其是没经过验证的,最近几次查资料(尤其中文的问题)都搞到头大:原文有错误,转贴的人根本不尝试就转贴了,搜索结果前若干页都是同一篇文章,无一可行,这就是@tinyfool说的信息退化”

一个twitter无法访问的问题

我的情况:用ssh + autoproxy, 无法访问https://twitter.com

发现的原因。。。很傻很傻。查了一下autoproxy的规则,其中有两条:

  1. .twitter.com
  2. ||twitter.com

注意第二个规则,我通常访问时是用 https://twitter.com, 在autoproxy的规则里,这个网址不使用代理访问。。。用http://www.twitter.com才算符合规则,autoproxy的这个规则定的傻了点吧。。。要不就是我梦游的时候自己改过??

Ubuntu下使用SSH

为了众所周知的目的,我们无论在什么操作系统下都会用到SSH。今天就讲一下Ubuntu下SSH的使用。

其实这是个被人都讲烂的问题了,但我这个人碰上啥事都会倒霉,大众化的常规方法在我这里总是失败。首先,几乎所有linux(听说的,我只用过ubuntu)都默认安装了openssh-client,所以打开terminal(终端),键入:

ssh -D 7070 -l username@servername

具体的用法,可以man ssh一下。我尝试过,内容太全了,以致我完全没有看完的兴趣。。。这里简单讲讲

-D 7070
本地一个未使用的端口

-l username
你ssh的用户名

@
别人的文章里就是这么写的,但我这么键入这个符号完全是无效的,没弄懂

servername
ssh服务器名或ip地址

所以,实际我尝试下来的应该是这么写才对

ssh -D 7070 -l 张三 xxx.xxx.xxx.xx

这就是大众化的方法,接下来正常情况会让你输密码,加密连接就建立了。很显然,不适合我。。我也很郁闷啊。仔细研究一个,发现是因为SSH默认的远端服务器端口号为22,我的恰恰不是。。于是只好去读ssh命令的帮助文件找答案。实际上我也没读得太懂,只是捡几个比较像的参数试了试,最后确定-p是远端服务器端口号参数。举例来说,如果你的SSH远端服务器端口号是874,用户名是张三,SSH服务器地址是xxx.xxx.xxx.xx,那么命令就应该这么打:

ssh -D 7070 -p 874 -l 张三 xxx.xxx.xxx.xx

然后就是浏览器的设置,只谈firefox。选项→高级→网络→设置→手动配置代理→SOCKS 主机 : 127.0.0.1 端口 : 7070

现在就是全局在ssh工作了,当然很多时候没有全局ssh的必要,有很多其他方法甄别是否需要使用ssh,但并非本文的重点,这里就略过了。

祝大家翻墙学习愉快。

-l-l