在 Snap 中玩转 OpenStack

by linux@linux.cn (linux)

OpenStack 非常复杂,许多社区成员都在努力使 OpenStack 的部署和操作更加容易。其中大部分时间都用来改善相关工具,如:Ansible、Puppet、Kolla、Juju、Triple-O 和 Chef (仅举几例)。但是,如果我们降低一下标准,并且还能使包的体验更加简单,将会怎样呢?

我们正在努力通过 snap 包来实现这一点。snap 包是一种新兴的软件分发方式,这段来自 snapcraft.io 的介绍很好的总结了它的主要优点:snap 包可以快速安装、易于创建、安全运行而且能自动地事务化更新,因此你的应用程序总是能保持最新的状态并且永远不会被破坏。

捆绑软件

单个 snap 包可以内嵌多个不同来源的软件,从而提供一个能够快速启动和运行的解决方案。当你安装 snap 包时,你会发现安装速度是很快的,这是因为单个 snap 包捆绑了所有它需要的依赖。这和安装 deb 包有些不同,因为它需要下载所有的依赖然后分别进行安装。

Snap 包制作简单

在 Ubuntu 工作的时候,我花了很多时间为 Debian 制作 OpenStack 的安装包。这是一种很特殊技能,需要花很长时间才能理解其中的细微差别。与 snap 包相比,deb 包和 snap 包在复杂性上的差异有天壤之别。snap 包简单易行,并且相当有趣。

Snap 包的其它特性

  • 每个 snap 包都安装在其独有的只读 squashfs 文件系统中。
  • 每个 snap 包都运行在一个由 AppArmor 和 seccomp 策略构建的严格沙箱环境中。
  • snap 包能事务更新。新版本的 snap 包会安装到一个新的只读 squashfs 文件系统中。如果升级失败,它将回滚到旧版本。
  • 当有新版本可用时,snap 包将自动更新。
  • OpenStack 的 snap 包能保证与 OpenStack 的上游约束保持一致。打包的人不需要再为 OpenStack 依赖链维护单独的包。这真是太爽了!

OpenStack snap 包介绍

现在,下面这些项目已经有了相应的 snap 包:

  • Keystone —— 这个 snap 包为 OpenStack 提供了身份鉴证服务。
  • Glance —— 这个 snap 包为 OpenStack 提供了镜像服务。
  • Neutron —— 这个 snap 包专门提供了 neutron-server 过程,作为 OpenStack 部署过程的一个 snap 包。
  • Nova —— 这个 snap 包提供 OpenStack 部署过程中的 Nova 控制器组件。
  • Nova-hypervisor —— 这个 snap 包提供 OpenStack 部署过程中的 hypervisor 组件,并且配置使用通过 deb 包安装的 Libvirt/KVM + Open vSwitch 组合。这个 snap 包同时也包含 nava-lxd,这允许我们使用 nova-lxd 而不用 KVM。

这些 snpa 包已经能让我们部署一个简单可工作的 OpenStack 云。你可以在 github 上找到所有这些 OpenStack snap 包的源码。有关 OpenStack snap 包更多的细节,请参考上游存储库中各自的 README。在那里,你可以找到更多有关管理 snap 包的信息,比如覆盖默认配置、重启服务、设置别名等等。

想要创建自己的 OpenStack snap 包吗?

查看 snap cookie 工具。我很快就会写一篇博文,告诉你如何使用 snap cookie 工具。它非常简单,并且能帮助你在任何时候创建一个新的 OpenStack snap 包。

测试 OpenStack snap 包

我们已经用简单的脚本初步测试了 OpenStack snap 包。这个脚本会在单个节点上安装 sanp 包,还会在安装后提供额外的配置服务。来尝试下吧:

git clone https://github.com/openstack-snaps/snap-test     cd snap-test     ./snap-deploy     

这样,我们就已经在 Ubuntu Xenial(16.04) 上做了所有的测试。要注意的是,这将在你的系统上安装和配置相当多的软件,因此你最好在可自由使用的机器上运行它。

追踪 OpenStack

现在,你可以从 snap 商店的边缘通道来安装 snap 包,比如:

sudo snap install --edge keystone     

OpenStack 团队正在努力使 CI/CD 配置到位,以便让 snap 包的发布能够交叉追踪 OpenStack 的发布(比如一个追踪 Ocata,另一个追踪 Pike 等)。每个轨道track都有 4 个不同的通道。每个轨道的边缘通道将包含 OpenStack 项目对应分支最近的内容,测试、候选和稳定通道被保留用于已发布的版本。这样我们将看到如下的用法:

sudo snap install --channel=ocata/stable keystone     sudo snap install --channel=pike/edge keystone     

其它

我们可以使用多个环境变量来简化 snap 包的制作。这里 有相关的说明。实际上,你无需深入的研究他们,但是在安装完 snap 包后,你也许会想要了解这些位置:

$SNAP == /snap/<snap-name>/current

这是 snap 包和它所有的文件挂载的位置。所有东西都是只读的。比如我当前安装的 keystone,$SNAP 就是 /snap/keystone/91。幸好,你不需要知道当前版本号,因为在 /snap/keystone/ 中有一个软链接(LCTT 译注:/snap/keystone/current/)指向当前正在使用版本对应的文件夹。

$ ls /snap/keystone/current/     bin                     etc      pysqlite2-doc        usr     command-manage.wrapper  include  snap                 var     command-nginx.wrapper   lib      snap-openstack.yaml     command-uwsgi.wrapper   meta     templates          $ ls /snap/keystone/current/bin/     alembic                oslo-messaging-send-notification     convert-json           oslo-messaging-zmq-broker     jsonschema             oslo-messaging-zmq-proxy     keystone-manage        oslopolicy-checker     keystone-wsgi-admin    oslopolicy-list-redundant     keystone-wsgi-public   oslopolicy-policy-generator     lockutils-wrapper      oslopolicy-sample-generator     make_metadata.py       osprofiler     mako-render            parse_xsd2.py     mdexport.py            pbr     merge_metadata.py      pybabel     migrate                snap-openstack     migrate-repository     sqlformat     netaddr                uwsgi     oslo-config-generator          $ ls /snap/keystone/current/usr/bin/     2to3               idle     pycompile     python2.7-config     2to3-2.7           pdb      pydoc         python2-config     cautious-launcher  pdb2.7   pydoc2.7      python-config     compose            pip      pygettext     pyversions     dh_python2         pip2     pygettext2.7  run-mailcap     easy_install       pip2.7   python        see     easy_install-2.7   print    python2       smtpd.py     edit               pyclean  python2.7          $ ls /snap/keystone/current/lib/python2.7/site-packages/     ...     

$SNAP_COMMON == /var/snap/<snap-name>/common

这个目录用于存放系统数据,对于
snap 包的多个修订版本这些数据是共用的。在这里,你可以覆盖默认配置文件和访问日志文件。

$ ls /var/snap/keystone/common/     etc  fernet-keys  lib  lock  log  run          $ sudo ls /var/snap/keystone/common/etc/     keystone  nginx  uwsgi          $ ls /var/snap/keystone/common/log/     keystone.log  nginx-access.log  nginx-error.log  uwsgi.log     

严格限制

每个 snap 包都是在一个由 seccomp 和 AppArmor 策略构建的严格限制的环境中运行的。更多关于 snap 约束的细节可以在 这里 查看。

snap 包即将到来的新特性和更新

我正在期待 snap 包一些即将到来的新特性和更新(LCTT 译注:此文发表于 7 月 6 日):

  • 我们正在致力于实现 libvirt AppArmor 策略,这样 nova-hypervisor 的 snap 包就能够访问 qcow2 的支持文件backing files。
    • 现在,作为一种变通方法,你可以将 virt-aa-helper 放在 complain 模式下:sudo aa-complain /usr/lib/libvirt/virt-aa-helper
  • 我们还在为 snapd 开发额外的接口策略,以便为部署的实例启用网络连接。
    • 现在你可以在 devmode 模式下安装 nova-hypervisor snap 包,它会禁用安全限制:snap install -devmode -edge nova-hypervisor
  • 自动连接 nova-hypervisor 的接口。我们正在努力实现在安装时自动定义 nova-hypervisor 接口。
    • 定义 AppArmor 和 seccomp 策略的接口可以允许 snap 包访问系统的资源。
    • 现在,你可以手动连接需要接口,在 nova-hypervisor snap 包的 README 中有相关的描述。
  • 命令自动定义别名。我们正在努力实现 snap 包在安装时为命令自动定义别名。
    • 这使得我们可以使用传统的命令名。安装 snap 包后,你将可以使用 nova-manage db sync 而无需再用 nova.manage db sync
    • 现在,你可以在安装 snap 包后手动设置别名,比如:snap alias nova.manage nova-manage。如想获取更多细节请查看 snap 包的 README 。
  • 守护进程自动定义别名。当前 snappy 仅支持为命令(非守护进程)定义别名。一旦针对守护进程的别名可用了,我们将设置它们在安装的时候自动配置。
    • 这使得我们可以使用额外的单元文件名。我们可以使用 systemctl restart nova-compute 而无需再用 systemctl restart snap.nova.nova-compute
  • snap 包资产跟踪。这使得我们可以追踪用来构建 snap 包的版本以便在将来构建时重复使用。

