Chapter 1 与上帝的对话

“你可以选择在人类中出众,只要你坚持梦想就好”,上帝说。

“好,我接受”,教授懒得搭理这个糟老头子。

“有‘但是’两个字,你有独特的地方。但……”

“没关系,我都接受”,教授不加迟疑。

“但选择坚持,你将会变得孤单。”,上帝不紧不慢的说完,“没有人会相信你说的话,没人会支持你,没人会肯定你的努力。哪怕是你最亲近的人,也会背叛你,辜负你,在背后刺伤你。你还选择坚持吗?”

“我 接 受。”

“如果你认为你准备好了,出口就在你身后。长路漫漫,不会再有避难所了。”

头戴式KV-2可穿戴炮塔 | 复盘

视频连接 https://www.bilibili.com/video/av45261527/

这一次视频做的十分认真,但是仍有不足之处,记录此文引以为戒。也为其他视频博主踩了一些坑。

HTTP协议是如何工作的?原理是什么?

视频地址:https://www.bilibili.com/video/av44861167

HTTP简介

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写。

HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。

设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。通过HTTP或者HTTPS协议请求的资源由统一资源标识符(Uniform Resource Identifiers,URI)来标识。

2014年12月,互联网工程任务组(IETF)的Hypertext Transfer Protocol Bis(httpbis)工作小组将HTTP/2标准提议递交至IESG进行讨论,于2015年2月17日被批准。HTTP/2标准于2015年5月以RFC 7540正式发表,取代HTTP 1.1成为HTTP的实现标准。

当前常见的而且是使用最多的还是HTTP/1.1,遂本文以讲解HTTP/1.1为主。

个人网站备案中的坑

TO:工信部备案管理官网

我是否需要备案?

需要备案的情况如下,在国内IDC服务商购置服务器,使用可以备案的域名。后者,稍后会讲到。

为Centos 7分配SWAP(交换分区)

经过Mariadb数次异常停摆后,查出来内存溢出错误。为啥以前就没有出过这个问题。free指令一看,我怎么没有swap分区!整理了一下Linux下分配交换分区的指令,以备后用。

当前环境为Centos 7,root用户

CentOS7编译安装Python3.7

安装依赖环境:

1
yum install -y openssl-devel openssl-static zlib-devel lzma tk-devel xz-devel bzip2-devel ncurses-devel gdbm-devel readline-devel sqlite-devel gcc libffi-devel

下载Python3.7.0

1
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz

将解压后文件夹迁移至/usr/local

1
mv Python-3.7.0 /usr/local

进入Python目录

1
cd /usr/local/Python-3.7.0/

Linux下创建自定义服务(systemctl)

以下用一个python脚本为例,创建一个系统服务。python运行指令:

1
/usr/bin/python /home/snail/autorun.py

创建服务描述文件

1
sudo vim /lib/systemd/system/autorun.service

写入如下内容:

1
2
3
4
5
6
7
8
9
10
[Unit]
Description=Test Service
After=multi-user.target
 
[Service]
Type=idle
ExecStart=/usr/bin/python /home/snail/autorun.py
 
[Install]
WantedBy=multi-user.target

上面定义了一个叫 Test Service 的服务。它在multi-user环境起来之后运行;ExecStart参数指定我们要运行的程序;idle确保脚本在其他东西加载完成之后运行,它的默认值是simple。

注意使用绝对路径。为了获得脚本的输出信息,我们可以重定向到文件,更改ExecStart。

SSR的混淆和加密协议介绍

现有插件介绍

1.混淆插件

此类型的插件用于定义加密后的通信协议,通常用于协议伪装,部分插件能兼容原协议。

plain:表示不混淆,直接使用协议加密后的结果发送数据包

http_simple:并非完全按照http1.1标准实现,仅仅做了一个头部的GET请求和一个简单的回应,之后依然为原协议流。使用这个混淆后,已在部分地区观察到似乎欺骗了QoS的结果。对于这种混淆,它并非为了减少特征,相反的是提供一种强特征,试图欺骗GFW的协议检测。要注意的是应用范围变大以后因特征明显有可能会被封锁。此插件可以兼容原协议(需要在服务端配置为http_simple_compatible),延迟与原协议几乎无异(在存在QoS的地区甚至可能更快),除了头部数据包外没有冗余数据包,客户端支持自定义参数,参数为http请求的host,例如设置为cloudfront.com伪装为云服务器请求,可以使用逗号分割多个host如a.com,b.net,c.org,这时会随机使用。注意,错误设置此参数可能导致连接被断开甚至IP被封锁,如不清楚如何设置那么请留空。服务端也支持自定义参数,意义为客户端仅能填写的参数列表,以逗号分割。
本插件的高级设置(C#版、python版及ssr-libev版均支持):本插件可以自定义几乎完整的http header,其中前两行的GET和host不能修改,可自定义从第三行开始的内容。例子:
baidu.com#User-Agent: abc\nAccept: text/html\nConnection: keep-alive
这是填于混淆参数的内容,在#号前面的是上文所说的host,后面即为自定义header,所有的换行使用\n表示(写于配置文件时也可直接使用\n而不必写成\n,换行符亦会转换),如遇到需要使用单独的\号,可写为\\,最末尾不需要写\n,程序会自动加入连续的两个换行。

Centos 7下搭建SSR服务器+BBR

下载一键安装脚本

脚本1(推荐)

1
2
3
yum -y install git
git clone https://github.com/flyzy2005/ss-fly
ss-fly/ss-fly.sh -ssr

脚本2

1
2
3
4
yum -y install wget
wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocksR.sh
chmod +x shadowsocksR.sh
bash shadowsocksR.sh

Hello World

Hello World

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×