如何修改Chromium内核|浏览器指纹伪装|Puppeteer指纹|Playwright指纹- Chromium内核修改与浏览器指纹伪装方法-anti-fingerprint指纹浏览器如何搭建环境

        Chromium内核是许多现代浏览器的基础,如Chrome和Edge。在进行网络爬取、自动化测试或数据挖掘等任务时,使用Puppeteer或Playwright等工具时,浏览器指纹的重要性不言而喻。本文将介绍如何修改Chromium内核以及浏览器指纹伪装的方法,以构建一个抗指纹的浏览环境。

首先,了解如何修改Chromium内核是至关重要的。您可以从Chromium源代码仓库中获取最新的代码,并根据需要进行定制修改。这样可以让您控制浏览器的行为,包括用户代理、Cookie管理和JavaScript执行方式等。

其次,浏览器指纹伪装是保护个人隐私和防止被检测出自动化行为的关键。通过修改浏览器的User-Agent、Canvas指纹、WebRTC配置等信息,可以减少被网站识别的可能性。例如,使用Puppeteer或Playwright可以通过设置特定的选项来修改User-Agent,并且可以通过使用第三方库来生成随机的Canvas指纹。

最后,搭建一个抗指纹的浏览环境需要综合考虑多个因素。除了修改Chromium内核和伪装浏览器指纹外,还应注意其他可能泄露个人信息的因素,如浏览器插件和操作系统配置等。定期更新浏览器和操作系统也是保持安全的重要步骤。

总之,通过了解如何修改Chromium内核和实施浏览器指纹伪装方法,您可以构建一个更加隐私安全和抗指纹的浏览环境,从而更好地保护个人信息和确保自动化任务的顺利执行。

原项目地址:

python:https://github.com/musiclover789/luna_python

golang:https://github.com/musiclover789/luna

import time

import devtools.browser as luna
import devtools.page as page
import common.server_management as init

"""
测试目的:希望你可以正常使用指纹
"""


def main():
    """
    start函数是启动 服务、你可以选择传入参数;就是端口号、你也可以不传入、如果你不传入 程序会自动选择一个未被占用的端口。
    如果你不清楚他有什么用、可以不予理睬
    """
    if not init.start(9876):
        print("启动服务-失败")

    """
        chromium_path 是必须要传入的参数、就是你抗指纹浏览器所在的路径 如 c:\\luna\\Default\\chrome.exe
    """
    chromium_path = "/Users/hongyuji/Documents/workspace/golang/Chromium.app/Contents/MacOS/Chromium"

    args = [
        "--luna_cavans_random_str=B3B4",
        "--luna_user_agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36",
        "--luna_platform=win64",
        "--luna_languages=en-GB",
        "--luna_deviceMemory=8",
        "--luna_UNMASKED_VENDOR_WEBGL=Intel Corporation",
        "--luna_UNMASKED_RENDERER_WEBGL=Intel(R) UHD Graphics 620",
        "--luna_GL_VERSION=WebGL 1.0 (OpenGL ES 3.0 Intel(R) UHD Graphics 620)",
        # 仅是示例、更多指纹设置参考luna golang版本文档-都是一样的
    ]  # 示例指纹列表,

    chrome_id = luna.new_browser(chromium_path, fingerprint=args)

    time.sleep(1)

    page_id = page.open_page(chrome_id, "http://www.baidu.com")

    print("便于您查看指纹、暂停1分钟")
    time.sleep(60)

    page.close_page(page_id)
    # 关闭浏览器
    print("关闭浏览器", luna.close_browser(chrome_id))


if __name__ == "__main__":
    main()

另外他支持多种适合的应用场景,有python和golang两个版本

package test_case

import (
	"fmt"
	"github.com/musiclover789/luna/base_devtools/network"
	"github.com/musiclover789/luna/base_devtools/page"
	"github.com/musiclover789/luna/devtools"
	"github.com/musiclover789/luna/luna_utils"
	"github.com/musiclover789/luna/protocol"
	"sync"
	"testing"
	"time"
)

/***
官方文档
https://chromedevtools.github.io/devtools-protocol/tot/Page/#method-navigate
*/

func TestDouyin(t *testing.T) {
	//启动前先杀死其他的chromium进程;为了防止程序以及停止但是依然在内存中贮存;
	//他会根据你的系统不同,使用命令行的命令进行杀死进程

	luna_utils.KillProcess()
	/********************************/
	chromiumPath := "/Users/hongyuji/Documents/workspace/golang/Chromium.app/Contents/MacOS/Chromium"
	_, browserObj := devtools.NewBrowser(chromiumPath, &devtools.BrowserOptions{
		CachePath: luna_utils.CreateCacheDirInSubDir("/Users/hongyuji/Documents/workspace/golang/cache"),
		Headless:  false,
	})

	//第一组获取方式
	var wg sync.WaitGroup // 同步等待
	wg.Add(1)             // 增加等待的数量
	err, p1 := browserObj.OpenPageAndListen("https://live.douyin.com/865250281495", func(devToolsConn *protocol.DevToolsConn) {
		//第一个处理
		devToolsConn.ShowLogJson(false)
		page.PageEnable(devToolsConn)
		network.EnableNetwork(devToolsConn)
		network.RequestResponseAsync(devToolsConn, func(requestId string, request, response map[string]interface{}) {
			fmt.Println(luna_utils.FormatJSONAsString(request), luna_utils.FormatJSONAsString(request))
			//network.GetResponseBody(devToolsConn,requestId,time.Minute)
		})
	})
	wg.Wait() // 等待回调函数执行完成

	fmt.Println(err, p1)
	time.Sleep(1 * time.Hour)
}

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CefSharp是一个开源的.NET封装库,用于集成Chromium浏览器到.NET应用程序中。要修改浏览器指纹,我们可以通过CefSharp来实现。 首先,我们需要了解浏览器指纹是什么。浏览器指纹是通过浏览器提供的信息(例如用户代理、插件列表、操作系统等)来识别和区分不同的浏览器。为了修改浏览器指纹,我们需要修改这些信息。 在CefSharp中,我们可以通过修改浏览器的用户代理来改变指纹。用户代理是浏览器在发送HTTP请求时提供给服务器的一个字符串,其中包含了浏览器的相关信息。 要修改用户代理,在创建CefSharp浏览器实例之前,我们可以通过CefSettings类来设置用户代理。例如,我们可以使用如下代码将用户代理设置为指定的值: ```csharp CefSettings settings = new CefSettings(); settings.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36"; Cef.Initialize(settings); ``` 在上述代码中,我们将用户代理设置为Chrome 89的用户代理字符串。这样,在使用CefSharp浏览器进行网络请求时,服务器将根据用户代理来判断浏览器类型。 除了修改用户代理,我们还可以通过修改其他浏览器参数来改变指纹,例如修改插件列表、操作系统等。 总结来说,要修改CefSharp浏览器指纹,我们需要通过设置用户代理或修改其他参数来改变浏览器提供的信息。这样可以使浏览器产生一个与原始指纹不同的指纹,从而实现修改浏览器指纹的目的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值