如果你想多聊一些关于 snap 包的内容,你可以在 freenode 的 #openstack-snaps 这样的 IRC 上找到我们。我们欢迎你的反馈和贡献!感谢并祝你玩得开心!Corey


作者简介:

Corey Bryant 是 Ubuntu 的核心开发者和 Canonical 公司 OpenStack 工程团队的软件工程师,他主要专注于为 Ubuntu 提供 OpenStack 的安装包以及为 Juju 进行 OpenStack 的魅力开发。他对开源软件充满热情,喜欢与来自世界各地的人一起工作。

译者简介:

snapcraft.io 的钉子户,对 Ubuntu Core、Snaps 和 Snapcraft 有着浓厚的兴趣,并致力于将这些还在快速发展的新技术通过翻译或原创的方式介绍到中文世界。有兴趣的小伙伴也可以关注译者个人的公众号: Snapcraft,最近会在上面连载几篇有关 Core snap 发布策略、交付流程和验证流程的文章,欢迎围观 :)


via: https://insights.ubuntu.com/2017/07/06/openstack-in-a-snap/

作者:Corey Bryant 译者:Snapcrafter 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

完美阅读及发表评论,请猛击:https://linux.cn/article-8816-1.html?utm_source=rss&utm_medium=rss

Shared via Inoreader

在 Snap 中玩转 OpenStack

GitHub 简易入门指南

by 十七树

博客 – 伯乐在线 / 2017-08-28 21:10

Getting Started With GitHub

GitHub 是一个在线平台,旨在促进在一个共同项目上工作的个人之间的代码托管、版本控制和协作。通过该平台,无论何时何地,都可以对项目进行操作(托管和审查代码,管理项目和与世界各地的其他开发者共同开发软件)。GitHub 平台为开源项目和私人项目都提供了项目处理功能。

关于团队项目处理的功能包括:GitHub 流Flow>和 GitHub 页Pages。这些功能可以让需要定期部署的团队轻松处理工作流程。另一方面,GitHub 页提供了页面用于展示开源项目、展示简历、托管博客等。

GitHub 也为个人项目提供了必要的工具,使得个人项目可以轻松地处理。它也使得个人可以更轻松地与世界分享他们的项目。

注册 GitHub 并启动一个项目

在 GitHub 上启动新项目时,您必须先使用您的电子邮件地址创建一个帐户。

github homepage

然后,在验证邮箱的时候,用户将自动登录到他们的 GitHub 帐户。

1、 创建仓库

之后,我们会被带到一个用于创建仓库repository的页面。仓库存储着包括修订历史记录在内的所有项目文件。仓库可以是公开的或者是私有的。公开的仓库可以被任何人查看,但是,只有项目所有者授予权限的人才可以提交修改到这个仓库。另一方面,私有仓库提供了额外的控制,可以将项目设置为对谁可见。因此,公开仓库适用于开源软件项目,而私有仓库主要适用于私有或闭源项目。

  • 填写 “仓库名称Repository Name” 和 “简短描述Short Description”。
  • 选中 “以一个 README 文件初始化Initialize this repository with a README”。
  • 最后,点击底部的 “创建仓库Create Repository” 按钮。

create a github repository

2、 添加分支

在 GitHub 中,分支branch是一种同时操作单个仓库的各种版本的方式。默认情况下,任何创建的单个仓库都会被分配一个名为 “MASTER” 的分支,它被认为是最后一个分支。在 GitHub 中,分支在被合并到主干master(最后的分支)之前,可以在对仓库进行实验和编辑中发挥作用。

