Skip to content

freeDevelopmentDog/fp_manager

Repository files navigation

fp-browser-manager

通用指纹浏览器管理器,支持 fp-manager / AdsPower / BitBrowser 三种浏览器,插拔式驱动设计,业务侧只需三行代码。

安装

pip install fp-browser-manager

按需安装驱动依赖:

pip install fp-browser-manager[fp]      # fp-manager 驱动(含 psutil)
pip install fp-browser-manager[ads]      # AdsPower / SunBrowser 驱动
pip install fp-browser-manager[bit]     # BitBrowser 驱动
pip install fp-browser-manager[all]     # 全部驱动

快速开始

from fp_manager import BrowserManager, start_background_cleanup

mgr = BrowserManager.create(kind="fp")   # kind: "fp" | "ads" | "bit"
start_background_cleanup()               # 启动后台孤儿清理守护线程

# 创建并打开浏览器
brid = mgr.create()
port = mgr.get_port(brid)

# 业务代码...
print(f"Browser debug port: {port}")

# 关闭浏览器
mgr.close(brid)

API 层(可选)

如只需 fp-manager HTTP API 而不需要管理器,直接用 fp_manager.api

from fp_manager.api import FpBrowser, FpManagerClient, ProxyConfig

# 低级 API 客户端
client = FpManagerClient("http://127.0.0.1:17890")
session = client.create_and_start(name="test", template="truepeoplesearch")
print(session.remote_debug_port)

# 高级浏览器封装
fp = FpBrowser()
browser = fp.create_and_open(proxy=("host", 10000, "user", "pass"))
fp.close_browser(browser.id)

支持的浏览器

浏览器 kind 参数 默认端口
fp-manager "fp" http://127.0.0.1:17890
AdsPower / SunBrowser "ads" http://127.0.0.1:50325
BitBrowser "bit" http://127.0.0.1:54345

核心接口

# BrowserManager 实例方法
mgr.create(proxy=None)       # 创建并打开浏览器,返回 profile_id
mgr.get_port(brid)           # 获取 debug_port(Selenium / Playwright 接入用)
mgr.close(brid)             # 关闭浏览器

# 后台清理(进程启动一次即可)
start_background_cleanup()   # 启动孤儿进程扫描 + 未绑定 profile 清理
stop_background_cleanup()    # 停止后台清理

驱动扩展

如需接入其他指纹浏览器,实现 FpDriver / AdsDriver / BitDriver Protocol 并注入即可:

from fp_manager import FpBrowserManager
from fp_manager.drivers.base import FpDriver

class MyDriver(FpDriver):
    ...

mgr = FpBrowserManager(driver=MyDriver())

About

一个管理指纹浏览器的框架

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages