Ganidhuz-FoxX 🦊
Browse X/Twitter through Firefox with your real session cookies. Built because Chromium kept getting bot-blocked by X.
Requirements
- - Python 3.7+
- Playwright: INLINECODE0
- Firefox installed with an active X/Twitter login
- Xvfb display (for headless servers): INLINECODE1
Setup
1. Export your X cookies
Close Firefox first, then:
CODEBLOCK0
Custom Firefox profile path:
CODEBLOCK1
2. Health check
CODEBLOCK2
Usage
Run a plan file:
CODEBLOCK3
Plan Examples
View a profile
CODEBLOCK4
Search tweets (live)
CODEBLOCK5
Fetch a tweet
CODEBLOCK6
Plan Options
| Field | Default | Description |
|---|
| INLINECODE2 | required | Must be true to launch browser |
| INLINECODE4 |
required | One of:
login,
captcha,
mfa,
visual_verification,
site_only_action |
|
url | required | Starting URL |
|
cookies_path | optional | Path to exported cookies JSON |
|
close_delay_ms |
3000 | Wait (ms) before closing browser - validate result first |
|
validation_screenshot |
/tmp/firefox-openclaw-validate.png | Auto-taken final screenshot before close |
|
storage_state_path | optional | Save session state to this path after run |
Supported Step Actions
- -
goto - navigate to URL - INLINECODE18 - click element by selector
- INLINECODE19 - fill input by selector
- INLINECODE20 - type text with delay
- INLINECODE21 - press keyboard key
- INLINECODE22 - wait ms
- INLINECODE23 - wait for element
- INLINECODE24 - take screenshot
- INLINECODE25 - extract inner text from element
Behaviour Rules
- - Always wait for page load (
wait step, min 3000ms recommended) - A validation screenshot is always taken before closing
- Browser waits
close_delay_ms before closing - verify result is correct - If cookies expired (redirects to login), re-run INLINECODE28
- Always close browser after task - don't leave it idle
Ganidhuz-FoxX 🦊
通过Firefox使用您的真实会话Cookie浏览X/Twitter。因Chromium持续被X平台封禁而构建。
环境要求
- - Python 3.7+
- Playwright:pip install playwright && playwright install firefox
- 已安装Firefox并登录X/Twitter账号
- Xvfb显示服务(无头服务器):Xvfb :1 &
配置指南
1. 导出X平台Cookie
先关闭Firefox,然后执行:
bash
bash scripts/export-x-cookies.sh
Cookie默认保存至 secrets/x-cookies.json
自定义路径:FOXXCOOKIESOUT=/custom/path.json bash scripts/export-x-cookies.sh
自定义Firefox配置文件路径:
bash
FIREFOXPROFILEPATH=/path/to/profile bash scripts/export-x-cookies.sh
2. 环境检查
bash
bash scripts/check-firefox-env.sh
使用方法
运行计划文件:
bash
DISPLAY=:1 python3 scripts/playwright-firefox-control.py --plan /tmp/foxx-plan.json
计划示例
查看个人资料
json
{
needs_gui: true,
guireason: siteonly_action,
url: https://x.com/elonmusk,
cookies_path: secrets/x-cookies.json,
steps: [
{action: wait, ms: 4000},
{action: screenshot, path: /tmp/foxx-profile.png}
],
closedelayms: 3000
}
搜索推文(实时)
json
{
needs_gui: true,
guireason: siteonly_action,
url: https://x.com/search?q=AI+agents&src=typed_query&f=live,
cookies_path: secrets/x-cookies.json,
steps: [
{action: wait, ms: 4000},
{action: screenshot, path: /tmp/foxx-search.png}
],
closedelayms: 3000
}
获取推文
json
{
needs_gui: true,
guireason: siteonly_action,
url: https://x.com/user/status/123456789,
cookies_path: secrets/x-cookies.json,
steps: [
{action: wait, ms: 3000},
{action: content, selector: article},
{action: screenshot, path: /tmp/foxx-tweet.png}
],
closedelayms: 3000
}
计划选项
| 字段 | 默认值 | 说明 |
|---|
| needsgui | 必填 | 必须为true以启动浏览器 |
| guireason |
必填 | 可选值:login、captcha、mfa、visual
verification、siteonly_action |
| url | 必填 | 起始URL |
| cookies_path | 可选 | 导出的Cookie JSON文件路径 |
| close
delayms | 3000 | 关闭浏览器前等待时间(毫秒)- 先验证结果 |
| validation_screenshot | /tmp/firefox-openclaw-validate.png | 关闭前自动截取的最终截图 |
| storage
statepath | 可选 | 运行后将会话状态保存至此路径 |
支持的步骤操作
- - goto - 导航至URL
- click - 通过选择器点击元素
- fill - 通过选择器填充输入框
- type - 带延迟输入文本
- press - 按下键盘按键
- wait - 等待指定毫秒数
- waitforselector - 等待元素出现
- screenshot - 截取屏幕截图
- content - 提取元素内部文本
行为规则
- - 始终等待页面加载(wait步骤,建议至少3000毫秒)
- 关闭前始终截取验证截图
- 浏览器在closedelayms后关闭 - 确认结果正确
- 若Cookie过期(重定向至登录页),重新运行export-x-cookies.sh
- 任务完成后始终关闭浏览器 - 勿使其闲置