为了使项目适合每一个人的需求,通常情况下,总是需要添加几个格外的分支来匹配不同的项目。在主分支上创建一个分支和复制主分支时的当前状态是一样的。

add a branch to github repository

创建分支与在不同版本中保存单个文件是类似的。它通过在特定仓库上执行的任务重命名来实现。

分支在保持错误修复和功能添加工作中同样被证明是有效。在进行必要的修改后,这些分支会被合并到主分支中。

在创建仓库后创建一个分支:

  • 在这个例子中,点击仓库名称 “Hello-World” 跳转到你的新仓库。
  • 点击顶部的 “Branch:Master” 按钮,会看到一个下拉菜单,菜单里有填写分支名称的空白字段。
  • 输入分支名称,在这个例子中我们输入 “readme-edits“。
  • 按下回车键或者点击蓝色的 “创建分支create branch” 框。

这样就成功创建了两个分支:master 和 readme-edits。

3、 修改项目文件并提交

此步骤提供了关于如何更改仓库并保存修改的指导。在 GitHub 上,提交commit被定义为保存的修改的意思。每一次提交都与一个提交信息commit message相关联,该提交信息包含了保存的修改的历史记录,以及为何进行这些更改。这使得其他贡献者可以很轻松地知道你做出的更改以及更改的原因。

要对仓库进行更改和提交更改,请执行以下步骤:

  • 点击仓库名称 “Hello-World”。
  • 点击右上角的铅笔图标查看和编辑文件。 commit changes to github repository
  • 在编辑器中,写一些东西来确定你可以进行更改。
  • 在提交消息commit message字段中做简要的总结,以解释为什么以及如何进行更改。
  • 点击提交更改 commit changes按钮保存更改。

请注意,这些更改仅仅影响到 readme-edits 分支,而不影响主分支。

commit branch to master

4、 开启一个拉取请求

拉取请求pull request是一个允许贡献者提出并请求某人审查和合并某些更改到他们的分支的功能。拉取请求还显示了几个分支的差异(diffs)。更改、添加和删减通常以红色和绿色来表示。一旦提交完成就可以开启拉取请求,即使代码还未完成。

开启一个拉取请求:

  • 点击拉取请求pull requests选项卡。 github pull request
  • 点击新建拉取请求new pull requests按钮。
  • 选择 readme-edits 分支与 master 分支进行比较。 compare commit changes github
  • 确定请求,并确定这是您要提交的内容。
  • 点击创建拉取请求绿色按钮并输入一个标题。 open a pull request in github repository
  • 按下回车键。

用户可以通过尝试创建并保存拉取请求来证实这些操作。

5、 合并拉取请求

最后一步是将 readme-edits 分支和 master 分支合并到一起。如果 readme-edits 分支和 master 分支不会产生冲突,则会显示merge pull request合并拉取请求的按钮。

merge the pull request github

当合并拉取时,有必要确保评论com
ment和其他字段被正确填写。合并拉取:

  • 点击merge pull request合并拉取请求的按钮。
  • 确认合并。
  • 按下紫色的删除分支按钮,删除 readme-edits 分支,因为它已经被包含在 master 分支中。(LCTT 译注:如果是合并他人提交的拉取请求,则无需也无法删除合并过来的他人的分支。)

本文提供了 GitHub 平台从注册到使用的基本操作,接下来由大家尽情探索吧。

GitHub 简易入门指南,首发于文章 – 伯乐在线

Shared via Inoreader

GitHub 简易入门指南

Shadowsocks-Panel安装教程

by FISHERMAN

这个面板程序不是ss-panel,也不是ss-panel魔改版,请各位先知悉这是另一款完全不相同的Shadowsocks面板程序。

