shadowsocks + proxychains实现代理配置 您所在的位置:网站首页 linux卸载软件和配置文件 shadowsocks + proxychains实现代理配置

shadowsocks + proxychains实现代理配置

2023-04-01 17:37| 来源: 网络整理| 查看: 265

在 Linux 操作系统下,我们可以使用 shadowsocks 与 proxychains 软件来实现proxy配置。

Shadowsocks安装

首先我们需要安装shadowsocks,下面以Ubuntu的安装步骤为例:

1. 安装 shadowsocks 我们可以通过命令行安装 shadowsocks,

以 Ubuntu 为例,输入以下命令:

sudo apt-get install shadowsocks

2. 配置 shadowsocks 编辑 shadowsocks 配置文件,输入以下命令:

sudo vim /etc/shadowsocks.json

按照以下格式填入配置信息:

{ "server": "server_ip", "server_port": server_port, "local_address": "local_address", "local_port": local_port, "password": "password", "timeout": timeout, "method": method }

其中,server_ip 为服务器地址,server_port 为服务器端口号,local_address 为本地地址,local_port 为本地端口号,password 为密码,timeout 为超时时间,method 为加密方法。 保存配置文件并退出。

这里需要注意的是,你同时需要shadowsocks的账号。

3. 启动 shadowsocks

输入以下命令来启动 shadowsocks:

sudo ssserver -c /etc/shadowsocks.json -d start

或者使用sslocal命令进行启动,出现如下则证明shadowsocks安装成功

至此,shadowsocks的安装和启动就完成了,这时,我们还需要配置一个本地的转发配置,来将请求转发到shadowsocks配置的本地端口上。

Proxychains安装

这里我们使用的是proxychains库,当然也有别的方法可以使用,下面是proxychains的安装步骤:

4. 安装 proxychains 输入以下命令来安装 proxychains:

sudo apt-get install proxychains

5. 配置 proxychains 编辑 proxychains 配置文件,输入以下命令:

sudo vim /etc/proxychains.conf

将最后一行的注释取消,将 socks4 改为 socks5,将端口号改为 shadowsocks 配置文件中的本地端口号,保存配置文件并退出。

6. 使用

现在我们可以在命令行中使用 proxychains 来使用proxy了,例如:

proxychains4 wget www.google.com

这里proxychains命令可能需要注意你的版本。

得到如下的结果则证明全部配置成功了。

这样,我们就可以成功地使用 shadowsocks 和 proxychains 软件来实现proxy配置了。

文章下半部分,介绍了使用python flask框架搭建简单的api服务和web服务的方法,我ChatGPT体验网站就是使用的这套架构,通过api中间层,使得可以通过各端进行访问,而web只是其中的一种方式,便于在浏览器中进行使用。

因此,这里,我简单介绍一下flask框架的使用方式,编程时,只需要在对应的文件下进行方法的添加就可以了。

Python Flask

Python Flask 是一个轻量级的 Web 开发框架,它基于 Werkzeug WSGI 工具箱和 Jinja2 模板引擎,轻松创建基于 Python 的 Web 应用程序。本文将介绍如何使用 Flask 搭建 API 服务器和 Web 程序。

API项目

API 服务器 API(Application Programming Interface)是应用程序的接口,以便应用程序之间进行通信。在 Flask 中搭建 API 服务器非常简单,我们只需要创建一个 Flask 应用程序,并编写需要实现的 API 逻辑即可。

下面是一个简单的例子,创建一个获取当前时间的 API:

from flask import Flask from datetime import datetime app = Flask(__name__) @app.route('/api/time', methods=['GET']) def get_time(): now = datetime.now() return {'time': now.strftime('%Y-%m-%d %H:%M:%S')} if __name__ == '__main__': 403 Forbidden(debug=True)

在浏览器或 Postman 中访问 http://localhost:5000/api/time,我们可以看到返回的 JSON 数据中包含当前时间。

Web 程序

Web 程序 Flask 也可以轻松地搭建 Web 程序,我们只需要编写好 HTML、CSS、JavaScript 和 Flask 后端代码即可。下面是一个简单的例子:

from flask import Flask, render_template app = Flask(__name__) @app.route('/') def index(): return render_template('index.html') if __name__ == '__main__': 403 Forbidden(debug=True)

这里使用了 Flask 的模板引擎来渲染 HTML 页面,我们需要在项目根目录下新建一个名为 templates 的文件夹,然后在其中创建一个名为 index.html 的文件:

Hello Flask! Hello Flask!

在浏览器中访问 http://localhost:5000,我们将看到这个简单的页面。 这只是一个很简单的例子,Flask 能够实现的功能非常丰富,我们可以简单地利用模板引擎、数据库、表单验证等,快速构建可扩展的 Web 应用程序。

最终,浏览器中的效果如下:

ChatGPT-bot

到这里,就完成一个代理服务的搭建,同时,部署了api项目和web项目,如果你想构建其他端的应用程序,那么可以直接调用api项目,从而避免底层调用的重复编写,只需要关心上层的业务逻辑即可。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有