Echo:代理IP系统“4G新纪元”

人在网上“爬”,哪有不挨“刀”。

反爬的首选第一件事就是封IP,爬虫选手第一件事就是上代理。

So…

一直代理IP资源都是紧俏资源,甚至花钱都不一定买得到好的。

于是有些需求就有了,IP代理系统是不是也可以搞一个?

当然,这样的需求早就有解决方案了。

一键启动XX代理,一键使用XX云申请100台主机启动代理…

这类方案差不多应有尽有了。

然而此类的方案问题在于,代理IP绑定在服务器上的,

流量出口总是很容易被查到是XX云厂商等等的。

那么,如果我们用手机客户端(Android) + 4G作为流量出口呢?

So…

Echo 4G代理系统应运而生。

项目地址: https://github.com/virjar/echo

是我的老熟人 https://github.com/virjar(渣总) 开源,

PS: 最近我边用边维护,修修Bug


Echo

Echo是一个分布式的代理共享和管理系统,以长链接的方式连接多个运行在任意位置的终端,并将终端的网络资源整理为一套代理ip集群系统。

echo提供整体的鉴权、流量监控、quota控制的功能。

  • Echo天然支持复杂网络环境,所以可以将代理终端部署在手机(甚至树莓派等终端设备)
  • Echo支持代理ip统一的集群管理,所以可以作为ADSL拨号的服务资源的的统一管理出口。使用ADSl使用统一的,稳定的ip出口提供代理服务(而不需要沉重的redis负担)
  • Echo支持sdk,目前提供完善的android APK和gradle依赖(这个作用你懂的 )
  • Echo分布式设计,天然集群版,无资源瓶颈上限。各节点自动双通道HA热备,无单点风险。
  • Echo全程NIO设计,对资源消耗少,支持并发高(所以代码难度大,可以买个好价钱),理论上代理最大吞吐占满节点带宽。
  • Echo系统扩展能力强,原则是echo的底层设计使得echo支持任意网络协议转发(udp、tcp、vpn等),且任意协议支持不需要终端升级
  • 终端命令控制,你可以通过http接口将特定指令下发到对应终端.实现如shell执行、ip重播等需求。

在这里插入图片描述

PS:请java高级工程师以下(初级和中级)同学不要尝试Echo服务端的研究 ,请java初级(包括不会java语言的同学)不要尝试部署Echo服务端。(渣总原话

嗯?被劝退了?有宝哥在啊。

虽然系统部署比较复杂,不过我们有docker-compose神器啊。


部署服务端

部署方法一:

git clone https://github.com/virjar/echo/;
cd echo;
docker-compose up -d;

部署方法二:

新建一个文件夹 echo-deploy,新建 docker-compose.yaml,填入下面docker-compose配置

version: '3'
services:
  echo-mysql-local:
    image: mysql:5.7
    container_name: echo-mysql-local
    ports:
      - 4444:3306
    volumes:
      - ./mysql/data:/var/lib/mysql
      - ./mysql/echo_db_create.sql:/docker-entrypoint-initdb.d/echo_db_create.sql
    environment:
      MYSQL_ROOT_PASSWORD: "echo"
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
  echo-meta-server:
    image: registry.cn-beijing.aliyuncs.com/virjar/echo-meta-server:latest
    container_name: echo-meta-server
    ports:
      - 4826:8080
    environment:
      SPRING_DATASOURCE_USERNAME: root
      SPRING_DATASOURCE_PASSWORD: echo
      SPRING_DATASOURCE_URL: jdbc:mysql://echo-mysql-local:3306/echo?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&autoConnect=true
    depends_on: 
      - echo-mysql-local
  echo-fe-ui:
    image: registry.cn-beijing.aliyuncs.com/virjar/echo-fe-ui:20210430
    container_name: echo-fe-ui
    ports:
      - 8999:80
    volumes:
      - ./echo-fe-nginx.conf:/etc/nginx/conf.d/default.conf
    environment:
      API_ENTRY: http://echo-meta-server:8080
    depends_on: 
      - echo-meta-server
  echo-nat-server:
    image: registry.cn-beijing.aliyuncs.com/virjar/echo-nat-server:latest
    container_name: echo-nat-server
    ports:
      - 12000-12010:12000-12010
      - 5699:5699
      - 5698:5698
    environment:
      API_ENTRY: http://echo-meta-server:8080
      SERVER_ID: echo-nat-server-001
      MAPPING_SPACE: 12000-12010
    depends_on: 
      - echo-meta-server
  echo-http-proxy-server:
    image: registry.cn-beijing.aliyuncs.com/virjar/echo-http-proxy-server:latest
    container_name: echo-http-proxy-server
    ports:
      - 13000-13020:13000-13020
      - 5710:5710
    en
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值