如果企业环境禁止加驱无法使用 TAP / TUN 类虚拟网卡驱动,不想使用浏览器端
参考这个项目
https://github.com/aiqinxuancai/discord-proxy
下载 version.dll 放到 Discord.exe 主程序所在的目录,在桌面的 Discord 自己创建的快捷方式追加如下参数
--a=--proxy-server=socks5://127.0.0.1:7890
也可以省略协议版本,--a=--proxy-server=socks://127.0.0.1:7890
,等价于 socks5
即可正常使用,经测试也支持 http 代理,--a=--proxy-server=http://127.0.0.1:7890
不支持强制指定 socks5 远端 DNS 解析,--a=--proxy-server=socks5h://127.0.0.1:7890
效果如下,注意自行确保 Discord 的分流规则全部代理了
DOMAIN-SUFFIX,airhorn.solutions
DOMAIN-SUFFIX,airhornbot.com
DOMAIN-SUFFIX,bigbeans.solutions
DOMAIN-SUFFIX,dis.gd
DOMAIN-SUFFIX,discord-activities.com
DOMAIN-SUFFIX,discord.co
DOMAIN-SUFFIX,discord.com
DOMAIN-SUFFIX,discord.design
DOMAIN-SUFFIX,discord.dev
DOMAIN-SUFFIX,discord.gg
DOMAIN-SUFFIX,discord.gift
DOMAIN-SUFFIX,discord.gifts
DOMAIN-SUFFIX,discord.media
DOMAIN-SUFFIX,discord.new
DOMAIN-SUFFIX,discord.store
DOMAIN-SUFFIX,discord.tools
DOMAIN-SUFFIX,discordactivities.com
DOMAIN-SUFFIX,discordapp.com
DOMAIN-SUFFIX,discordapp.io
DOMAIN-SUFFIX,discordapp.net
DOMAIN-SUFFIX,discordapp.page.link
DOMAIN-SUFFIX,discordcdn.com
DOMAIN-SUFFIX,discordmerch.com
DOMAIN-SUFFIX,discordpartygames.com
DOMAIN-SUFFIX,discordsays.com
DOMAIN-SUFFIX,discordstatus.com
DOMAIN-SUFFIX,hammerandchisel.ssl.zendesk.com
DOMAIN-SUFFIX,watchanimeattheoffice.com
然后可以用了
已知每次更新/开机之后可能都需要重复把 version.dll 文件重新复制一下,可能会被覆盖替换
这里可以给 dll 设置下权限,仅读取和执行,禁止修改覆盖
- 使用方法
创建一个 1.ps1 的文件,复制下面代码作为文件内容,然后把 1.ps1 文件放到 version.dll 所在目录运行即可
# 获取当前脚本所在的路径
$currentPath = Get-Location
# 设置目标文件路径
$filePath = Join-Path $currentPath "version.dll"
# 检查文件是否存在
if (Test-Path $filePath) {
# 获取当前的 ACL 设置
$acl = Get-Acl $filePath
# 创建一个只读和可执行的权限规则,应用到所有用户
$permission = "Everyone", "ReadAndExecute", "Allow"
$rule = New-Object System.Security.AccessControl.FileSystemAccessRule($permission[0], $permission[1], "ContainerInherit,ObjectInherit", "None", "Allow")
# 移除现有的所有权限
$acl.SetAccessRuleProtection($true, $false) # 启用权限保护,不允许继承
$acl.RemoveAccessRuleAll() # 删除所有现有权限
# 添加新的权限规则
$acl.AddAccessRule($rule)
# 应用新的权限
Set-Acl $filePath $acl
Write-Host "权限设置成功: version.dll 文件已设置为所有用户只读和可执行,禁止覆盖和删除。"
} else {
Write-Host "文件 version.dll 不存在于当前路径: $currentPath"
}