这款叫shadowsocks-panel的面板程序相对来说比较小众,用的人不多。与ss-panel魔改版做对比的话,有优点也有缺点。下面来具体说说。
shadowsocks-panel的前端风格和后台界面LALA都觉得比ss-panel魔改版要好看太多,所以说外观党一定会喜欢这款面板。另外在功能方面没有ss-panel魔改版看上去那样臃肿,整个后台界面的选项设置都是一目了然的。当然缺点也有不少,首当其冲的是这款面板程序目前作者还没有将一些功能开发完,比如提交工单、购买套餐的功能就还没有开发完成,并且LALA看了下Github的项目时间,貌似已经烂尾了。。。
基于上述LALA给大家的说明,各位可以先考虑下再决定是否使用这款面板程序。LALA本人还是挺喜欢这款面板的,所以今天就写篇详细的安装教程吧~
准备工作:一台VPS,系统安装CentOS6X64位。
还是老样子使用Xshell登录你的VPS,首先安装一下宝塔WEB面板:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh
安装完成后,登录面板后台,安装LNMP环境,除了PHP一定要选择7.0以外,其他组件默认即可.
安装好后还是老样子在面板中新建一个网站,输入你的域名和创建一个FTP。接着点击设置按钮,进入到具体的设置界面。
首先设置程序的伪静态规则:
if (!-e $request_filename) {
rewrite
(.*) /index.php last;
}
接着点击网站目录这个选项卡,将程序的运行目录切换到/Public.
现在点击面板上的软件管理,点击PHP版本后的设置按钮,点击禁用函数选项卡,将里面的函数全部都删除.
最后点击面板上的数据库按钮,进入phpmyadmin,使用phpmyadmin新建一个数据库,并命名为:shadowsocks
到这里shadowsocks-panel需要运行的环境就搭建好了。
现在打开shadowsocks-panel在Github上的项目主页,下载相关程序:
这里使用当前的最新版:
现在先解压主程序压缩包,然后以不包含文件夹的形式重新进行一次zip压缩,接着将重新压缩好的压缩包上传到网站的根目录中并解压。
重要:现在看到网站根目录中的Resource文件夹,点击进入这个文件夹上传Resource.zip压缩包并解压.
接着回到根目录,进入Data文件夹,编辑里面的Config.simple.php文件.
将刚才复制的所有内容全部粘贴到这个新的Config.php中.
查找到如下图的内容,将如下图内的数据库连接信息修改成你刚才创建的数据库信息:
shadowsocks-panel.png
回到网站根目录下,选择Data目录,点击权限按钮.
将Data目录的权限设置成777。
现在记住并复制你的网站根目录路径,一般是:/www/wwwroot/你的站点域名
回到Xshell终端里面,进入到你的站点根目录:
cd /www/wwwroot/你的站点域名
输入如下命令开始安装shadowsocks-panel面板程序:
php index.php install
稍等一会儿看到ALL DONE则说明安装成功.
确定所有页面都能正常访问后,最后给面板添加一下计划任务。
输入命令:
crontab -e
添加:
* * * * * /usr/bin/curl http://你的站点域名/cron
退出保存即可。
现在来给面板安装后端服务并进行整合。
cd到root目录下:
cd /root
获取最新版shadowsocks-rm manyuser:
git clone https://github.com/Acris/shadowsocks-rm.git
cd shadowsocks
-rm/shadowsocks
安装必要软件包:
yum install m2crypto python-setuptools
easy_install pip
安装cymysql支持:
pip install cymysql
安装libsodium(如不需要ChaCha20、salsa20等加密算法可不安装,不过LALA建议还是安装一下):
yum -y groupinstall "Development Tools"
wget https
://github.com/jedisct1/libsodium/releases/download/1.0.10/libsodium-1.0.10.tar.gz
tar xf libsodium
-1.0.10.tar.gz && cd libsodium-1.0.10
./configure && make -j2 && make install
echo
/usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf
ldconfig
编辑配置文件:
vi config.py
找到配置文件中的数据库连接信息,修改成我们之前创建的数据库信息(和面板使用的数据库是同一个)
退出并保存配置信息,现在来关闭一下CentOS的防火墙:
service iptables stop
先将后端用调错方式尝试运行:
python servers.py
现在打开我们的网站,点击右上角的获取邀请码,初次安装好的面板,系统会自动预留一个可注册的邀请码,并且第一个注册的用户默认就是网站的管理员.
现在我们来使用邀请码注册一下,
登录进去,是不是如之前所说,这个面板界面真的很漂亮~
现在来添加节点来测试下我们的后端是否能与面板整合并正常运行。
点击前台的管理员后台按钮进入到后台面板中.
因为我们现在运行后端的方式是为了调错以及测试是否能够正常使用,在我们确定SS能够正常使用后,现在要把后端放到后台去运行。
先按键盘组合键Ctrl+C退出当前运行的后端。
接着安装supervisor:
yum install supervisor
编辑supervisor的配置文件:
vi /etc/supervisord.conf
在这个文件的最下方空白处新增如下内容:
[program:shadowsocks-rm]
command
= /usr/bin/python /root/shadowsocks-rm/shadowsocks/servers.py
directory
= /root/shadowsocks-rm/shadowsocks
user
= root
autostart
= true
autorestart
= true
如你是按照我这篇文章安装的面板和后端,那么上面的内容你无需做任何更改直接保存即可。如果你安装的路径不同,则需要更改command和directory后面的值。
最后启动supervisor,输入如下命令:
supervisord
到此,这个面板的安装与配置就基本结束了。
LALA的后话:
这个面板也支持自定义加密方式,但如我之前所
,需要先安装libsodium,确定libsodium安装好后,在后台添加节点的过程中也要选择该节点支持自定义加密。这样前台的自定义加密方式功能才能正常使用。使用方面很简单,用户只需要在前台点击账户中心,选择自定义节点加密,在新页面中选择想使用的加密方式保存即可.
另外还是如我之前所说,这款程序现在已经烂尾了,作者已经很久没更新,包括还没有完成的功能现在也没有音讯,所以你们在使用的过程中可以看到订单中心的购买按钮是不能用的、订单管理页面是空白的、我的工单页面是404错误、服务支持页面也是空白的等情况,这些都是正常的,这些不是程序没配置好,而是程序作者根本就还没完成这些功能。但这些功能不影响用户的使用,也不会特别影响想使用这款面板做SS销售的人。因为这款程序的卡密、邀请码功能还是完善的。我们完全可以抛弃程序的这些功能去使用第三方的发卡平台或者支付平台来销售.
可以考虑使用它的这个分支:

