要换证书了。。
之前随便申请的 CA 沃通免费SSL证书 现在被 Chrome 标记为不安全了。改日换成 Let's Encrypt 吧
之前随便申请的 CA 沃通免费SSL证书 现在被 Chrome 标记为不安全了。改日换成 Let's Encrypt 吧
从底层到上层:
/etc/passwd 定义了登录用户、口令、登录之后的起始目录
登录之后运行的 shell 取决于 /etc/passwd 文件中列出的对应 shell
常见的 shell 的种类 sh bash csh ksh tcsh
文件描述符
就是一个非负整数用来标识一个 进程正在访问的文件
标准输入、输出、错误
每当运行新程序时,shell 都会为它开启3
个文件描述符,就是标准输入、输出、错误
可以通过 < 和 > 以及 | 重定向输入输出到其他文件或命令
可以用 fork、exec、waitpid 控制进程 (在 C 语言中 NULL 和 0 是等价的)
文中提到 fork 调用一次 返回两次(分别在子进程和父进程中),这里还不是很清楚 后面进行深入了解。
进程与线程
线程用线程 ID 标识,线程 ID 只在所属进程内有意义
一个进程内的所有线程共享地址空间、文件描述符、栈、进程相关属性。
由于线程共享存储区,多线程访问时要做好同步措施。
支持多个附属组(16 个以上)
UNIX 中每个系统调用都对应一个名字相同的 C 函数(在 C 标准库中) 应用程序可以直接调用系统调用和库函数
ss 是 shadowsocks 的简称。
这里以 Ubuntu 16.04 为例
vi /etc/shadowsocks.json 写入配置文件 格式如下:
{
"server": "这台服务器的 IP",
"server_port": 8388,
"local_address": "127.0.0.1",
"local_port": 1080,
"port_password": {
"1234": "12345678"
},
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false
}
其中 port_password 字段可以添加多条。前面的数字代表对外提供服务的端口,后面的字符串代表使用前面的端口登录到 ss 的密码。
可以在 .bashrc 中加几个别名,后续操作方便一些
alias ssstart='ssserver -c /etc/shadowsocks.json -d start'
alias ssstop='ssserver -c /etc/shadowsocks.json -d stop'
alias ssrestart='ssserver -c /etc/shadowsocks.json -d restart'
有时候想写点什么东西,但是打开编辑器之后,突然一个字都蹦不出来了。不爽啊!
过两天把这个博客迁移了吧,不用阿里云了。换 Vultr。这个还是比较便宜的。
同等配置只需要阿里云一半不到的的价格,可以说是非常良心了。而且选择日本/新加坡机房访问速度快,还能 fq,很舒服。
只是这个主机商比较年轻,不知道稳定性如何,应该问题不大。跑了一个多月的 SS 也挺稳定,速度挺快。
今天入职新公司,但是发现网络访问并不自由。。公司内的 WiFi 想要访问外网,要使用公司的内部代理,这就蛋疼了,shadowsocks 都用不了了。但是我发现 ssh 可以直连前几天买的日本服务器,经龙哥提醒,可以使用 ssh 来做代理从而突破限制。下面就是具体方法了。
其实命令很简单
通过 ssh -f -NT -D 127.0.0.1:7001 username@host
在本地开一个端口,然后使用 Proxy SwitchySharp (Chrome 扩展) 设置一个 socks5 代理即可(代理设置为 127.0.0.1:7001)。当然这个有一个前提就是,要把自己电脑的 public_key 放到远程服务器,不然要输入密码,体验就大打折扣了。
对各个参数的解释参考了这里,在此对博主表示感谢。
- -f 表示后台执行ssh指令
- -D 表示通过动态端口转发方式打开 ssh 通道
- -N 表示只连接远程主机,不打开远程shell
- -T 表示不为这个连接分配TTY
- -NT 两个参数可以放在一起用,代表这个SSH连接只用来传数据,不执行远程操作
虽然命令足够简单,但是作为一个懒惰的程序员,怎么可能做重复的事情,所以要写一个 alias 来简化它,直接贴代码。
# ssh proxy
alias jpproxy='ssh -f -NT -D 127.0.0.1:7001 username@host &> /dev/null'
alias jpproxystop="ps aux | grep username@host | grep -v grep | awk '{print \$2}' | xargs kill"
这是我用日本服务器搞的 ssh 代理。
第一个 alias 用来开启代理
第二个 alias 用来关闭代理,$xxx 在 shell 里代表变量,所以要用 \ 转义 $
至此我们已经成功翻过两堵高墙,来到了真正的互联网,顿时感觉整个人都自由了。
但是还有个问题,目前代理并不是全局的,之后要看下怎么搞成全局,因为电脑版微信收到的图片都看不了。。。头像也不出来
更新:
可以通过 proxifier 来指定哪个软件走代理
Google 查的注册码 P427L-9Y552-5433E-8DSR3-58Z68 软件还是有点小贵的...