2026年5月

一、脚本安装(https://github.com/v2fly/fhs-install-v2ray
1、sudo -i切换到root模式再安装,否则出错
安裝和更新 V2Ray
2、// 安裝執行檔和 .dat 資料檔

bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh)

安裝最新發行的 geoip.dat 和 geosite.dat
3、// 只更新 .dat 資料檔

bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-dat-release.sh)

4、移除 V2Ray

bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh) --remove

二、配置v2ray(https://github.com/v2fly/v2ray-examples)
1、编辑/usr/local/etc/v2ray/config.json
客户端配置举例:

{
  "log": {
    "loglevel": "warning"
  },
  "inbounds": [
    {
      "port": 10809,
      "listen": "127.0.0.1",
      "protocol": "http",
      "settings": {
        "timeout": 360
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "http",
      "settings": {
        "servers": [
          {
            "address": "你的HTTP代理服务器IP",
            "port": 8080
          }
        ]
      }
    }
  ]
}

明白你的痛点。这种场景在 Linux 领域非常经典:已经有了一个现成的外部 HTTP 代理(比如公司内网的代理、或者朋友分享的代理服务器 IP 和端口),需要一个本地工具,把 Ubuntu 系统的所有网络流量“接管”并转发到这个 HTTP 代理上。

最适合你这种场景的工具,不是那些复杂的翻墙软件,而是透明代理工具。最推荐以下两款方案:

方案一:使用 v2rayA(最推荐,全图形化,一键接管全局流量)
v2rayA 是一个带 Web 界面的代理客户端。它有一个杀手级功能叫做 “透明代理(Transparent Proxy)”。你只要把你的 HTTP 代理填进去,在网页上点一下启用,它就会自动配置 Ubuntu 的系统路由,让整个系统(包括终端、浏览器、各种后台服务)无缝走这个代理。

部署步骤:
安装 v2rayA:
打开终端,运行以下命令(适用于 Ubuntu):

sudo snap install v2raya

打开管理后台:
在 Ubuntu 浏览器中打开:http://localhost:2017。第一次打开需要设置一个管理员账号密码。

添加你的 HTTP 代理:

点击 "Import"(导入) 或 "Create"(创建)。

选择协议为 http,填入你现有的 HTTP 代理服务器的 IP 地址、端口(如果有账号密码也可以填入)。

开启全局透明代理:

在左上角点击 Setting(设置)。

找到 Routing Mode(路由模式),选择 Proxy Admin Routes(或者 Global Proxy 全局代理)。

在 Transparent Proxy(透明代理) 选项中,选择 Redirect 或 TPROXY(通常选择开启实现全系统接管)。

点击保存,并在主页勾选你添加的 HTTP 服务器,点击左上角的 "Start"(启动)。
当 v2rayA 提示正在下载 geoip.dat 和 geosite.dat 时,由于网络环境限制,自动下载经常会卡住或失败。

这两个文件是 V2Ray 用于判定地理位置分流(哪些网址走直连,哪些网址走代理)的数据库。我们完全可以通过手动下载并拷贝到指定目录来解决。

一、 下载到哪个目录下?
在 Ubuntu 系统中,根据你安装内核的方式,这两个文件需要放置在以下目录。最稳妥的做法是同时放入以下两个标准路径,内核一定能读取到:

/usr/share/v2ray/ (V2Ray 核心的默认读取路径)

/var/lib/v2raya/ (v2rayA 面板的缓存路径)

二、 手动下载地址
由于官方地址在国内访问较慢,推荐使用以下两个每日更新的加速镜像下载站。你需要下载 geoip.dat 和 geosite.dat 这两个文件:

推荐加速通道(Loyalsoldier 优化版,分流更准):

点击下载 geoip.dat

点击下载 geosite.dat

官方原版备份通道:

点击下载 官方 geoip.dat

点击下载 官方 geosite.dat (注意:官方原版名为 dlc.dat,下载后必须重命名为 geosite.dat)

三、 终端一步到位的快速安装命令
如果你在 Ubuntu 终端里操作,可以直接利用现有的 HTTP 代理(或者直接硬连)执行以下命令,自动下载并精准移动到对应目录:

Bash

1. 创建目标目录(以防万一不存在)

sudo mkdir -p /usr/share/v2ray /var/lib/v2raya

2. 进入临时目录下载(这里使用了 GitHub 加速链接)

cd /tmp
wget https://ghproxy.com/https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat
wget https://ghproxy.com/https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat

3. 复制到 V2Ray 核心目录

sudo cp geoip.dat geosite.dat /usr/share/v2ray/

4. 移动到 v2rayA 目录并修正权限

sudo mv geoip.dat geosite.dat /var/lib/v2raya/
sudo chown -R v2raya:v2raya /var/lib/v2raya/
💡 小提示:如果你是用 Windows 电脑下载好了这两个文件,可以通过 scp、SFTP、或者如果是虚拟机直接拖进 Ubuntu 中。

四、 重启服务生效
文件放置完毕后,重启 v2rayA 服务,它检测到本地已有这两个文件,就不会再弹出下载提示,而是直接秒启成功:

Bash
sudo systemctl restart v2raya
重新刷新浏览器访问 http://localhost:2017,你就可以开始畅快配置你的 HTTP 代理了!

原来是通过 Snap 方式安装的!这就能解释为什么之前的路径可能不对了。

Snap 软件具有严格的沙盒隔离机制(Confined),它无法直接读取系统常规的 /usr/share/v2ray/ 路径。Snap 版本的 v2rayA 有自己专属的封闭数据目录。

对于 Snap 安装的 v2rayA,这两个 .dat 文件应该放置在以下路径:

一、 Snap 的正确存放路径
你需要把 geoip.dat 和 geosite.dat 放入/var/snap/v2ray/curent/geoip/

二、 重启 Snap 服务
文件放好之后,通过 Snap 命令重启 v2rayA 服务来让它检测本地文件:

Bash
sudo snap restart v2raya
重启后,刷新网页后台 http://localhost:2017,那条烦人的下载提示就会彻底消失,可以正常进入配置界面了。

方案二:使用 Proxychains-ng(适合只需要终端/特定软件代理的用户)
如果你不想安装大件的网页服务,只是希望在 Ubuntu 终端里执行某些命令(如 git clone、wget、运行某个特定的程序)时强行让它们走你的 HTTP 代理,Proxychains-ng 是神器。

它可以通过 Hook 的方式,强行让任何指定的软件走你配置的 HTTP 代理。

部署步骤:
安装 Proxychains-ng:

Bash
sudo apt update
sudo apt install proxychains4 -y
配置你的 HTTP 代理:
编辑它的配置文件:

Bash
sudo nano /etc/proxychains4.conf
滚动到文件的最底部,你会看到 [ProxyList]。把默认的 socks4 127.0.0.1 9050 删掉或注释掉,换成你的 HTTP 代理:

Plaintext
[ProxyList]

格式:协议 IP地址 端口 [用户名] [密码]

http 192.168.1.100 8080
(请把 192.168.1.100 和 8080 替换为你真实的 HTTP 代理服务器地址)
保存并退出(Ctrl+O,Ctrl+X)。

如何使用:
以后你只要在你想运行的命令前加上 proxychains4 即可。例如:

Bash

让 curl 走 HTTP 代理获取外网 IP

proxychains4 curl myip.ipip.net

让 apt 走 HTTP 代理更新

sudo proxychains4 apt update

甚至让某个图形化软件走代理

proxychains4 google-chrome
总结建议:
如果你想一劳永逸,让 Ubuntu 整个系统(不管什么软件)都自动走这个 HTTP 代理,选 方案一 (v2rayA)。

如果你只是偶尔在终端里下载代码、跑脚本需要用到这个代理,不想污染整个系统的网络环境,选 方案二 (Proxychains-ng)。

在 Ubuntu 中设置系统代理,取决于你是需要图形界面(GUI)全局上网,还是只需要终端命令行(Terminal)联网。以下为你提供最常用的几种设置方法。

方法一:通过图形界面设置(全局代理)
如果你使用的是 Ubuntu 桌面版,这是最简单的方法,能影响大部分自带浏览器和系统应用。

打开系统的 Settings(设置)。

在左侧边栏中点击 Network(网络)。

在右侧找到 Network Proxy(网络代理),点击它右边的齿轮按钮。

将模式从 Off 改为 Manual(手动)。

根据你的代理软件类型填入地址和端口:

HTTP / HTTPS: 通常填 127.0.0.1,端口填你代理软件的对应端口(如 7890)。

Socks Host: 如果是 Socks5 代理,填入 127.0.0.1 和对应端口(如 7891 或 1080)。

设置完成后关闭窗口,配置会自动生效。

方法二:通过终端设置临时代理(仅限当前终端)
很多时候,图形界面的代理对终端(Terminal)是不起作用的。如果你只需要在终端里临时下载个文件或更新软件,可以直接在终端运行以下命令:

Bash

设置 HTTP 和 HTTPS 代理(请将 7890 替换为你的实际代理端口)

export http_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"

如果是 Socks5 代理

export http_proxy="socks5://127.0.0.1:7891"
export https_proxy="socks5://127.0.0.1:7891"
注意: 这种方法只对当前打开的终端窗口有效。关闭窗口或新建窗口后就会失效。
如果想取消当前终端的代理,可以运行:unset http_proxy https_proxy

方法三:通过配置文件设置永久代理(针对当前用户)
如果你希望每次打开终端都自动加载代理,可以将其写入用户的配置文件中。

打开并编辑 .bashrc 文件(如果你使用的是 zsh,则是 .zshrc):

Bash
nano ~/.bashrc
连滚动到文件最底部,添加以下内容:

Bash
export http_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"

可选:设置不走代理的地址

export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
保存并退出(Nano 编辑器按 Ctrl + O 保存,Ctrl + X 退出)。

执行以下命令让配置立即生效:

Bash
source ~/.bashrc
方法四:专为 apt 包管理器设置代理
有时候即使配置了系统代理,使用 sudo apt update 时依然会卡住。这是因为 sudo 命令默认不会透传普通用户的环境变量。你需要为 apt 独立配置代理:

创建或编辑 apt 的配置文件:

Bash
sudo nano /etc/apt/apt.conf.d/99proxy
写入以下内容(注意末尾有分号):

Plaintext
Acquire::http::Proxy "http://127.0.0.1:7890/";
Acquire::https::Proxy "http://127.0.0.1:7890/";
保存并退出即可。不需要重启服务,apt 会自动读取。

💡 验证代理是否成功
设置完成后,你可以在终端运行以下命令来测试是否成功走代理:

Bash
curl -I https://www.google.com
如果返回 HTTP/2 200 或相关的状态码,说明代理已经成功连接!

要让 CC-Switch(开源名通常为 code-switch)将 Claude Code 的请求转发到本地运行的模型(例如通过 Ollama 运行的本地模型),核心原理是利用 CC-Switch 在本地建立的代理服务(默认端口通常为 18100 或 15721),将 Claude Code 的 API 格式转换为兼容本地模型的接口。

以下是具体的设置步骤:
第一步:准备本地模型(以 Ollama 为例)

确保你的本地模型服务已经启动,并且开启了 API 监听。

下载并运行 Ollama,启动一个适合代码生成的本地模型(例如 qwen2.5-coder 或 deepseek-coder)。

默认情况下,Ollama 会在本地的 http://127.0.0.1:11434 开启 OpenAI 兼容接口。你可以通过浏览器访问该地址,看到 Ollama is running 说明正常。

第二步:在 CC-Switch 中添加本地供应商

打开 CC-Switch 客户端。

在主界面顶部选中 Claude Code 图标,点击右上角的 「+」(添加新供应商)。

填写本地模型的配置信息:

    供应商名称:自定义(例如 Ollama-Local)

    接口类型:选择 OpenAI 或 Custom(取决于 CC-Switch 提供的选项,Ollama 完美兼容 OpenAI 接口规范)

    请求地址 (Base URL):输入你本地模型的 API 地址。

        如果是 Ollama,输入: http://127.0.0.1:11434/v1

    API Key:本地模型通常不需要 Key,但为了通过 Claude Code 的校验,可以随意填一个占位符(例如 ollama 或 local-key)。

配置模型映射(关键步骤):
展开高级选项中的模型映射(Model Mapping)。Claude Code 内部写死了向 claude-3-5-sonnet 等模型发送请求,你需要把它们映射为你本地模型的实际名称:

    主模型 / Sonnet 默认模型:输入你本地模型的真实名称(例如 qwen2.5-coder:7b 或 deepseek-r1:14b)。

    Haiku 默认模型:也可以映射为相同的本地模型。

点击保存/添加,并在主界面点击该供应商右侧的 「启用」。

第三步:配置 Claude Code 环境变量

CC-Switch 启用后,会在本地创建一个代理端口(假设为默认的 http://127.0.0.1:18100)。你需要告诉 Claude Code 将请求发送到 CC-Switch,而不是 Anthropic 官方服务器。

打开你的终端,根据操作系统执行以下命令:

对于 Linux / macOS:
Bash

export ANTHROPIC_BASE_URL=http://127.0.0.1:15721
export ANTHROPIC_AUTH_TOKEN=local-key

(注:如果永久生效,可以将上述两行写入 ~/.bashrc 或 ~/.zshrc 中)

对于 Windows (PowerShell):
PowerShell

$env:ANTHROPIC_BASE_URL="http://127.0.0.1:15721"
$env:ANTHROPIC_AUTH_TOKEN="local-key"

第四步:启动 Claude Code 测试

在配置好环境变量的终端里,进入你的项目目录,直接运行:
Bash

claude

此时,Claude Code 发出的所有指令都会经过 CC-Switch,被自动转换为本地模型的接口,从而实现完全本地化/免费的代码助手体验。

⚠️ 避坑提示:
如果启动后报错提示连接超时或认证失败,请检查 CC-Switch 主页左上角「设置」中的 路由监听地址与端口,确保第参步中的 ANTHROPIC_BASE_URL 端口号(如 18100 或 15721)与 CC-Switch 实际监听的端口完全一致。