9个版本
0.3.21 | 2024年8月10日 |
---|---|
0.3.2 | 2024年8月10日 |
0.2.0 | 2024年8月8日 |
0.1.4 | 2024年8月3日 |
#1415 in 网页编程
每月 585 次下载
33KB
646 行
discord-javascript-injector
这是一个Rust库,允许您将JavaScript注入到Discord桌面客户端!
使用此项目,您可以向Discord客户端注入任何类型的JavaScript,JavaScript代码附加到渲染进程,因此您可以访问DOM等。
请注意,目前只开发了Windows版本,Linux支持即将推出 好吧,现在已经完成了!如果您使用.deb文件安装了Discord,包含core.asar文件的文件夹应位于您的.config文件夹中
下一个目标
macOS支持我很高兴地宣布,已添加macOS支持!(感谢您不让我失望,我亲爱的M1 MacBook Air)- Linux的flatpak支持
- Linux的snap支持将在未来进行调查。
示例用法
use inject::inject;
use eject::eject;
use check_installation::check_installed_clients;
fn main() {
let installed_clients = check_installed_clients().unwrap();
for client in installed_clients {
println!("client: {:?}", client);
if !client.injected {
inject(&client.basename, "console.log('hello world!');", false).unwrap();
} else {
println!("already injected");
eject(&client.basename).unwrap();
}
}
}
另一个酷炫功能!
嗯,由于我预计这个项目将用于一些GUI应用程序,我决定添加一个ws(WebSocket)功能,允许您将库连接到您自己的WebSocket服务器以接收有关注入进度的消息。
要使用ws功能,您可以在cargo.toml中添加以下内容
[dependencies]
discord_injector-lib = { version = "x.x.x" features = ["ws"] }
请注意,x.x.x
是一个占位符。从0.3.0版本开始支持此功能 :)。
但这还不是全部,TypeScript也现在正式支持。
感谢 swc。可以将TypeScript编译为JavaScript,因此享受此库的类型安全特性!
但是请注意 在我的测试中,我得出结论,TypeScript中的枚举没有被正确转换为JavaScript,这不是我的责任,而是swc的责任,所以请避免使用枚举,谢谢 :D
在crates.io上查看!
我还创建了一个在crates.io上的库,这里是它的 链接
重要
该项目可能会破坏您的客户端。如果客户端崩溃,请为您所在的平台重新安装Discord。
依赖项
~30–43MB
~767K SLoC