Shared via Inoreader

Shadowsocks-Panel安装教程

CentOS下shadowsocks-libev一键安装脚本 | 秋水逸冰

CentOS下shadowsocks-libev一键安装脚本 | 秋水逸冰

本脚本适用环境:
系统支持:CentOS
内存要求:≥128M
日期:2017 年 07 月 22 日

关于本脚本:
一键安装 libev 版的 Shadowsocks 最新版本。该版本的特点是内存占用小(600k左右),低 CPU 消耗,甚至可以安装在基于 OpenWRT 的路由器上。
友情提示:如果你有问题,请先参考这篇《Shadowsocks Troubleshooting》后再问。

默认配置:
服务器端口:自己设定(如不设定,默认为 8989)
密码:自己设定(如不设定,默认为 teddysun.com
加密方式:自己设定(如不设定,默认为 aes-256-gcm)

Shadowsocks for Windows 客户端下载:
https://github.com/shadowsocks/shadowsocks-windows/releases

使用方法:
使用root用户登录,运行以下命令:

wget --no-check-certificate -O shadowsocks-libev.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-libev.sh  chmod +x shadowsocks-libev.sh  ./shadowsocks-libev.sh 2>&1 | tee shadowsocks-libev.log

安装完成后,脚本提示如下:

Congratulations, Shadowsocks-libev server install completed!  Your Server IP        :your_server_ip  Your Server Port      :your_server_port  Your Password         :your_password  Your Encryption Method:your_encryption_method    Welcome to visit:https://teddysun.com/357.html  Enjoy it!

卸载方法:
使用 root 用户登录,运行以下命令:

./shadowsocks-libev.sh uninstall

其他事项:
客户端配置的参考链接:https://teddysun.com/339.html

安装完成后即已后台启动 Shadowsocks-libev ,运行:

/etc/init.d/shadowsocks status

可以查看进程是否启动。
本脚本安装完成后,会将 Shadowsocks-libev 加入开机自启动。

使用命令:
启动:/etc/init.d/shadowsocks start
停止:/etc/init.d/shadowsocks stop
重启:/etc/init.d/shadowsocks restart
查看状态:/etc/init.d/shadowsocks status

更多版本 Shadowsocks 安装:
ShadowsocksR 版一键安装脚本(CentOS,Debian,Ubuntu)
Shadowsocks Python 版一键安装脚本(CentOS,Debian,Ubuntu)
Debian 下 Shadowsocks-libev 一键安装脚本
Shadowsocks-go 一键安装脚本(CentOS,Debian,Ubuntu)

更新日志

2017 年 07 月 22 日:
1、修正:默认加密方式从 aes-256-cfb 改为 aes-256-gcm(官方原版客户端支持该加密方式);
2、新增:安装时可选 16 种加密方式的其中之一。如下所示:

aes-256-gcm  aes-192-gcm  aes-128-gcm  aes-256-ctr  aes-192-ctr  aes-128-ctr  aes-256-cfb  aes-192-cfb  aes-128-cfb  camellia-128-cfb  camellia-192-cfb  camellia-256-cfb  chacha20-ietf-poly1305  chacha20-ietf  chacha20  rc4-md5

2017 年 02 月 24 日:
1、恢复: 通过 Github API 自动获取 Shadowsocks-libev 的最新 release 版本的功能(v3.0.3)。

2017 年 02 月 13 日:
1、更新:升级版本到 3.0.2。

2017 年 02 月 12 日:
1、更新:升级版本到 3.0.1(请下载最新的脚本来安装)。

2016 年 11 月 05 日:
1、新增:判断是否已安装,若已安装,则获取版本号与最新版比较,然后可以升级覆盖安装;
2、修正:未安装时获取最新版本号的问题。

2016 年 09 月 23 日:
1、修正:偶尔自动获取版本号失败的问题;
2、新增:自动判断如果 VPS 存在 IPv6 地址,则在配置文件里添加监听 IPv6 地址。

2016 年 09 月 17 日:
1、重构代码,自动获取 Github 上最新版来安装,不再手动修改版本号;
2、自动检测本机是否已经安装,若已安装则正常退出(若要安装新版,则需先卸载);
3、改为下载 tar.gz 包来安装,不用依赖 unzip 命令。

2016 年 09 月 12 日:
1、更新:升级版本到 2.5.2。

2016 年 09 月 11 日:
1、更新:升级版本到 2.5.1。

2016 年 08 月 29 日:
1、更新:升级版本到 2.5.0;
2、修正:由于安装时文件名的更新,卸载时文件名改为一致。

2016 年 07 月 14 日:
1、更新:升级版本到 2.4.7。

2016 年 07 月 05 日:
1、修正:新增的依赖 xmlto、asciidoc;
2、修正:由于安装时文件名的更新,卸载时文件名改为一致。

2016 年 05 月 12 日:
1、新增:在 CentOS 7 下的防火墙规则设置。

2015 年 08 月 01 日:
1、新增:自定义服务器端口功能(如不设定,默认为 8989)。

2015 年 04 月 30 日:
1、修正:配置文件 /etc/shadowsocks-libev/config.json 同时启用 IPv4 与 IPv6 支持:

{      "server":["[::0]","0.0.0.0"],      "server_port":your_server_port,      "local_address":"127.0.0.1",      "local_port":1080,      "password":"your_password",      "timeout":600,      "method":"aes-256-cfb"  }

2、Shadowsocks libev 版不能通过修改配置文件来多端口(只能开启多进程),如果你需要多端口请安装 Python 或 Go 版;

特别说明:
1、已安装旧版本的 shadowsocks 需要升级的话,需下载本脚本的最新版,直接运行即可自动升级

./shadowsocks-libev.sh

参考链接:
https://github.com/shadowsocks/shadowsocks-libev

转载请注明:秋水逸冰 » CentOS下shadowsocks-libev一键安装脚本

CentOS下shadowsocks-libev一键安装脚本 | 秋水逸冰

科学上网路由使用ngrok

秦峰的点滴 / 2017-07-31 14:46

Ngrok

  • ngrok是一个反向代理的服务,路由器安装了这个服务,可以远程访问路由器

ngrok.cc 注册和开通服务

  • 打开ngrok.cc注册并登陆
  • 开通隧道,因为我们只是管理路由设备,免费可以满足使用 2017-07-30-162207.jpg

2017-07-30-162732.jpg

2017-07-30-162839.jpg

  • 打开主页,复制Token 2017-07-30-162952.jpg

PDN路由器设置

  • 打开路由器,扩展功能,花生壳内网版,打开Ngrok
    2017-07-30-163245.jpg

  • 在Ngrok的界面,按提示输入服务器地址,服务器端口,服务器Token为ngrok.cc的主页中的token,分配域名输入ngrok.cc注册的前置域名

2017-07-30-164233.jpg

使用

Shared via Inoreader

科学上网路由使用ngrok