强烈推荐的 SS 服务
找到个速度爆表的 SS 服务,价格公道,速度杠杠的,看图
不折腾 VPS 了,有时间折腾不如直接买吧😂
分享个我的推广
http://bill.xiami.la/aff.php?aff=523
不喜欢就直接删掉尾巴
iOS 和 macOS 都可以使用 Surge ,iOS 也可以使用 Shadowrocket 等 SS 客户端,建议买 100G 套餐的,毕竟速度快😂

gracie abrams
Cosmic Funnies
"I'm Dorothy Gale from Kansas"
noise dept.

blake kathryn
Mike Driver

Kiana Khansmith
𓃗

★
will byers stan first human second
trying on a metaphor
he wasn't even looking at me and he found me
TVSTRANGERTHINGS
Xuebing Du
Not today Justin

bliss lane
Claire Keane
Misplaced Lens Cap
we're not kids anymore.
No title available
seen from United States
seen from United States

seen from United States
seen from United States

seen from Türkiye
seen from United States
seen from United States
seen from United States
seen from United States

seen from Bangladesh
seen from United States

seen from Japan
seen from France
seen from Serbia
seen from United States
seen from Argentina
seen from Japan

seen from Türkiye

seen from Malaysia
seen from Austria
@jannerchang
强烈推荐的 SS 服务
找到个速度爆表的 SS 服务,价格公道,速度杠杠的,看图
不折腾 VPS 了,有时间折腾不如直接买吧😂
分享个我的推广
http://bill.xiami.la/aff.php?aff=523
不喜欢就直接删掉尾巴
iOS 和 macOS 都可以使用 Surge ,iOS 也可以使用 Shadowrocket 等 SS 客户端,建议买 100G 套餐的,毕竟速度快😂
转战 wiki 了
写本博的一个主要原因是想把自己获取到的知识保存下来,但是博客并不能很好的搜索和协作,故让一群狐朋狗友搭了个 wiki ,以后所有心得,技巧都发布在 wiki 上,各路英雄看到不合适的也可以修改,正所谓,独乐乐不如众乐乐,多P才好玩😄!
Codesucker’s wiki
同时也有 telegram 群可以进行交流😄
最低成本搭建梯子:一个服务同时满足 iOS 和 OS X
上篇文中提到的能让 iOS9 设备用上 SS 服务的 app 于今天正式上线 App Store,整个推特中文社区、微博和 v2ex 都被该 App 刷屏,Medium 上等 Blog 站点各种教程也纷纷推出。详细的教程就不再赘述,文尾会列出一些好的教程。
Surge,本文主角,一个使用了 iOS 9 中最新提供的 Net Extension 特性的 App,一个释放了 iOS 非越狱用户向往自由网络的激情的 App。中区上线¥68
Surge 带给我们什么?我们为什么需要它。
在 Surge 上线前,iOS 用户如果要访问 Google 需要通过缓慢的 Anycoonect 和各种VPN,APN,最大的问题就是速度慢,要么就是不稳定,Mac 端我们当然使用轻量快速的 Shadowsocks 服务,而在 iOS 上要想使用 SS 服务必须越狱,必须牺牲一点点安全,现在好了,Surge 可以让你在 iOS9 非越狱设备上使用 SS 了。
关于 Surge 的原理已经有很多文章进行介绍了,也不在本博的介绍范围内,我们只谈如何使用 Surge 来帮助我们访问 Google。
Surge 既然能使用 SS 服务,最低成本最快捷的办法当然是我们自建 VPS 并搭建自己的 SS 服务,没错,我又来推荐搬瓦工了✌️,搬瓦工现在提供一键配置 SS 的功能,只要购买了 VPS 一键配置完 SS,即可在 Surge 上完成配置,开启你的自由网络。自己搭建 SS 请参考我以前的文章小白教小白,一步一步从头搭建爬梯子服务(10.18更新)
我们只需在soffchen提供的配置文件或者janlay提供的配置文件中,将 Proxy 这段改成 Proxy = custom,SS 服务器IP,SS 服务器端口,加密方式,密码,https://files.andy1999.com/SSEncrypt.module 然后通过 iTunes 将该配置文件导入到 Surge 中。 进入 Surge 中可以看到刚刚导入的配置文件,选中点 start 即可,提示下载模块的时候点下载即可。
开心的刷Twitter吧🤓️✌️
参考文章: 官网 Surge新手使用指南 Surge App Store 购买前说明
在非越狱的 iOS 设备上使用 SS 服务
iOS9 的推出,给 iOS 设备带来一个激动人心的新特性 Network Extension 这将使我们能在 iOS 非越狱设备上使用SS啦✌️,这比 Anyconnect 要好用的多,现在该 app 还在公测中,不日即将上线!从此我们只需在搬瓦工上搭建一个SS服务即可,等待上线后,我也会介绍下该软件的配置方法
搭建各种服务可以参考我以前写的一篇 小白教小白,一步一步从头搭建爬梯子服务(10.18更新)
如果该 app 上架,我们只需搭建一个SS服务,搬瓦工官方提供一键安装 SS 的服务,购买后即可使用,更 easy 了😄
Timing 貌似对 word 和 excel 没有输入法影响了
最近突然发现开启 Timing 对 Word 和 Excel 追踪后没有出现以前的中文输入法的问题,不知道是 Office 2016 更新解决还是 Timing 更新后解决的...
Omnifocus根据项目名称创建文件夹的AppleScript
Omnifocus根据项目名称创建文件夹
工作中需要用文件夹来管理项目文档,用Omnifocus来追踪项目进程,所以想写这个脚本,这样在建立Omnifocus项目的时候输入完整的名称后用这个脚本就直接建立文件夹了,又省一步操作✌️
从边栏选中项目然后运行脚本,即可根据项目名称在所选的文件夹里创建文件夹了✌️
tell front document of application "OmniFocus" tell sidebar of document window 1 set omnifocusFocusItem to value of selected trees --log omnifocusFocusItem set folderPath to choose folder "Choose Parent Folder Location" --log folderPath repeat with thisItem in omnifocusFocusItem set folderName to name of thisItem tell application "Finder" activate make new folder at folderPath with properties {name:folderName} end tell end repeat end tell end tell
AppleScript实现Word文本替换和将Omnifocus的task发布到日历上
AppleScript真的是非常强大啊!
绝对是提高Mac效率的利器,脚本都放到Github上了,以后就在那里更新了
研究AppleScript要从我的工作开始谈起了,我的工作基本上都是固定流程的,所以很多程式化的task如果能一键生成就完美了,之前想了很多功能在群里咨询半天,结论是没法实现,很是苦恼,但是有个Omnifocus的相关操作我觉得应该能实现,因为针对Omnifocus的AppleScript很多,用AppleScript应该能解决.遂开始研究AppleScript
很早以前就想研究来着,但是实在不知道该如何下手,总想看看Omnifocus的AppleScript的API是啥呢?在官网根本找不到,结果前两天找了个教程,有一章叫读懂AppleScript字典,真是醍醐灌顶啊,这才找到AppleScript的大门啊.
这不看不知道,一看下一跳,支持AppleScript的app是如此之多,的app更是能实现各种操作,绝对能实现你的大部分想法,太🐂🐝了.
经过两天的研习,各种搜索,各种实例代码的copy终于实现了两个小功能✌️
Microsoft Word 2016 Mac版用AppleScript实现一键替换文本
工作原因有个制式文档,每个重复任务的流程收尾都是编辑这个文档,所以我设定了很多替换关键词,每次替换这些关键词就行,但是每次编辑的时候都记不住都有哪些关键词,就想能否有个列表或是类似的功能,将特定关键词分别替换了多好,AppleScript能解决✌️.
property keyWords : {"案号", "原审", "事由", "卷宗数", "领导", "日期", "wenshu", "案由"} tell application "Microsoft Word" set findRange to find object of selection tell findRange repeat with displayText in keyWords log displayText set replaceText to text returned of (display dialog displayText default answer displayText) execute find find text displayText replace with replaceText replace replace all end repeat end tell end tell
是个基本功能的实现,就是需要你选一下需要替换的文本,然后运行这个脚本,会弹出一个输入框,输入你要替换的文本就OK了,我是根据我的文档固定了关键词,你们要用的话,需要自己修改修改.
将Omnifocus的task的defer日期发布到日历上
Omnifocus task的due date虽然能在订阅日历上显示,但是task完成后在订阅日历上也消失了,有时候会影响到回顾搜索.故琢磨如何把task的日期发布到日历上呢?经过几天的研究,从各种实例中copy学习,终于完成一个初步的脚本
tell front document of application "OmniFocus" tell content of document window 1 set omnifocusFocusItem to value of selected trees repeat with thisItem in omnifocusFocusItem set deferDate to defer date of thisItem set dueDate to due date of thisItem set eventName to note of thisItem set dateString to short date string of deferDate & " " & time string of deferDate tell application "Fantastical" parse sentence eventName & " " & dateString with add immediately end tell end repeat end tell end tell
现在仅仅是实现了一个基本功能,是通过Fantastical来添加的,如果直接添加到日历里,请看下面的代码.AppleScript真的是太强大了!👍
tell front document of application "OmniFocus" tell content of document window 1 set omnifocusFocusItem to value of selected trees repeat with thisItem in omnifocusFocusItem set deferDate to defer date of thisItem set estimatedTime to estimated minutes of thisItem set dueDate to due date of thisItem set eventName to note of thisItem set eventStartDate to deferDate set eventEndDate to eventStartDate + estimatedTime tell application "Calendar" to tell calendar "工作" make new event with properties {start date:eventStartDate, end date:eventEndDate, summary:eventName} end tell end repeat end tell end tell
Timing对Word的中文输入有影响
Timing对Word的中文输入有影响
Timing是个不错的事件追踪软件,可以对你在Mac上的各app使用时间加以统计,如图:
此软件使用的是AppleScript脚本来对软件进行监控,所以会对某些软件产生影响,如果你突然发现某些软件用的很怪异,请关闭Timing对其的监控,比如我突然发现我的Office for Mac里突然不能输入中文了,很是头疼,无意间发现原来是Timing的问题,赶紧关闭之,如图取消Timing对word和excel的监控:
Mac OS X下设置CNNIC证书为不信任
根据谷歌官方安全博客报道,谷歌发现CNNIC颁发了多个针对谷歌域名的用于中间人攻击的证书。这个名为MCS集团的中级证书颁发机构发行了多个谷歌域名的假证书,而MCS集团的中级证书则来自中国的CNNIC。
该证书冒充成受信任的谷歌的域名,被用于部署到网络防火墙中,用于劫持所有处于该防火墙后的HTTPS网络通信,而绕过浏览器警告。
谷歌联系了CNNIC,CNNIC在3月22日回应称,CNNIC向MCS发行了一个无约束的中级证书,MCS本应该只向它拥有的域名发行证书,但MCS将其安装在一个防火墙设备上充当中间人代理,伪装成目标域名,用于执行加密连接拦截(SSL MITM)。企业如出于法律或安全理由需要监控员工的加密连接,必须限制在企业内网中,然而防火墙设备却在用户访问外部服务时发行了不受其控制的域名的证书,这种做法严重违反了证书信任系统的规则。这种解释符合事实,然而,CNNIC还是签发了不适合MCS持有的证书。
以上转自月光博客
得知如此恶心的消息我们应该做什么呢?当然是将这机构的证书设置为永不信任…因为即使你删了它,也许还是会被莫名的安装上.
Mac:在"实用工具"里打开”钥匙串访问”(也可以直接呼出spotlight 输入钥匙串访问就能快捷打开)搜索”cnnic”,双击,信任那设置为永不信任
还有一个不要漏了”China Internet Network Information Center EV Certificates Root”同样设置为”永不信任”
OK,现在也许能摆脱国内最大的流氓软件了,谁知道以后还会有什么幺蛾子…God bless us!
小白教小白,一步一步从头搭建爬梯子服务(10.18更新)
写本教程的初衷还是为了给自己一个备忘,因为本身我是个一个Linux的大白,也是得益于GFW的强大被迫走上翻墙的道路,但是各个VPN提供商价格高昂,限制颇多,在购买过各种服务后终于选择了自己的搭配服务的道路,从此开始研究Linux😄,自己搭服务的好处就是可以随时升级,出现问题可以随时排查,而且现在各种开源服务都在积极的发展中,各路高手又提供了各种脚本方便大家,我也是查阅了无数资料后,终于简单快捷的搭配好了自己的服务,但是安心时候多日后再要重新配置服务时,因为本人的知识积累过于羸弱,所以动了心思写一篇完整版的教程,主要还是为了方便以后自己再搭建的时候有个参考哈哈,这里将介绍在一台服务器上搭建三种服务的方法:Shadowsocks;Cisco AnyConnect;IPsec Ondemand。目标人群就是比我还小白的小白哈哈。
前期准备
搭建Shadowsocks服务
Cisco AnyConnect
IPsecVPN
1.前期准备
搭建各种服务需要我们购买一台有root权限的vps,在一开始我盲目的买了一台GoDaddy的vps,折腾半天后发现这台是共享的vps,没有root权限😓,还好及时联系服务商退货了,后来还是购买的搬瓦工来练手.通过以下链接可以买到便宜的vps,搬瓦工把这些都给藏起来了,而且还能帮我挣奖励😄,64M内存的机器在yum install过多组件的时候可能会卡住,所以还是建议买大内存,或者自行把yum install 拆分,一个一个组件安装.
64M内存1.5GSSD,100G流量/月 3.99刀每年
96M内存2GSSD,200G流量/月 4.99刀每年
128M内存3GSSD,300G流量/月 5.99刀每年
512M内存5GSSD,500G流量/月 9.99刀每年
搬瓦工现在把低价位套餐都停售了,最低的是20刀一年的了,如果支持我就从我的推广链接购买吧😄,谢谢哈, http://bandwagonhost.com/aff.php?aff=1116
有的朋友说DigitalOcean的速度非常快,看YouTube直接1440p,但是我还没测试过,目前搬瓦工的速度能满足我的需求哈哈,而且DO的价格比较昂贵,有想试试DO的朋友也可以帮忙点下我的推广,把?后面的删了可以直接访问官网:
https://www.digitalocean.com/?refcode=cf0040f70574
下图:搭了SS、AnyConnect和IPsec VPN三个服务的使用情况,仅供参考
服务器购买后,安装CentOS7,因为以下教程都是基于CentOS7的,安装新的OS后,搬瓦工会告诉你SSH的端口和root的密码,这些是自己无法自定义的,要记住了.如果实在忘了也可以重置root密码,或者直接使用搬瓦工提供的在线SSH登录来操作也可,就是反应比较慢,所以我们以后还是常用ssh登录来配置vps,Mac下直接使用终端就好,win下自行寻找一个ssh工具就好
登录ssh的命令:
ssh -p vps端口号 root@vpsIP地址
登录上以后就相当于在本地操作一样了,你可以使用各种Linux命令来玩了✌️.
然后我们开始配置vps的防火墙和安装一些相应的组件为以后的服务做准备:
配置防火墙 如果SSH无法登录,那说明防火墙关闭里SSH端口,需要通过在线SSH登录进去关闭防火墙重新配置,我使用firewalld来配置: 清除防火墙配置
iptables -F
清除iptabels所有表项,同时nat设置也没了,但是我们后续的脚本里会配置的,不用担心.如果ssh登录正常就不用管防火墙.
安装源
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm sudo yum install epel-release-7-5.noarch.rpm
安装防火墙firewalld
yum install firewalld firewall-config systemctl start firewalld
修改SSH端口
vi /usr/lib/firewalld/services/ssh.xml <?xml version="1.0" encoding="utf-8"?><service> <short>SSH</short> <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description> <port protocol="tcp" port="22"/> </service>
将port="22",修改成搬瓦工提供给你的端口号,然后reload firewalld就OK vi的命令:按"i"是编辑模式,编辑后按"esc"退出编辑模式,然后输入":wq"保存退出vi.
firewall-cmd --permanent --add-service=ssh firewall-cmd --reload
OK,现在准备工作都已就绪,安装了源,安装配置了防火墙,下一步开始搭建服务了.
2.搭建Shadowsocks服务(以下内容转自Shadowsocks搭建、优化及客户端设置教程)
这个服务是最简单也是最常用的,非常简单
1、安装组件,运行以下指令:
yum install m2crypto python-setuptools easy_install pip pip install shadowsocks
安装时部分组件需要输入Y确认。小内存vps可以分别安装组件.
2、安装完成后配置服务器参数,运行以下指令:
vi /etc/shadowsocks.json
写入配置如下:
{ "server":"0.0.0.0", "server_port":8388, "local_address": "127.0.0.1", "local_port":1080, "password":"mypassword", "timeout":300, "method":"aes-256-cfb", "fast_open": false, "workers": 1 }
将上面的mypassword替换成你的密码,server_port也是可以修改的,例如3024,传说端口越小,效果越好,这个我没有去验证,但建议不要小于1024,以免引起不必要的麻烦。
如果需要修改端口,需要在防火墙里打开响应的端口,用firewalld操作就比较简单了
在/usr/lib/firewalld/services/里新建ss.xml文件并编辑:
vi ss.xml
下面代码粘贴到里面
<?xml version="1.0" encoding="utf-8"?> <service> <short>SS</short> <description>Shadowsocks port </description> <port protocol="tcp" port="自定义ss端口号"/> </service>
保存退出
firewall-cmd --permanent --add-service=ss firewall-cmd --reload
3、运行下面的命令,启动shadowsocks
ssserver -c /etc/shadowsocks.json
至此shadowsocks搭建完成,shadowsocks已经可以使用,如果你没有过高的要求,下面的步骤可以省略,下面是后台运行和优化步骤。
4、安装supervisor,运行以下命令
yum install python-setuptools easy_install supervisor
然后创建配置文件
echo_supervisord_conf > /etc/supervisord.conf
修改配置文件
vi /etc/supervisord.conf
在文件末尾添加
[program:ssserver]command = ssserver -c /etc/shadowsocks.json autostart=true autorestart=true startsecs=3
配置文件说明 运行命令:
supervisord
5、设置supervisord开机启动 编辑文件:
vi /etc/rc.local
在末尾另起一行添加
supervisord
保存退出(和上文类似)。 另centos7还需要为rc.local添加执行权限
chmod +x /etc/rc.local
至此运用supervisord控制shadowsocks开机自启和后台运行设置完成
6、shadowsocks服务器TCP优化 (此部分因为在搬瓦工下貌似不起作用,就不列出了,有兴趣的可以去原文查阅)
至此,Shadowsocks服务你就可以使用了✌️
让Dropbox通过SS同步
全球最好的网盘Dropbox被墙后只能通过代理来使用,这几种翻墙的方法SS是最快最简单的,所以一般我都是在Mac上开SS,iOS上才用AnyConnect,Dropbox通过SS也能实现同步,只要按照以下设置就行
搬瓦工的SS速度还是相当不错的,但是有的朋友说不行,估计跟国内运营商和机房的位置有关吧,我用的北方电信,搬瓦工选择AZ的,下图是我Dropbox通过SS同步的速度,还不错哦
3.Cisco AnyConnect(以下内容转自ocserv(Cisco AnyConnect 兼容服务端) 一键安装脚本 for CentOS 7)
先放上须知:
支持自动判断防火墙,请确保 Firewalld 或者 iptables 其中一个是 active 状态;
默认采用用户名密码验证,本安装脚本编译的 ocserv 也支持 pam 验证,只需要修改配置文件即可;
默认配置文件在 /usr/local/etc/ocserv/ 目录,可自行更改脚本里的参数;
安装时会提示你输入端口、用户名、密码等信息,也可直接回车采用默认值,密码是随机生成的;
安装脚本会关闭 SELINUX,不知 SELINUX 是否会影响 ocserv;
自带路由表,只有路由表里的 IP 才会走 VPN,如果你有需要添加的路由表可自行添加;
如果你有证书机构颁发的证书,可以把证书放到脚本的同目录下,确保文件名和脚本里的匹配,安装脚本会使用你的证书,客户端连接时不会提示证书错误;
配置文件修改为单 IP 允许 10 个连接,全局 1024 个连接,可修改脚本前面的变量。1024 个连接大约需要 2048 个 IP,所以虚拟接口的 IP 配置了 8 个 C 段。
脚本下载:脚本下载
脚本分安装脚本和升级脚本,初次使用安装脚本,以后可以使用update脚本来更新ocserv(均以更新至0.10.2).
用下面的命令将脚本下载到vps上并运行
登录到vps
Mac:打开终端输入:
ssh -p vps端口 root@vpsIP
输入密码登录
登录后当前位置就是root用户目录,用下面的命令直接将脚本下载到vps上并运行
wget https://raw.githubusercontent.com/travislee8964/Ocserv-install-script-for-CentOS-RHEL-7/master/ocserv-install-script-for-centos7.sh sh ocserv-install-script-for-centos7.sh
或者将脚本下载到本地,然后用scp传输到vps上运行 Mac:在本地打开终端输入:
scp -P vps端口 脚本路径 root@vpsIP:~
会提示输入vps的密码,然后可以看到进度了,如果出错请查看是否有多余的空格出现.这个命令传输脚本到当前用户目录下,也就是root用户目录下.脚本路径可以直接将下载的脚本拖拉到光标位置,终端会自动添上路径的,很强大✌️.
然后登录到vps上运行脚本:
修改配置
配置文件在/usr/local/etc/ocserv下
vi /usr/local/etc/ocserv/ocserv.conf
修改相关配置,用户数,连接数,路由表什么的,如果想全局走VPN,就把所有路由表删了,或者注释了就行.还可以使用白名单,在配置文件最后加上:
custom-header = "X-CSTP-Split-Exclude:123.58.180.0/255.255.255.0"
新的0.10.2版本的ocserv可以使用no-route来设置白名单了
no-route = 123.58.180.0/255.255.255.0 no-route = 101.226.62.0/255.255.255.0 no-route = 101.226.103.0/255.255.255.0 no-route = 140.207.54.0/255.255.255.0 no-route = 61.144.238.145/255.255.255.0 no-route = 202.104.129.251/255.255.255.0 no-route = 61.141.194.203/255.255.255.0 no-route = 202.96.170.166/255.255.255.0 no-route = 218.18.95.221/255.255.255.0 no-route = 219.133.45.15/255.255.255.0 no-route = 218.17.209.23/255.255.255.0
可以输入多行以使更多IP进入白名单 修改完成后运行:
systemctl restart ocserv.service
重新启动服务
我们可以通过ocpasswd来增加新用户
在/usr/local/etc/ocserv/目录下有个ocpasswd文件,这个是安装脚本生成的密码文件,里面有你的用户和密码.
ocpasswd -c /usr/local/etc/ocserv/ocpasswd 用户名
然后会提示输入密码的过程了.
到这里Cisco AnyConnect也配置完成,手机端下载一个客户端就可以使用了,将阻止不信任的服务器关闭即可登录.
使用证书来登录AnyConnect
先前部署了AnyConnect,但是每次开启服务都要输入密码很烦,开始我就设置了一位密码,现在我们可以用证书来简化登录过程.
下载脚本
wget https://raw.githubusercontent.com/jannerchang/Ocserv-install-script-for-CentOS-RHEL-7/master/build-ca.sh
运行脚本
sh build-ca.sh
输入安装密码即可,也可以为空
将/usr/local/etc/ocserv/ca/user.p12这个证书通过邮件发送给iPhone,导入的时候输入生成证书环节中输入的密码即可.
然后去AnyConnect客户端服务器高级设置里选择证书即可.
但是经过几天测试感觉证书认证虽然登录简单了,但是稳定性稍差,经常锁屏后断线不重连,所以我现在还是使用密码认证方式登录,有兴趣的可以试试,这里提供一个切换密码和证书认证方式的脚本.
切换成密码认证:
wget https://raw.githubusercontent.com/jannerchang/Ocserv-install-script-for-CentOS-RHEL-7/master/change-to-pwd.sh
切换成证书认证:
wget https://raw.githubusercontent.com/jannerchang/Ocserv-install-script-for-CentOS-RHEL-7/master/change-to-ca.sh
几点注意
1.如果出现安全网关被拒绝可以换个机房,最近发现部分机房会有这个问题,也可以联系vps服务商.
2.ocserv的端口最好在10000以上,太小有可能会出现服务无法启动的问题.
4.IPsecVPN
为什么要使用IPsec VPN?因为我在我们的Lifehacker群(178170151)里看到一人转发的文章,大概意思是,在iOS8里,Anyconnect变的很慢了,而且Strongswan支持IKEv1和2了,这就可以用Apple Configurator来配置iOS,达成按需访问的需求了。看到这个我又蠢蠢欲动了,我就赶紧去鼓动Allenforrest去研究,结果这货每次见我叫他都选择性逃避,装作没看到!干!又得自力更生!
经过无数个日日夜夜,查到的全是在Debian和Ubuntu下的教程,各种命令语法跟CentOS还有出入,Allen还是各种躲避。。。经历重新安装Debian后又重新装回CentOS的折腾后,终于搞定了。主要还是参考了iOS8 不越狱翻墙方案 和iOS Ondemand IPSec VPN Setup,这两篇都是Debian和Ubuntu,只要稍作改动即可安装到CentOS上,简易教程来🐦。
首先我们来编译Strongswan,因为直接用yum install 的不能用,不解中😖 下载源码和依赖包
wget http://download.strongswan.org/strongswan-5.2.2.tar.bz2 && tar xjvf strongswan-5.2.2.tar.bz2; cd strongswan-5.2.2 yum install openssl-devel yum install make gcc gmp-devel
搬瓦工是OpenVZ的所以用下面的命令来配置
./configure --sysconfdir=/etc --disable-sql --disable-mysql --disable-ldap --enable-dhcp --enable-eap-identity --enable-eap-mschapv2 --enable-md4 --enable-xauth-eap --enable-eap-peap --enable-eap-md5 --enable-openssl --enable-shared --enable-unity --enable-eap-tls --enable-eap-ttls --enable-eap-tnc --enable-eap-dynamic --enable-addrblock --enable-radattr --enable-nat-transport --enable-kernel-netlink --enable-kernel-libipsec
开始编译
make && sudo make install
完全没有错误出现✌️
生成证书
开始生成证书想要ssl证书的可以看文章里的链接,有列出哦 建立个临时目录来生成证书,然后复制到/etc/ipsec.d/里
mkdir ~/ipsec_cert && cd ~/ipsec_cert
生成服务器证书 用的是iOS8 不越狱翻墙方案他创建的脚本。SERVER换成你自己vps的域名或IP都行
wget https://gist.githubusercontent.com/songchenwen/14c1c663ea65d5d4a28b/raw/cef8d8bafe6168388b105f780c442412e6f8ede7/server_key.sh sh server_key.sh SERVER
生成客户端证书 同样是他的脚本,这个脚本还会生成一个p12证书,这个证书需要导入到iOS里,USER换成你自己的用户名 EMAIL换成你自己的email。
wget https://gist.githubusercontent.com/songchenwen/14c1c663ea65d5d4a28b/raw/54843ae2e5e6d1159134cd9a90a08c31ff5a253d/client_key.sh sh client_key.sh USER EMAIL
执行完后把.p12证书和cacerts/strongswanCert.pem 下载到本地来备用
我是在~目录里生成的证书,所以在本地端命令如下:
scp -P ssh端口 root@服务器ip:~/ipsec_cert/janner.p12 ~/ scp -P ssh端口 root@服务器ip:/ipsec_cert/cacerts/strongswanCert.pem /
配置Strongswan 编辑 /etc/ipsec.conf
sudo vi /etc/ipsec.conf config setup # strictcrlpolicy=yes # uniqueids = replace # charondebug="cfg 2, dmn 2, ike 2, net 0" #要看Log时,取消注释本行 conn %default keyexchange=ikev1 dpdaction=hold dpddelay=600s dpdtimeout=5s lifetime=24h ikelifetime=240h rekey=no left=emptyzone.github.io #这里换成你登录 VPN 用的域名或 IP,与生成证书时相同 leftsubnet=0.0.0.0/0 leftcert=vpnHostCert.pem leftsendcert=always right=%any rightdns=8.8.8.8 rightsourceip=10.0.0.0/8 conn CiscoIPSec rightauth=pubkey rightauth2=xauth auto=add
编辑/etc/ipsec.secrets
sudo vi /etc/ipsec.secrets
#验证用户所需的信息 #用户名 : EAP "密码" : RSA vpnHostKey.pem 你的用户名 : EAP "你的密码"
配置防火墙
编辑/usr/lib/firewalld/services/ipsec.xml如下:
<?xml version="1.0" encoding="utf-8"?> <service> <short>IPsec</short> <description>Internet Protocol Security (IPsec) incorporates security for network transmissions directly into the Internet Protocol (IP). IPsec provides methods for both encrypting data and authentication for the host or network it sends to. If you plan to use a vpnc server or FreeS/WAN, do not disable this option.</description> <port protocol="ah" port=""/> <port protocol="esp" port=""/> <port protocol="udp" port="500"/> <port protocol="udp" port="4500"/> </service>
然后依次输入如下命令就OK了✌️
firewall-cmd --permanent --add-service=ipsec firewall-cmd --permanent --add-masquerade firewall-cmd --reload
其他的就是配置分流路由器和开机启动啥的,我都没怎么配置,到此服务器端配置结束😄
你可以把下载的两个证书用email发送到你的iOS上,安装后建立个VPN连接,选IPsec,使用证书,选择你的用户名的证书即可,登录下试试吧。成功后就可以按照我上文所引用的两篇文章来使用 Configurator来配置你的描述文件,通用用email发送到iOS上安装即可,断线切换网络都会自动连接,给力吧,可以暂时抛弃Anyconnect了吧,哇咔咔,高级配置如只有特定域名才会连VPN的也能设置,自己可以琢磨了😄
但是现在貌似Strongswan不太稳定,经常处于疯狂重拨阶段,所以我还是使用AnyConnect多一些了✌️,有什么问题可以在twitter上与我交流@JannerChang.
用Launch Center Pro快速开关AnyConnect
在搬瓦工CentOS7下配置Cisco Anyconnect和Shadowsocks中搭好AnyConnect后,最麻烦的地方当属开关服务了,如果你有LCP,那一切都简单了,做一个group,建立俩action一开一关轻松加愉快,如果使用证书,连密码都不用添✌️:
开:
anyconnect://connect/?name=你的链接名称&prefill_username=你的用户名&prefill_password=你的密码(经测没用,还得输入)&onsuccess=anyconnect:close
关:
anyconnect://disconnect?onsuccess=anyconnect:close
厦门第一顿餐 19° Mostly Sunny 洪本部巷, 厦门市, 福建省, 中国 发自我的 iPhone
夜宵去了原台湾小吃街,生蚝一般,绕回中山路黄则和花生汤排长队,有个叫原巷口鱼丸排长队,买了点鼓浪屿馅饼店的手工蛋卷不错,馅饼也挺好吃 发自我的 iPhone
还让我下乡的死全家😠
Bits有点儿简陋,支持Tumblr、iCloud和Wordpress ,编辑器很简单,支持MD就好了
优化karabiner设置双击CMD呼出spotlight
Alfred最喜欢他的cmd double tap来呼出很方便,之前的blog介绍了换成单击右cmd呼出spotlight,说实话还是不如左边的方便,所以今天研究了一下此软件自带的方案,它提供了一个controlLx2呼出spotlight,我们改成commandl不就好了,很简单,代码如下
<item> <name>Command_L x2 to Control_L+Space</name> <identifier>remap.command_x2_to_controlLspace</identifier> <autogen>__DoublePressModifier__ KeyCode::COMMAND_L, KeyCode::COMMAND_L, KeyCode::SPACE, ModifierFlag::CONTROL_L</autogen> </item>
10 posts!✌️