socks5 搭建代理服务

简介: socks5 搭建代理服务

1.项目地址


2.安装go环境

3.go换源

go env -w GO111MODULE=auto
go env -w GOPROXY=https://goproxy.cn,direct

4.安装依赖、socks5包

go get -u github.com/oov/socks5

5.运行以下代码

go run main.go

package main
import (
  "github.com/oov/socks5"
  "log"
)
func main() {
  srv := socks5.New()
  srv.AuthUsernamePasswordCallback = func(c *socks5.Conn, username, password []byte) error {
    /*账号密码验证*/
    user := string(username)
    passwd := string(password)
    if !((user == "guest" && passwd == "test1234") || (user == "root" && passwd == "test1234")) {
      return socks5.ErrAuthenticationFailed
    }
    log.Printf("Welcome %v!", user)
    c.Data = user
    return nil
  }
  /*代理黑名单*/
  srv.HandleConnectFunc(func(c *socks5.Conn, host string) (newHost string, err error) {
    if host == "example.com:80" {
      return host, socks5.ErrConnectionNotAllowedByRuleset
    }
    if user, ok := c.Data.(string); ok {
      log.Printf("%v connecting to %v", user, host)
    }
    return host, nil
  })
  srv.HandleCloseFunc(func(c *socks5.Conn) {
    if user, ok := c.Data.(string); ok {
      log.Printf("Goodbye %v!", user)
    }
  })
  /*监听8070端口*/
  srv.ListenAndServe(":8070")
}

6.测试代理

7.编译成独立的可执行程序

go build main.go

 

目录
相关文章
|
网络协议 Android开发 数据安全/隐私保护
Android手机上使用Socks5全局代理-教程+软件
Android手机上使用Socks5全局代理-教程+软件
9437 2
|
Linux 数据库 数据安全/隐私保护
如何使用 Docker 安装宝塔面板
Docker 是一个高效、灵活、轻量级的容器化平台,可以在单个操作系统上实现多个容器化应用的隔离和运行。而宝塔面板是一款集成了 Web 服务器、数据库和运行环境的 Linux 服务器管理面板,其功能非常强大且易于使用。在本文中,我们将介绍使用 Docker 安装宝塔面板的优势和详细命令,让您轻松搭建自己的 Web 服务。
7548 3
socks5在服务器运行正常 但始络无法连接
配置好socks5代理 服务器都运行正常 无法连接
socks5在服务器运行正常 但始络无法连接
|
3月前
|
弹性计算 运维 安全
阿里云轻量应用服务器是什么?看完你就知道了
阿里云轻量应用服务器是面向网站建设、开发测试等轻量场景的云服务器,按套餐售卖,内置多种应用镜像,支持一键部署,操作简单,适合个人开发者和中小企业使用。
571 0
|
弹性计算
阿里云服务器开放全部端口给所有IP使用教程
阿里云服务器端口全部开放教程,阿里云端口在安全组中设置,默认只开放22和3389端口,全部开放端口-1/-1,授权给所有IP地址0.0.0.0/0
10145 0
阿里云服务器开放全部端口给所有IP使用教程
|
弹性计算 安全 Ubuntu
阿里云服务器如何安装宝塔面板教程汇总(图文教程)
阿里云服务器如何安装宝塔面板教程汇总(图文教程)
|
弹性计算 应用服务中间件 Linux
阿里云服务器开放端口完整图文教程
笔者近期开发完成的服务端程序部署在阿里云的ECS云服务器上面,一些应用程序配置文件需要设置监听的端口(如Tomcat的8080、443端口等),虽然通过CentOs 7系统的的「防火墙」开放了对应的端口号,任然无法访问端口号对应的应用程序,后面了解到原来还需要设置云服务器的「安全组规则」,开放相应的端口权限,服务端的接口才能真正开放。
3997 1
阿里云服务器开放端口完整图文教程
如何访问GitHub快的飞起?两步解决访问超时GitHub,无法访问GitHub的问题
这篇文章提供了几种方法来解决访问GitHub时速度慢或超时的问题,包括使用代理服务器、下载加速工具,以及考虑使用国内代码管理网站如码云(gitee)来加速下载GitHub上的资源。
如何访问GitHub快的飞起?两步解决访问超时GitHub,无法访问GitHub的问题
|
网络协议 安全 网络安全
什么是 SOCKS5 代理,它最适合做什么?
SOCKS代理是用于穿透防火墙,使客户端能与服务器通信的协议,它不依赖特定的协议或程序。作为第5层协议,SOCKS能处理HTTP、HTTPS等请求,但不支持低于第5层的协议。SOCKS4与SOCKS5的区别在于身份验证和UDP支持,SOCKS5提供更强的安全性,如通过SSH加密。SOCKS代理通过指定服务器路由流量,隐藏IP地址,常用于网页抓取和避免IP封锁。虽然能隐藏位置,但不保证数据安全,不如VPN加密。SOCKS5代理的优点包括:受防火墙保护的服务访问、更快的P2P性能、无需特殊设置、提高性能和可靠性,特别是通过UDP协议实现。
|
安全 Linux 网络安全
【工具使用】几款优秀的SSH连接客户端软件工具推荐FinalShell、Xshell、MobaXterm、OpenSSH、PUTTY、Terminus、mRemoteNG、Terminals等
【工具使用】几款优秀的SSH连接客户端软件工具推荐FinalShell、Xshell、MobaXterm、OpenSSH、PUTTY、Terminus、mRemoteNG、Terminals等
126354 0