美文网首页
Linux 上 socket5 代理服务器搭建

Linux 上 socket5 代理服务器搭建

作者: kakarotto | 来源:发表于2020-11-16 14:31 被阅读0次

编写脚本搭建代理服务

#/bin/bash
yum -y install gcc openldap-devel pam-devel openssl-devel
mkdir -p /data/ss5
cd /data/ss5
wget https://nchc.dl.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8.9-8.tar.gz
tar -xf ss5-3.8.9-8.tar.gz
cd ss5-3.8.9/
./configure
make
make install
echo 'auth    0.0.0.0/0               -               u
permit -    0.0.0.0/0   -   0.0.0.0/0   -   -   -   -   -   '  >  /etc/opt/ss5/ss5.conf
echo '用户名 密码' > /etc/opt/ss5/ss5.passwd
echo 'SS5_OPTS=" -u root -b 0.0.0.0:端口号"' >  /etc/sysconfig/ss5
chmod u+x /etc/rc.d/init.d/ss5
chkconfig --add ss5
chkconfig ss5 on;
service ss5 start

注:脚本中的 用户名 密码 端口号 需要自定义去设置。

测试

# curl 测试
curl 要访问的网址 --socks5 0.0.0.0:端口号 -U 用户名:密码
# python 脚本测试
import socket  
import requests  # pip install requests
import socks  # pip install pysocks

# 代理服务器IP(域名)
socks5_proxy_host = '代理服务器ip'
# 代理服务器端口号
socks5_proxy_port = 端口号

# 设置代理
socks.set_default_proxy(socks.SOCKS5, socks5_proxy_host, socks5_proxy_port, username=用户名, password=密码)
socket.socket = socks.socksocket

# 某个必须通过代理才能访问的网站
url = '被测网站'
resp = requests.get(url)

# 查看响应结果

print(resp.status_code)
print(resp.text)
// java 测试
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import sun.net.SocksProxy;
import java.io.IOException;
import java.net.*;
import java.util.concurrent.Callable;
  
public class SocketCheckThread implements Callable<CheckStatus>
{
    private Logger logger = LoggerFactory.getLogger(SocketCheckThread.class);
 
    /**
     * 等待超时时间
     */
    private final int SEC_WAIT = 5;
 
    private String ip;
 
    public SocketCheckThread(String ip)
    {
        this.ip = ip;
    }
 
 
    @Override
    public CheckStatus call()
    {
        CheckStatus checkStatus = new CheckStatus();
        checkStatus.setIp(ip);
        checkStatus.setStatus(check());
        return checkStatus;
    }
 
 
    private boolean check()
    {
        Socket socket = null;
        try {
 
            Proxy proxy = createProxy();
            socket = new Socket(proxy);
            socket.connect(new InetSocketAddress(this.ip ,80), SEC_WAIT * 1000);
            return true;
        }
        catch (Exception e) {
            logger.debug("检测超时{}",this.ip,e);
        }
        finally
        {
            try
            {
                socket.close();
            }
            catch (IOException e)
            {
                logger.debug("关闭socket失败",e.getMessage());
            }
        }
        return false;
    }
 
 
    private static Proxy createProxy() {
        // 设置认证
        String proxyAddr = ip;
        int proxyPort = port;
        Authenticator.setDefault(new Authenticator(){
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication("user", "password".toCharArray());
            }
        });
 
        SocksProxy proxy = SocksProxy.create(new InetSocketAddress(proxyAddr, proxyPort),5);
        return proxy;
    }
 }

仅供学习记录!
https://blog.csdn.net/JOJOY_tester/article/details/89411532

相关文章

  • Linux 上 socket5 代理服务器搭建

    编写脚本搭建代理服务 注:脚本中的 用户名 密码 端口号 需要自定义去设置。 测试 仅供学习记录!https://...

  • java socket代理

    附:windows 搭建socket代理服务器。使用的是【蓝恒Socket5服务器】http://www.lanh...

  • 15.知识点 - 代理

    参考: 使用nginx搭建http代理服务器 Linux上配置http上网代理 Linux环境下基于条件约束的HT...

  • 上网

    如何在linux环境下搭建Tor代理服务器:https://blog.csdn.net/smiler_sun/ar...

  • linux上用squid搭建代理服务器

    现在内网上有两台服务器,一台能连接外网,一台不能。第一是不方便保持后者一直连着外网,第二是后者这样的服务器可能有很...

  • 借助Nginx搭建反向代理服务器

    借助Nginx搭建反向代理服务器 【大型网站技术实践】初级篇:借助Nginx搭建反向代理服务器 一、反向代理:We...

  • Linux常用的面试题及答案

    1、你之前在公司使用linux命令做什么? 我们公司之前测试系统搭建在linux上,使用linux搭建和升级测试环...

  • Mac OS 终端怎么走代理

    准备活动 首先你得自己搭建了一个代理服务器,如果你还没有搭建好自己的代理服务器,可以参考我的搭建教程。Ubuntu...

  • linux搭建squid代理服务器

    简介 正向代理语义上更侧重于,让代理服务器去帮忙请求某个网址。让代理服务器去帮忙访问qq,baidu这些网站等。在...

  • Linux-dubbo集群搭建

    上一篇文章Linux-zookeeper集群已经搭建成功,现在以此为基础继续搭建Linux-dubbo集群上一篇文...

网友评论

      本文标题:Linux 上 socket5 代理服务器搭建

      本文链接:https://www.haomeiwen.com/subject/ubzabktx.html