本帖最后由 develoepr_ken 于 2024-1-10 20:08 编辑
多会话隔离浏览器 SessionIsoBrowser
一款可以在同一网站不同窗口同时登录多个不同账号的浏览器
Edge浏览器已经原生支持了此功能,此项目不再继续维护
单击Edge浏览器用户头像,使用下方"创建新的个人资料"按钮即可实现浏览器登录多个账号。
以下是原帖
有什么意义?
手动刷课,特别是帮很多同学刷课的时候,可能需要登一个,刷完,退出,再登下一个。想要同时登陆几个账号的话就会需要装多个浏览器了,很麻烦。这款轻量级的浏览器,采用开源项目CefSharp作为浏览器内核,并通过隔离上下文的方式实现浏览器隔离,这样就可以在不同窗口中同时登陆不同账号了,效率大大提升了呢。
支持脚本吗?
部分支持。
很遗憾,CefSharp无法正常加载浏览器扩展,这意味着我无法让您加载油猴插件。但是,我设法通过一些手段模拟了早期油猴的行为,并用另一些手段允许为新版油猴设计的插件在上述模拟环境下运行。浏览器内置了简单的脚本管理系统,可以安装全局脚本(对每个会话生效),也可以安装本地脚本(对当前会话生效)。
因为对油猴的运作原理还不是很了解,我只能尽量模拟油猴的行为,达到近似相同的结果,而无法保证所有脚本都能正常运行。经验证,已支持 超星网课助手(改)(查题可用) ,其它脚本还有待测试。如果遇到不支持的脚本或者相关问题可以回帖或者提交issue告诉我哦,会在以后的版本慢慢完善。
在哪里下载啊?
您可以从网盘获取安装程序:
链接: https://pan.baidu.com/s/1uXJelPTyR9dxS91tRm1etw
提取码: qjpv
如果不放心,也可以从源代码编译
开发使用的环境为Visualstudio2019,基于.NET,使用了nuget程序包。
你这这么简陋,不会是病毒吧?/ 我也会编程,有好点子,想帮你完善一下。
项目开源,如果有需要可以点击下面的链接到Github查阅源码,也可以提交Pr帮助项目做得更好哦。
developer-ken/SessionIsoBrowser
要怎么用呢?
下方图片点击右键->[在新标签页中打开],可查看大图。
1.下载和安装
从上文提到的网盘地址下载,获得两个文件SIB_Core_v.*.zip和SIB_RenderEngine.rar
解压Core获得bin文件夹,将RenderEngine解压进bin文件夹,如图:
2.运行
双击文件SessionIsoBrowser.exe即可打开软件。
3.新建容器
在软件界面上方新建容器板块输入容器名称,点击创建,确定即可,如图:
容器之间是相互隔离的,互不影响。
4.打开浏览器窗口
双击任意容器即可打开一个新的浏览器窗口。
同一容器打开的浏览器窗口使用同一上下文,在这些窗口之间不能登录不同账号。设个设计是为了对同一账号同时进行多项工作,比如同时刷课程和作业,就可以在同一个容器上开两个窗口同时进行。
不同容器打开的浏览器窗口使用不同上下文,它们之间相互隔离,就像是不同的浏览器一样。不同容器的窗口可以同时登陆不同账号,这些窗口无法感知到其它容器窗口的存在。
5.安装脚本
我们把脚本分为全局脚本和本地脚本。
全局脚本安装之后会对所有容器生效,而本地脚本只对安装它的容器生效。
5.1.安装本地脚本
打开脚本开发者提供的安装页面,点击安装按钮即可唤起内置的脚本安装程序。
如果需要,你可以在窗口中查看或编辑脚本的代码。
完成后,在左下角选择脚本安装的范围。[全局]表示安装为全局脚本,而另一个选项是当前容器的名称,表示安装为本地脚本。这里我们安装为本地脚本。
如图:
5.2.安装全局脚本
参照5.1中的方法,在安装前将左下角的安装范围更改为[全局]即可。
如图:
6.卸载脚本
6.1.卸载本地脚本
在会话管理器页面右键想要操作的容器,点击脚本选项打开脚本管理器。
一行一个脚本,删除对应的行即可移除脚本。如果确信脚本不会再使用,也可打开存储目录并删除对应脚本文件。
⚠不要自作聪明把localscript开头的脚本链接复制到其它容器中!!容器之间是隔离的,它们无法访问对方的脚本文件。而globalscript开头的脚本链接是可以直接复制到不同容器中的。
⚠注意不要重复安装脚本(特别注意全局脚本和本地脚本重复),否则可能发生意外的行为。
6.2.卸载全局脚本
点击会话管理器空白处右键,点击全局脚本选项打开脚本管理器。
一行一个脚本,删除对应的行即可移除脚本。如果确信脚本不会再使用,也可打开存储目录并删除对应脚本文件。
⚠不要自作聪明把localscript开头的脚本链接复制到全局脚本中!!容器内的脚本对全局脚本加载器不可见!!
要怎么安装更新啊?
下载最新的SIB_Core压缩文件,解压替换bin目录中的指定文件即可完成更新。
2021.2.14编辑:
v1.0.0.125及之后的版本可以通过右键菜单中的"更新"选项检查和安装更新。
自动更新系统提供的文件都是最新发布版本,而非最新开发版本。处于初期测试阶段的功能不会通过内置的更新功能推送。
2021.2.28编辑:
v1.0.0.128及以前的版本可能出现自动更新程序(黑色控制台窗口)弹出后提示文件被占用的情况。此时彻底关闭主程序然后再次手动运行UpdateInstaller.exe即可完成更新。该BUG将在下一个版本中修复。
因为某些原因,我无法保证网盘中的文件最新。如果需要最新版本,请从Github获取源代码编译。
开发者信息-GM函数适配情况
所 有 未 提 及 的 函 数 均 不 可 用
与原版行为一致:
string getValue(string key, string val = null);
void setValue(string key, string value);
void deleteValue(string key);
string[] listValues();
string addValueChangeListener(string valueKey, CefSharp.IJavascriptCallback callback);
void removeValueChangeListener(string listenerID);
void log(string text);
基本满足原版行为:
string getResourceText(string name);
string getResourceURL(string name);
void xmlhttpRequest(dynamic variables...);//不支持"file://"协议访问本地文件;该调用是同步的,除非指定async=true
寻求技术支持?
如果您确实发现了BUG,且有条件使用Github,建议在Github存储库中提交issue,这将帮助我更好的追踪每一个问题。
如果你遇到了其他使用上的问题,需要技术支持,或没有条件使用Github,可以通过以下方式联系我:
QQ:1250542735
请注意,我并非全职开发者,无法立即回复,也并不能解决你的所有问题。
本软件本体和代码原样提供,开发者不做任何形式的保证或担保,也不为使用软件的后果负责。