Digitalocean + ss 搭建加密通信代理服务器
本文以 DigitalOcean + ss/ssr 配置加密通道***为例,记录了手动搭梯子的过程。
启动一个服务器实例的操作可以参考我的这篇博文,这里主要介绍 ss/ssr 的服务搭建过程。
首先 SSH 登陆到 VPS:
ssh <username>@<server>
这里用户名推荐用 root,因为配置过程中有很多操作需要管理员权限。
登陆成功后,良好的习惯是更新 apt 代码仓库和升级应用:
apt update && apt upgrade
然后就可以开始安装 ShadowSocks 的过程了(以 Python 版为例)
apt install python-pip
pip install https://github.com/shadowsocks/shadowsocks/archive/master.zip -U
注意:这里一定要使用管理员权限安装,不然后面在输入命令 ssserver 的时候会报错:
-bash: ssserver: command not found
ssserver 安装完成后,我们需要几个加密工具:
apt install python-m2crypto
wget https://github.com/jedisct1/libsodium/releases/download/1.0.17/libsodium-1.0.17.tar.gz
tar xvf libsodium-1.0.17.tar.gz && cd libsodium-1.0.17/
./configure
make && make check
make install
安装部分到这里就结束了。接下来是一些 ss 服务的配置操作。
新建一个 json 文件 ss.json:
{
"server": "xxx.xxx.xxx.xxx",
"server_port": 1234,
"local_port": 56789,
"password": "your password",
"timeout": 600,
"method": "aes-256-gcm",
"remarks": "name of this configuration"
}
并将该文件拷贝到 /etc/ss.json。
大功告成!现在我们可以启动 ss 服务了:
ssserver -c /etc/ss.json -d start
注:OpenSSL 1.1.0 以上版本环境中会遇到报错
AttributeError: /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1: undefined symbol: EVP_CIPHER_CTX_cleanup
解决方法参考自这里,简单来说,我们只需要将文件 /usr/local/lib/python2.7/dist-packages/shadowsocks/crypto/openssl.py 中的 libcrypto.EVP_CIPHER_CTX_cleanup 替换为 libcrypto.EVP_CIPHER_CTX_reset
如果一切正常,ssserver 将显示信息:
INFO: loading config from /etc/ss.json
yyyy-mm-dd h:min:s INFO loading libcrypto from libcrypto.so.1.1
started
另外两个常用 ssserver 命令:
ssserver -c /etc/ss.json -d stop
ssserver -c /etc/ss.json -d restart
VPS + ssserver 的部署过程到此就完成了,选个喜欢的 ss 客户端开始访问互联网吧~~
Written with StackEdit.
Digitalocean + ss 搭建加密通信代理服务器的更多相关文章
- ZMQ示例:使用 curve 进行加密通信
1. ZMQ 官方文档 ZMQ 的官方文档中关于 curve 的介绍如下: Client and server roles A socket using CURVE can be either cli ...
- 对Elastic集群内部配置TLS加密通信及身份验证
1.介绍 官方宣布从6.8和7.1开始,免费提供多项安全功能.其中包括tls加密通信,基于角色访问控制等功能. 可以使用企业CA证书来完成这一步骤,但是一般情况下,我们可以通过elasticsearc ...
- Security基础(三):OpenSSL及证书服务、邮件TLS/SSL加密通信
一.OpenSSL及证书服务 目标: 本案例要求熟悉OpenSSL工具的基本使用,完成以下任务操作: 使用OpenSSL加密/解密文件 搭建企业自有的CA服务器,为颁发数字证书提供基础环境 方案: 使 ...
- 开源项目SMSS发开指南(四)——SSL/TLS加密通信详解
本文将详细介绍如何在Java端.C++端和NodeJs端实现基于SSL/TLS的加密通信,重点分析Java端利用SocketChannel和SSLEngine从握手到数据发送/接收的完整过程.本文也涵 ...
- bugzilla4的xmlrpc接口api调用实现分享: xmlrpc + https + cookies + httpclient +bugzilla + java实现加密通信下的xmlrpc接口调用并解决登陆保持会话功能
xmlrpc . https . cookies . httpclient.bugzilla . java实现加密通信下的xmlrpc接口调用并解决登陆保持会话功能,网上针对bugzilla的实现很 ...
- Crypto API加密通信流程
应用程序使用Crypto API进行加密通信的一般步骤如下: 1,include wincrypt.h 2,调用CryptAcquireContext()获得某个CSP模块中的密钥容器(key con ...
- 单片机上使用TEA加密通信(转)
源:单片机上使用TEA加密通信 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:WIN7 开发环境:MDK4.72 单片机:STM32 说 ...
- SSL及其加密通信过程
SSL及其加密通信过程 什么是SSL SSL英文全称Secure Socket Layer,安全套接层,是一种为网络通信提供安全以及数据完整性的安全协议,它在传输层对网络进行加密.它主要是分为两层: ...
- Python3+ssl实现加密通信
一.说明 1. python标准库ssl可实现加密通信 2. ssl库底层使用openssl,做了面向对像化改造和简化,但还是可以明显看出openssl的痕迹 3. 本文先给出python实现的soc ...
随机推荐
- 【模板】deque实现单调队列
双端队列deque容器: 关于deque最常用的有这几个函数: 都是成员函数 双端队列模板题:[洛谷]P2952 [USACO09OPEN]牛线Cow Line #include<iostrea ...
- 如何1秒批量提取电脑文件夹中的所有文件、文件夹名字到txt/excel
01 在工作,我们经常会遇到这样的情况,有时候我们在一个文件夹中放了很多的文件,或者是这个文件夹中有很多的子文件夹,每一个子文件夹的名字又不同,也没有什么样的规律, 02 但是我们要整理一下这个文 ...
- react中受控组件相关的warning
在表单中,报如下的错,意思是非受控的输入框变成了受控的,报错信息如下 Warning: A component is changing an uncontrolled input of type te ...
- 程序集(Assembly)和模块(Managed Module)
前言 一直都用集成开发坏境(IDE),一直对模块和程序集的概念理解的不是很直观,因为一Build就把你的单个模块塞进程序集里面去了.当然,对你的编程也不会造成太大的影响.但有些东西你最好还是知道比较好 ...
- [译]OpenGL像素缓冲区对象
目录概述创建PBO映射PBO例子:Streaming Texture Uploads with PBO例子:Asynchronous Readback with PBO 概述 OpenGL ARB_p ...
- 用C#给程序加启动画面并只允许一个应用程序实例运行
. 启动画面类: public class SplashForm : System.Windows.Forms.Form { private System.Windows.Forms.PictureB ...
- JAVA开发微信支付-公众号支付/微信浏览器支付(JSAPI)
写这篇文章的目的有2个,一是自己的项目刚开发完微信支付功能,趁热回个炉温习一下,二也是帮助像我这样对微信支付不熟悉,反复看了多天文档还是一知半解,原理都没摸清,更不要说实现了.本以为网上的微信开发教程 ...
- RS485接口为什么要接地
RS485接口为什么要接地 RS485接口有三根线,分别是A.B和GND线.因为RS485是差分传输的,所以很多工程师以为GND地线不重要,经常不接,甚至有些工程为了节约成本用两芯线或者用视频线来传输 ...
- #leetcode刷题之路44-通配符匹配
给定一个字符串 (s) 和一个字符模式 (p) ,实现一个支持 '?' 和 '*' 的通配符匹配.'?' 可以匹配任何单个字符.'*' 可以匹配任意字符串(包括空字符串).两个字符串完全匹配才算匹配成 ...
- lightbox用法
示例代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...