登录服务器后,执行 sudo -i
获取 root 权限,然后执行
wget -N --no-check-certificate https://softs.fun/Bash/ssr.sh && chmod +x ssr.sh && bash ssr.sh
--2018-08-03 09:16:31-- https://softs.fun/Bash/ssr.sh
这是用来下载和安装ssr,在安装的过程中,会有几步的提示,比如:端口号、密码、加密方式、协议、混淆方式。下面的整体安装的步骤:
[ec2-user@ip-172-31-11-113 ~]$ sudo -i
[root@ip-172-31-11-113 ~]# wget -N --no-check-certificate https://softs.fun/Bash/ssr.sh && chmod +x ssr.sh && bash ssr.sh
--2018-08-03 09:16:31-- https://softs.fun/Bash/ssr.sh
Resolving softs.fun (softs.fun)... 168.235.104.198
Connecting to softs.fun (softs.fun)|168.235.104.198|:443... connected.
HTTP request sent, awaiting response... 304 Not Modified
File 'ssr.sh' not modified on server. Omitting download.
ShadowsocksR 一键管理脚本 [v2.0.38]
---- Toyo | doub.io/ss-jc42 ----
1. 安装 ShadowsocksR
2. 更新 ShadowsocksR
3. 卸载 ShadowsocksR
4. 安装 libsodium(chacha20)
————————————
5. 查看 账号信息
6. 显示 连接信息
7. 设置 用户配置
8. 手动 修改配置
9. 切换 端口模式
————————————
10. 启动 ShadowsocksR
11. 停止 ShadowsocksR
12. 重启 ShadowsocksR
13. 查看 ShadowsocksR 日志
————————————
14. 其他功能
15. 升级脚本
当前状态: 未安装
请输入数字 [1-15]:1
[信息] 开始设置 ShadowsocksR账号配置...
请输入要设置的ShadowsocksR账号 端口
(默认: 2333):
——————————————————————————————
端口 : 2333
——————————————————————————————
请输入要设置的ShadowsocksR账号 密码
(默认: doub.io):
——————————————————————————————
密码 : doub.io
——————————————————————————————
请选择要设置的ShadowsocksR账号 加密方式
1. none
[注意] 如果使用 auth_chain_a 协议,请加密方式选择 none,混淆随意(建议 plain)
2. rc4
3. rc4-md5
4. rc4-md5-6
5. aes-128-ctr
6. aes-192-ctr
7. aes-256-ctr
8. aes-128-cfb
9. aes-192-cfb
10. aes-256-cfb
11. aes-128-cfb8
12. aes-192-cfb8
13. aes-256-cfb8
14. salsa20
15. chacha20
16. chacha20-ietf
[注意] salsa20/chacha20-*系列加密方式,需要额外安装依赖 libsodium ,否则会无法启动ShadowsocksR !
(默认: 5. aes-128-ctr):3
——————————————————————————————
加密 : rc4-md5
——————————————————————————————
请选择要设置的ShadowsocksR账号 协议插件
1. origin
2. auth_sha1_v4
3. auth_aes128_md5
4. auth_aes128_sha1
5. auth_chain_a
6. auth_chain_b
[注意] 如果使用 auth_chain_a 协议,请加密方式选择 none,混淆随意(建议 plain)
(默认: 2. auth_sha1_v4):3
——————————————————————————————
协议 : auth_aes128_md5
——————————————————————————————
请选择要设置的ShadowsocksR账号 混淆插件
1. plain
2. http_simple
3. http_post
4. random_head
5. tls1.2_ticket_auth
[注意] 如果使用 ShadowsocksR 加速游戏,请选择 混淆兼容原版或 plain 混淆,然后客户端选择 plain,否则会增加延迟 !
(默认: 5. tls1.2_ticket_auth):2
——————————————————————————————
混淆 : http_simple
——————————————————————————————
是否设置 混淆插件兼容原版(_compatible)?[Y/n]y
请输入要设置的ShadowsocksR账号 欲限制的设备数 ( auth_* 系列协议 不兼容原版才有效 )
[注意] 设备数限制:每个端口同一时间能链接的客户端数量(多端口模式,每个端口都是独立计算),建议最少 2个。
(默认: 无限):
请输入要设置的每个端口 单线程 限速上限(单位:KB/S)
[注意] 单线程限速:每个端口 单线程的限速上限,多线程即无效。
(默认: 无限):
请输入要设置的每个端口 总速度 限速上限(单位:KB/S)
[注意] 端口总限速:每个端口 总速度 限速上限,单个端口整体限速。
(默认: 无限):
[信息] 开始安装/配置 ShadowsocksR依赖...
Failed to set locale, defaulting to C
Loaded plugins: priorities, update-motd, upgrade-helper
amzn-main | 2.1 kB 00:00:00
amzn-updates | 2.5 kB 00:00:00
Resolving Dependencies
--> Running transaction check
---> Package amazon-ssm-agent.x86_64 0:2.2.120.0-1.amzn1 will be updated
---> Package amazon-ssm-agent.x86_64 0:2.2.800.0-1.amzn1 will be an update
---> Package kernel.x86_64 0:4.14.55-62.37.amzn1 will be installed
---> Package kernel-tools.x86_64 0:4.14.47-56.37.amzn1 will be updated
---> Package kernel-tools.x86_64 0:4.14.55-62.37.amzn1 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
=======================================================================================================================================
Package Arch Version Repository Size
=======================================================================================================================================
Installing:
kernel x86_64 4.14.55-62.37.amzn1 amzn-updates 21 M
Updating:
amazon-ssm-agent x86_64 2.2.800.0-1.amzn1 amzn-updates 12 M
kernel-tools x86_64 4.14.55-62.37.amzn1 amzn-updates 124 k
Transaction Summary
=======================================================================================================================================
Install 1 Package
Upgrade 2 Packages
Total download size: 33 M
Is this ok [y/d/N]: y
Downloading packages:
(1/3): amazon-ssm-agent-2.2.800.0-1.amzn1.x86_64.rpm | 12 MB 00:00:00
(2/3): kernel-tools-4.14.55-62.37.amzn1.x86_64.rpm | 124 kB 00:00:00
(3/3): kernel-4.14.55-62.37.amzn1.x86_64.rpm | 21 MB 00:00:01
---------------------------------------------------------------------------------------------------------------------------------------
Total 29 MB/s | 33 MB 00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : kernel-4.14.55-62.37.amzn1.x86_64 1/5
Updating : kernel-tools-4.14.55-62.37.amzn1.x86_64 2/5
Updating : amazon-ssm-agent-2.2.800.0-1.amzn1.x86_64 3/5
Cleanup : kernel-tools-4.14.47-56.37.amzn1.x86_64 4/5
Cleanup : amazon-ssm-agent-2.2.120.0-1.amzn1.x86_64 5/5
Verifying : amazon-ssm-agent-2.2.800.0-1.amzn1.x86_64 1/5
Verifying : kernel-tools-4.14.55-62.37.amzn1.x86_64 2/5
Verifying : kernel-4.14.55-62.37.amzn1.x86_64 3/5
Verifying : amazon-ssm-agent-2.2.120.0-1.amzn1.x86_64 4/5
Verifying : kernel-tools-4.14.47-56.37.amzn1.x86_64 5/5
Installed:
kernel.x86_64 0:4.14.55-62.37.amzn1
Updated:
amazon-ssm-agent.x86_64 0:2.2.800.0-1.amzn1 kernel-tools.x86_64 0:4.14.55-62.37.amzn1
Complete!
cat: /etc/redhat-release: No such file or directory
Failed to set locale, defaulting to C
Loaded plugins: priorities, update-motd, upgrade-helper
Existing lock /var/run/yum.pid: another copy is running as pid 8219.
Another app is currently holding the yum lock; waiting for it to exit...
The other application is: yum
Memory : 36 M RSS (283 MB VSZ)
Started: Fri Aug 3 09:19:50 2018 - 00:01 ago
State : Running, pid: 8219
Package 2:vim-enhanced-8.0.0503-1.45.amzn1.x86_64 already installed and latest version
Package unzip-6.0-4.10.amzn1.x86_64 already installed and latest version
Nothing to do
[信息] 开始下载/安装 ShadowsocksR文件...
--2018-08-03 17:19:53-- https://github.com/ToyoDAdoubi/shadowsocksr/archive/manyuser.zip
Resolving github.com (github.com)... 192.30.255.113, 192.30.255.112
Connecting to github.com (github.com)|192.30.255.113|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://codeload.github.com/ToyoDAdoubi/shadowsocksr/zip/manyuser [following]
--2018-08-03 17:19:53-- https://codeload.github.com/ToyoDAdoubi/shadowsocksr/zip/manyuser
Resolving codeload.github.com (codeload.github.com)... 192.30.255.120, 192.30.255.121
Connecting to codeload.github.com (codeload.github.com)|192.30.255.120|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2131310 (2.0M) [application/zip]
Saving to: 'manyuser.zip'
manyuser.zip 100%[============================================================>] 2.03M 12.4MB/s in 0.2s
Last-modified header missing -- time-stamps turned off.
2018-08-03 17:19:54 (12.4 MB/s) - 'manyuser.zip' saved [2131310/2131310]
Archive: manyuser.zip
c4507b7af1fe20a5a6adbb5e3b5a86da9d3a35e8
creating: shadowsocksr-manyuser/
inflating: shadowsocksr-manyuser/.gitignore
inflating: shadowsocksr-manyuser/.travis.yml
inflating: shadowsocksr-manyuser/CHANGES
inflating: shadowsocksr-manyuser/CONTRIBUTING.md
inflating: shadowsocksr-manyuser/Dockerfile
inflating: shadowsocksr-manyuser/LICENSE
inflating: shadowsocksr-manyuser/MANIFEST.in
inflating: shadowsocksr-manyuser/README.md
inflating: shadowsocksr-manyuser/README.rst
inflating: shadowsocksr-manyuser/apiconfig.py
inflating: shadowsocksr-manyuser/asyncmgr.py
inflating: shadowsocksr-manyuser/config.json
inflating: shadowsocksr-manyuser/configloader.py
inflating: shadowsocksr-manyuser/db_transfer.py
creating: shadowsocksr-manyuser/debian/
inflating: shadowsocksr-manyuser/debian/changelog
extracting: shadowsocksr-manyuser/debian/compat
inflating: shadowsocksr-manyuser/debian/config.json
inflating: shadowsocksr-manyuser/debian/control
inflating: shadowsocksr-manyuser/debian/copyright
inflating: shadowsocksr-manyuser/debian/docs
inflating: shadowsocksr-manyuser/debian/init.d
extracting: shadowsocksr-manyuser/debian/install
inflating: shadowsocksr-manyuser/debian/rules
inflating: shadowsocksr-manyuser/debian/shadowsocks.default
inflating: shadowsocksr-manyuser/debian/shadowsocks.manpages
creating: shadowsocksr-manyuser/debian/source/
extracting: shadowsocksr-manyuser/debian/source/format
inflating: shadowsocksr-manyuser/debian/sslocal.1
inflating: shadowsocksr-manyuser/debian/ssserver.1
inflating: shadowsocksr-manyuser/importloader.py
inflating: shadowsocksr-manyuser/initcfg.bat
inflating: shadowsocksr-manyuser/initcfg.sh
inflating: shadowsocksr-manyuser/initmudbjson.sh
inflating: shadowsocksr-manyuser/jq-linux32
inflating: shadowsocksr-manyuser/jq-linux64
inflating: shadowsocksr-manyuser/logrun.sh
extracting: shadowsocksr-manyuser/mudb.json
inflating: shadowsocksr-manyuser/mujson_mgr.py
inflating: shadowsocksr-manyuser/mysql.json
inflating: shadowsocksr-manyuser/run.sh
inflating: shadowsocksr-manyuser/server.py
inflating: shadowsocksr-manyuser/server_pool.py
inflating: shadowsocksr-manyuser/setup.py
inflating: shadowsocksr-manyuser/setup_cymysql.sh
creating: shadowsocksr-manyuser/shadowsocks/
inflating: shadowsocksr-manyuser/shadowsocks/__init__.py
inflating: shadowsocksr-manyuser/shadowsocks/asyncdns.py
inflating: shadowsocksr-manyuser/shadowsocks/common.py
creating: shadowsocksr-manyuser/shadowsocks/crypto/
inflating: shadowsocksr-manyuser/shadowsocks/crypto/__init__.py
inflating: shadowsocksr-manyuser/shadowsocks/crypto/ctypes_libsodium.py
inflating: shadowsocksr-manyuser/shadowsocks/crypto/ctypes_openssl.py
inflating: shadowsocksr-manyuser/shadowsocks/crypto/openssl.py
inflating: shadowsocksr-manyuser/shadowsocks/crypto/rc4_md5.py
inflating: shadowsocksr-manyuser/shadowsocks/crypto/sodium.py
inflating: shadowsocksr-manyuser/shadowsocks/crypto/table.py
inflating: shadowsocksr-manyuser/shadowsocks/crypto/util.py
inflating: shadowsocksr-manyuser/shadowsocks/daemon.py
inflating: shadowsocksr-manyuser/shadowsocks/encrypt.py
inflating: shadowsocksr-manyuser/shadowsocks/encrypt_test.py
inflating: shadowsocksr-manyuser/shadowsocks/eventloop.py
inflating: shadowsocksr-manyuser/shadowsocks/local.py
inflating: shadowsocksr-manyuser/shadowsocks/logrun.sh
inflating: shadowsocksr-manyuser/shadowsocks/lru_cache.py
inflating: shadowsocksr-manyuser/shadowsocks/manager.py
inflating: shadowsocksr-manyuser/shadowsocks/obfs.py
creating: shadowsocksr-manyuser/shadowsocks/obfsplugin/
inflating: shadowsocksr-manyuser/shadowsocks/obfsplugin/__init__.py
inflating: shadowsocksr-manyuser/shadowsocks/obfsplugin/auth.py
inflating: shadowsocksr-manyuser/shadowsocks/obfsplugin/auth_chain.py
inflating: shadowsocksr-manyuser/shadowsocks/obfsplugin/http_simple.py
inflating: shadowsocksr-manyuser/shadowsocks/obfsplugin/obfs_tls.py
inflating: shadowsocksr-manyuser/shadowsocks/obfsplugin/plain.py
inflating: shadowsocksr-manyuser/shadowsocks/obfsplugin/verify.py
inflating: shadowsocksr-manyuser/shadowsocks/ordereddict.py
inflating: shadowsocksr-manyuser/shadowsocks/run.sh
inflating: shadowsocksr-manyuser/shadowsocks/server.py
inflating: shadowsocksr-manyuser/shadowsocks/shell.py
inflating: shadowsocksr-manyuser/shadowsocks/stop.sh
extracting: shadowsocksr-manyuser/shadowsocks/tail.sh
inflating: shadowsocksr-manyuser/shadowsocks/tcprelay.py
inflating: shadowsocksr-manyuser/shadowsocks/udprelay.py
inflating: shadowsocksr-manyuser/shadowsocks/user.py
inflating: shadowsocksr-manyuser/shadowsocks/version.py
inflating: shadowsocksr-manyuser/stop.sh
inflating: shadowsocksr-manyuser/switchrule.py
extracting: shadowsocksr-manyuser/tail.sh
creating: shadowsocksr-manyuser/tests/
inflating: shadowsocksr-manyuser/tests/aes-cfb1.json
inflating: shadowsocksr-manyuser/tests/aes-cfb8.json
inflating: shadowsocksr-manyuser/tests/aes-ctr.json
inflating: shadowsocksr-manyuser/tests/aes.json
inflating: shadowsocksr-manyuser/tests/assert.sh
inflating: shadowsocksr-manyuser/tests/chacha20.json
inflating: shadowsocksr-manyuser/tests/client-multi-server-ip.json
inflating: shadowsocksr-manyuser/tests/coverage_server.py
inflating: shadowsocksr-manyuser/tests/fastopen.json
inflating: shadowsocksr-manyuser/tests/ipv6-client-side.json
inflating: shadowsocksr-manyuser/tests/ipv6.json
inflating: shadowsocksr-manyuser/tests/jenkins.sh
creating: shadowsocksr-manyuser/tests/libsodium/
inflating: shadowsocksr-manyuser/tests/libsodium/install.sh
inflating: shadowsocksr-manyuser/tests/nose_plugin.py
inflating: shadowsocksr-manyuser/tests/rc4-md5.json
inflating: shadowsocksr-manyuser/tests/salsa20-ctr.json
inflating: shadowsocksr-manyuser/tests/salsa20.json
inflating: shadowsocksr-manyuser/tests/server-multi-passwd-client-side.json
inflating: shadowsocksr-manyuser/tests/server-multi-passwd-table.json
inflating: shadowsocksr-manyuser/tests/server-multi-passwd.json
inflating: shadowsocksr-manyuser/tests/server-multi-ports.json
inflating: shadowsocksr-manyuser/tests/setup_tc.sh
creating: shadowsocksr-manyuser/tests/socksify/
inflating: shadowsocksr-manyuser/tests/socksify/install.sh
inflating: shadowsocksr-manyuser/tests/socksify/socks.conf
inflating: shadowsocksr-manyuser/tests/table.json
inflating: shadowsocksr-manyuser/tests/test.py
inflating: shadowsocksr-manyuser/tests/test_command.sh
inflating: shadowsocksr-manyuser/tests/test_daemon.sh
inflating: shadowsocksr-manyuser/tests/test_large_file.sh
inflating: shadowsocksr-manyuser/tests/test_udp_src.py
inflating: shadowsocksr-manyuser/tests/test_udp_src.sh
inflating: shadowsocksr-manyuser/tests/workers.json
creating: shadowsocksr-manyuser/utils/
inflating: shadowsocksr-manyuser/utils/README.md
inflating: shadowsocksr-manyuser/utils/autoban.py
creating: shadowsocksr-manyuser/utils/fail2ban/
inflating: shadowsocksr-manyuser/utils/fail2ban/shadowsocks.conf
[信息] ShadowsocksR服务端 下载完成 !
[信息] 开始下载/安装 ShadowsocksR服务脚本(init)...
--2018-08-03 17:19:54-- https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/other/ssr_centos
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.188.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.188.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2444 (2.4K) [text/plain]
Saving to: '/etc/init.d/ssr'
/etc/init.d/ssr 100%[============================================================>] 2.39K --.-KB/s in 0s
2018-08-03 17:19:54 (34.7 MB/s) - '/etc/init.d/ssr' saved [2444/2444]
[信息] ShadowsocksR服务 管理脚本下载完成 !
[信息] 开始下载/安装 JSNO解析器 JQ...
[信息] JQ解析器 安装完成,继续...
[信息] 开始写入 ShadowsocksR配置文件...
[信息] 开始设置 iptables防火墙...
[信息] 开始添加 iptables防火墙规则...
[信息] 开始保存 iptables防火墙规则...
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
ip6tables: Saving firewall rules to /etc/sysconfig/ip6table[ OK ]
[信息] 所有步骤 安装完毕,开始启动 ShadowsocksR服务端...
[信息] ShadowsocksR 启动成功 !
===================================================
ShadowsocksR账号 配置信息:
I P : 13.xxx.xxx.xxx
端口 : 2333
密码 : doub.io
加密 : rc4-md5
协议 : auth_aes128_md5
混淆 : http_simple_compatible
设备数限制 : 0(无限)
单线程限速 : 0 KB/S
端口总限速 : 0 KB/S
SSR 链接 : ssr://MTMuNTcuMjIyLjE0OjIzMzM6YXV0aF9hZXMC1tZDU6aHR0cF9zaW1wbGU6Wkc5MVlpNXBidw
SSR 二维码 : http://doub.pw/qr/qr.php?text=ssr://MTMuNTcuMjIyLjE0OjIzMzM6YXV0aF9hU6aHR0cF9zaW1wbGU6Wkc5MVlpNXBidw
提示:
在浏览器中,打开二维码链接,就可以看到二维码图片。
协议和混淆后面的[ _compatible ],指的是 兼容原版协议/混淆。
===================================================
配置安装完成后,会生成一份配置信息,有一个二维码的链接,使用SSR客户端扫描二维码即可。
最后还需要一步,去开通服务器对应的端口号。在 Linux 中,指令信息如下
查看当前端口号状态:
/sbin/iptables -L -n
执行结果如下:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 state NEW udp dpt:2333
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:2333
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
开通某个端口,如果需要开通多个端口号,就多执行几次:
/sbin/iptables -I INPUT -p tcp --dport 2333 -j ACCEPT
保存配置:
/etc/rc.d/init.d/iptables save
结果:
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
再次查看端口号状态,执行 /sbin/iptables -L -n
得到以下显示:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2338
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2337
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2336
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2335
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2334
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2333
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 state NEW udp dpt:2333
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:2333
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
提示: 如果想更改配置信息,只需从新执行 bash ssr.sh
就会得到管理脚本的指令,执行效果如下:
ShadowsocksR 一键管理脚本 [v2.0.38]
---- Toyo | doub.io/ss-jc42 ----
1. 安装 ShadowsocksR
2. 更新 ShadowsocksR
3. 卸载 ShadowsocksR
4. 安装 libsodium(chacha20)
————————————
5. 查看 账号信息
6. 显示 连接信息
7. 设置 用户配置
8. 手动 修改配置
9. 切换 端口模式
————————————
10. 启动 ShadowsocksR
11. 停止 ShadowsocksR
12. 重启 ShadowsocksR
13. 查看 ShadowsocksR 日志
————————————
14. 其他功能
15. 升级脚本
当前状态: 已安装 并 已启动
当前模式: 单端口
然后会让你输入数字:
请输入数字 [1-15]
我输入了 7:
当前模式: 单端口,你要做什么?
1. 修改 用户端口
2. 修改 用户密码
3. 修改 加密方式
4. 修改 协议插件
5. 修改 混淆插件
6. 修改 设备数限制
7. 修改 单线程限速
8. 修改 端口总限速
9. 修改 全部配置
(默认: 取消): // 在这里输入想要修改的配置 我想修改协议,输入了 4
得到结果:
请选择要设置的ShadowsocksR账号 协议插件
1. origin
2. auth_sha1_v4
3. auth_aes128_md5
4. auth_aes128_sha1
5. auth_chain_a
6. auth_chain_b
[注意] 如果使用 auth_chain_a 协议,请加密方式选择 none,混淆随意(建议 plain)
(默认: 2. auth_sha1_v4): // 选择你要修改的协议 我输入了 2
得到:
——————————————————————————————
协议 : auth_sha1_v4
——————————————————————————————
是否设置 协议插件兼容原版(_compatible)?[Y/n] // 输入 Y
得到新的配置信息,即完成了配置修改:
[信息] ShadowsocksR 停止成功 !
[信息] ShadowsocksR 启动成功 !
===================================================
ShadowsocksR账号 配置信息:
I P : 13.xxx.xxx.14
端口 : 2333
密码 : doub.io
加密 : rc4-md5
协议 : auth_sha1_v4_compatible
混淆 : http_simple_compatible
设备数限制 : 0(无限)
单线程限速 : 0 KB/S
端口总限速 : 0 KB/S
SS 链接 : ss://cmM0LW1kNTpkb3ViLmlvQDEzLjU3LjI SS
二维码 : http://doub.pw/qr/qr.php?text=ss://cmM0LW1kNTpkb3ViLmlvQDEzLjU3LjIyMi4
SSR 链接 : ssr://MTMuNTcYXV0aF9zaGExX3Y0OnJjNC1tZDU6aHR0cF9zaW1wbGU6Wkc5MVlpNXBidw
SSR 二维码 : http://doub.pw/qr/qr.php?text=ssr://MTMuNTcuMjIyLjE0OjIzMzM6YXVtZDU6aHR0cF9zaW1wbGU6Wkc5MVlpNXBidw
提示:
在浏览器中,打开二维码链接,就可以看到二维码图片。
协议和混淆后面的[ _compatible ],指的是 兼容原版协议/混淆。
===================================================
以上出现的二维码链接都是无效的
登录服务器:ssh -i "emptywalker-mehndi.pem" ec2-user@ec2-13-57-222-14.us-west-1.compute.amazonaws.com
笔者是在 AMZ 上搭建的,在完成以上配置之后,需要为 AMZ 的实例开通 TCP 的安全组,不然由于防火墙的原因,无法访问。
在 AMZ 的搭建教程可以参考这里。
这里有一篇关于沉浸式无墙体验的文章,可以学习参考。
利用 VPN 和 hosts 解决 GitHub clone 和访问慢的问题
利用 VPN 解决 GitHub Clone 慢的问题
使用 git clone GitHub 上的项目通常会比较慢,是因为 GitHub 的服务器在国外。 但可以通过设置代理来实现跨墙访问,从而提高速度。下面是有三种解决办法:
一:设置socks5代理
首先打开 Shadowsocks -> Advance Preference , 查看 socks5 的地址和监听端口号:
然后再终端中输入以下命令:
git config --global http.https://github.com.proxy socks5://127.0.0.1:1086
git config --global https.https://github.com.proxy socks5://127.0.0.1:1086
这是指针对 https://github.com
地址设置的代理。如果想针对所有 http/https
设置代理如下:
git config --global http.proxy 'socks5://127.0.0.1:1086'
git config --global https.proxy 'socks5://127.0.0.1:1086'
注意:如果设置了针对所有网站的代码,那么会导致一些墙内的网站无法使用 git 访问。比如:公司内部的 gitlab 服务器。所以强烈建议只针对需要翻墙的网站进行代理设置。
设置完成后,可以只用 --list
参数查看配置信息
git config --list
...
http.postbuffer=524288000
http.https://github.com.proxy=socks5://127.0.0.1:1086
https.https://github.com.proxy=socks5://127.0.0.1:1086
取消设置:
git config --global --unset http.https://github.com.proxy
git config --global --unset https.https://github.com.proxy
二:设置 HTTP 代理
首先打开 Shadowsocks -> HTTP Proxy Preference , 查看 socks5 的地址和监听端口号:
输入以下命令:
git config --global http.http://github.com.proxy https://127.0.0.1:1087
git config --global https.https://github.com.proxy https://127.0.0.1:1087
取消设置:
git config --global --unset http.https://github.com.proxy
git config --global --unset https.https://github.com.proxy
三:设置 SSH 代理
SSH 是什么可以自己查看,主要的作用是可以免密码访问。在 .ssh
文件夹下创建一个 config
文件:
cd .ssh
touch config
新建
Host github.com
HostName github.com
User git
ProxyCommand nc -v -x 127.0.0.1:1086 %h %p
注意 如果 .ssh
目录中包含了 config
文件直接修改即可。 端口号 1086 为自己的 socks5
端口号。
拓展
同样的代理方式还可以应用到 npm
等其他方式的包管理工具中。
Hosts 加速 GitHub 访问速度
描述
因为经常出现访问 GitHub 半天页面打不开的问题。所以就去查了一下为啥会经常打不开,主要是 DNS 解析被污染了。可以在本地尝试 ping github.com
,我得到的结果如下:
$ ping github.com
PING github.com (13.250.177.223): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3
Request timeout for icmp_seq 4
Request timeout for icmp_seq 5
Request timeout for icmp_seq 6
Request timeout for icmp_seq 7
Request timeout for icmp_seq 8
^C
--- github.com ping statistics ---
10 packets transmitted, 0 packets received, 100.0% packet loss
全部超时了。
解决办法可以通过 VPN ,或绕过 DNS 域名解析,在本地直接绑定 host 。在这里,我选择了在本地绑定 host 。
步骤如下:
寻找 ip 地址
首先,需要绑定的域名有:
github.com
github.global.ssl.fastly.net
assets-cdn.github.com
avatars1.githubusercontent.com
我们可以在 ipaddress ,根据上面的域名找到一个快的 ip 地址,然后通过 ping 这个 ip 地址,来查看哪个地址比较稳定和快速。 然后做出选择,比如,先在 ipaddress 搜索 github.com 这个域名的 ip ,得到结果如图:
拿到 192.30.253.112
这个地址后,在终端中输入一下命令:
ping 192.30.253.112
得到结果
PING 192.30.253.112 (192.30.253.112): 56 data bytes
64 bytes from 192.30.253.112: icmp_seq=0 ttl=48 time=380.522 ms
64 bytes from 192.30.253.112: icmp_seq=1 ttl=48 time=399.875 ms
64 bytes from 192.30.253.112: icmp_seq=2 ttl=48 time=324.236 ms
64 bytes from 192.30.253.112: icmp_seq=3 ttl=48 time=281.509 ms
64 bytes from 192.30.253.112: icmp_seq=4 ttl=48 time=362.211 ms
64 bytes from 192.30.253.112: icmp_seq=5 ttl=48 time=385.030 ms
64 bytes from 192.30.253.112: icmp_seq=6 ttl=48 time=404.344 ms
^C
--- 192.30.253.112 ping statistics ---
7 packets transmitted, 7 packets received, 0.0% packet loss
每个包大约 400 ms ,没有发生超时和丢包行为。所以可以采用。
依照此步骤,去寻找剩余的二级域名对应的 ip 地址。
与本地 host 绑定
在 macOS 中,使用以下命令编辑 hosts 文件
vi /etc/hosts
打开 hosts 文件后,按 i
开始编辑,把得到的 ip 地址和对应的域名按照下面的格式编辑到 hosts 文件中,下面是我的做法:
151.101.113.194 github.global.ssl.fastly.net
151.101.12.133 assets-cdn.github.com
192.30.253.112 github.com
151.101.12.133 avatars1.githubusercontent.com
如果你们的地址不同,就修改对应的 ip
地址。
编辑好了之后,按 esc
,输入 wq
保存退出即可。
如果还有问题,可以尝试清除一下 DNS 缓存,macOS 中的命令为:
sudo dscacheutil -flushcache
再去访问 GitHub 的时候,你就会发现快很多了。再也不用等半天了。 随着你电脑连接 ip 地址不同,你可以从新寻找对应最快 GitHub 的 ip 地址,然后修改 hosts 文件即可。