原创使用docker服务器实现socks5转全局代理

2025年09月15日 未分类 暂无评论 阅读12 次

介绍

我们常用的是socks代理,这在win的部分场景下很不方便。比如现在命令行的AI工具,以及不支持配置代理的软件,比如androidstudio,配置了代理也不确定某些插件是不是正常走代理 。

本文提供一个原创丝滑的方案,将socks5代理直接转全局代理,主要针对win场景,其他场景也支持。
具体来说使用xray的docker容器,将socks5转为Shadowsocks,然后使用outline客户端连接实现。
也就是实现将socks直接转为了VPN,好处是可以方便得在socks客户端配置分流策略
outline也支持各种客户端场景,连接断开速度都很快。

一开始我想的方案是,建立wireguard服务器,然后通过iptables策略将连接到wireguard的客户端流量转发到clash代理。
wireguard服务器建立成功,clash代理也成功,还带clash流量监控面板,客户端连接也成功,但是流量转发策略始终无效,比较遗憾。
灵机一动想到之前公司的代理软件outline,发现服务端可以适配Shadowsocks,应该是全网原创。对比其他全局代理方式还是有比较多优势的

不过wireguard有一个客户端版本wiresock,这个客户端支持支持在客户端层面做按IP和应用的分流策略。
后续可以考虑尝试在wireguard服务器外包一层outline全局代理,代替iptables+clash方案,也许可以实现更好的客户端体验。

docker配置

两个文件放在同一个目录下
具体端口,IP替换为自己的就行

docker compose

version: '3.8'

services:
  xray:
    image: teddysun/xray
    container_name: xray-ss
    restart: always
    ports:
      - "8388:8388"   # Shadowsocks 端口
    volumes:
      - ./config.json:/etc/xray/config.json

config

{
  "log": {
    "loglevel": "warning"
  },
  "inbounds": [
    {
      "port": 8388,
      "protocol": "shadowsocks",
      "settings": {
        "method": "aes-256-gcm",
        "password": "yourpassword",
        "network": "tcp,udp"
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "socks",
      "settings": {
        "servers": [
          {
            "address": "192.168.68.84",
            "port": 10808
          }
        ]
      }
    },
    {
      "protocol": "freedom",
      "tag": "direct"
    }
  ],
  "routing": {
    "rules": [
      {
        "type": "field",
        "inboundTag": ["default"],
        "outboundTag": "socks"
      }
    ]
  }
}

outline配置

搜索下载outline客户端
outline链接地址是ss://开头的

ss://BASE64(加密方式:密码)@服务器:端口/?outline=1
大概逻辑是这样,可以给chatgpt直接生成

参考
ss://YWVzLTI1Ni1nY206eW91cnBhc3N3b3Jk@192.168.68.184:8388/?outline=1

 

标签:

给我留言

登录

忘记密码 ?

切换登录

注册