Skip to content

给Discord的Windows客户端添加代理,Add a proxy to discord windows client

Notifications You must be signed in to change notification settings

yo-brian/discord-proxy

 
 

Repository files navigation

discord-proxy

brian update 2023-07-07 直接使用bat的方式复制dll文件到discord目录

@echo off
cd /d %~dp0

set "params=%*"
cd /d "%~dp0" && ( if exist "%temp%\getadmin.vbs" del "%temp%\getadmin.vbs" ) && fsutil dirty query %systemdrive% 1>nul 2>nul || (  echo Set UAC = CreateObject^("Shell.Application"^) : UAC.ShellExecute "cmd.exe", "/k cd ""%~sdp0"" && %~s0 %params%", "", "runas", 1 >> "%temp%\getadmin.vbs" && "%temp%\getadmin.vbs" && exit /B )


set discordRoot=%localappdata%\Discord
echo discordRoot
for /d %%i in (%discordRoot%\*) do ( 
    SETLOCAL EnableDelayedExpansion
    set "x=%%~ni"
    
    if "!x:~0,4!"=="app-" (
        xcopy /x /y version.dll  %%i\
    )
)

cd /d %discordRoot%
Update.exe --processStart Discord.exe --a=--proxy-server=http://127.0.0.1:10809
exit

visitor badge

上篇文章中的方法已经失效了很久,也时不时有人问是否有别的设置方法,看了一圈,发现并没有比较独立的设置代理的方案,最简单的是设置系统环境变量来实现updater.node的代理,但是这个设置会影响所有系统的控制台程序。

所以我就自己实现了一个DLL劫持方案。

简单来说原理是version.dll会在Discord.exe启动时跟随加载,读取并存储命令行中的代理地址(http....),并且拦截Discord的updater.node模块读取环境变量的操作,将命令行中的代理地址直接返回,这样就无需修改系统的环境变量。

开始使用

方法一:手动下载release.zip并解压version.dll

https://github.com/aiqinxuancai/discord-proxy/releases

将version.dll放在Discord.exe所在目录(如Discord有更新,则可能需要重新放一下)

discord-proxy

然后在桌面的快捷方式按照上次添加的代理地址(Discord安装时自动创建的那个快捷方式,不要自行从Discord.exe创建,具体请见底部)

discord-proxy

注意最前面有个空格,地址请根据自身情况调整

 --a=--proxy-server=http://127.0.0.1:1081

如此就设置完毕了,使用桌面快捷方式运行即可。

方法二:使用此项目自动复制version.dll并启动Discord(实验

https://github.com/aiqinxuancai/DiscordProxyStart

下载:Release


如果你还是进不去,请看这里:

检查快捷方式对不对

上面所说的桌面快捷方式为安装时自动创建的快捷方式,目标指向是Update.exe,而非自行从Discord.exe所创建的,修改完毕后的完整命令行样例:

C:\Users\xxxxxx\AppData\Local\Discord\Update.exe --processStart Discord.exe --a=--proxy-server=http://127.0.0.1:1081

注意代理规则

如果用的clash代理,请注意下代理规则,检查discord相关域名流量是否通过代理,v2、ss、ssr为指定端口全代所以不用另外做什么。

不支持Socks代理

目前不支持socks代理,请使用http代理,如果实在是需要,可以用此项目将socks代理转为http代理:https://github.com/ginuerzh/gost

About

给Discord的Windows客户端添加代理,Add a proxy to discord windows client

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 98.5%
  • C 1.5%