Skip to main content
Glama
1013503897

boss-cli

by 1013503897

boss-cli

English | 中文

터미널이나 AI 에이전트에서 BOSS直聘 (com.hpbr.bosszhipin) 채용 공고를 검색하세요 — 기기 외부에서 실행되는 순수 Python이며, 실행에 휴대폰/에뮬레이터가 필요 없습니다. 앱의 네이티브 요청 서명(libyzwg.so)을 Python으로 재현하므로, 일반 HTTP 요청도 서버에서 수락됩니다.

$ boss search "安卓逆向" --city 北京,上海,杭州
# 12 jobs for '安卓逆向' (cities=['北京', '上海', '杭州'], page=1)
- [北京] 资深Android逆向与风控对抗专家 | 70-100K·13薪 | PureblueAI
- [上海] 移动安全/逆向工程师 | 30-60K | ...
- [杭州] android逆向开发 | 50-75K | 小算科技
...

연구/교육용 프로젝트입니다. 직접 로그인한 계정의 토큰으로 검색하며, BOSS直聘의 서비스 약관을 준수할 책임은 사용자에게 있습니다. API를 남용하지 마세요.

기능

  • 기기 외부 검색 — 실행 시 휴대폰, 에뮬레이터, unidbg가 필요 없으며, Python + 세션 토큰만 있으면 됩니다.

  • 한 번의 호출로 여러 도시--city 北京,上海,杭州, 도시 이름 또는 코드로 지정.

  • 키워드 필터--filter 远程 / --filter 兼职로 제목/라벨/회사가 일치하는 공고만 유지합니다.

  • 텍스트 또는 JSON 출력 — 사람이 읽기 쉬운 목록, 또는 스크립트용 --json.

  • MCP 서버 — 검색을 도구(boss_search)로 노출하여 Claude / 모든 MCP 클라이언트에서 사용할 수 있습니다.

설치

pip install -r requirements.txt          # lz4, requests   (mcp only needed for the MCP server)

세션 가져오기 (1회)

클라이언트는 사용자가 제어하는 기기의 로그인된 BOSS直聘 앱에서 세 가지가 필요합니다:

필드

출처

t2

t2 요청 헤더 — 로그인 토큰

client_info

client_info 쿼리 매개변수 (JSON blob: model / uniqid / did …)

uniqid

client_info 안에 있음

앱에서 GET https://api5.zhipin.com/api/batch/requests 요청 하나를 아무 HTTPS 인터셉터(Reqable / Charles / mitmproxy; 앱이 인증서 고정을 사용한다면 frida SSL-unpin 스크립트 사용)로 캡처한 다음, 해당 값들을 session.local.json에 복사하세요:

cp session.example.json session.local.json    # then paste your t2 / client_info / uniqid / cardlist_defaults

session.local.json은 gitignore되어 있습니다(토큰을 보관함). t2는 만료됩니다 — 검색이 invalid auth를 반환하기 시작하면 같은 방법으로 새 t2를 얻으세요.

사용법

# by city name or code, one or several
boss search "Python"                              # default city from your session
boss search "数据分析" --city 上海
boss search "安卓逆向" --city 北京,上海,杭州        # multi-city, results tagged [city]

# filter / paginate / cap
boss search "逆向" --city 北京,上海 --filter 远程   # only jobs mentioning 远程 (remote)
boss search "Golang" --page 2 --limit 20
boss search "算法" --json                          # parsed jobs as JSON

# run without installing (module form)
python -m bosscli.cli search "AIGC" --city 深圳

옵션: --city (도시 이름/코드, 쉼표로 구분) · --filter <text> · --page N · --sort -1 · --limit N · --json · --token <t2> (재정의) · --session <path>.

내장 도시 이름: 全国 / 北京 / 上海 / 广州 / 深圳 / 杭州 / 成都 / 南京 / 武汉 / 西安 / 苏州 / 天津 / 长沙 / 重庆 / 郑州 / 厦门 (다른 도시는 원시 코드를 전달).

MCP 서버

BOSS_SESSION=./session.local.json python -m bosscli.mcp_server

MCP 클라이언트에 등록하세요(예: ~/.claude.json). 도구는 boss_search(query, city?, page?, sort?)입니다.

작동 원리 (요약)

BOSS直聘의 검색은 배치 엔드포인트를 거치며, 매개변수에는 두 가지 위변조 방지 값 — sp(암호화된 매개변수 blob)와 sig(서명) — 이 포함되며, 둘 다 네이티브 라이브러리 libyzwg.so가 생성합니다. 이 프로젝트는 해당 라이브러리의 서명/암호화를 순수 Python(bosscli/yzwg.py)으로 재현하고, 배치 요청을 조립한 뒤(bosscli/signer.py), 보내고 응답을 복호화합니다(bosscli/client.py). 정확성은 실제 캡처에 대한 바이트 단위 일치 테스트(tests/)로 보장됩니다. 핵심은 이것뿐입니다: 서명이 재현되면 검색은 그냥 HTTP 호출일 뿐입니다.

python tests/test_yzwg.py       # native crypto — byte-exact vs real-device captures
python tests/test_signer.py     # request assembly round-trip

구성

bosscli/yzwg.py     signing / encryption primitives (pure Python)
bosscli/signer.py   batch-request assembly
bosscli/client.py   search: build → send → decrypt → parse
bosscli/cli.py      the `boss search ...` CLI
bosscli/mcp_server.py  MCP wrapper (tool: boss_search)
tests/              byte-exact regression tests + fixtures
session.example.json   template for your session

中文

English | 中文

터미널이나 AI 에이전트에서 BOSS直聘(com.hpbr.bosszhipin) 채용 공고를 검색하세요 — 순수 Python, 기기 외부에서 실행되며 실행 시 휴대폰/에뮬레이터가 필요 없습니다. 앱의 네이티브 요청 서명 라이브러리(libyzwg.so)를 Python으로 재현했기 때문에, 일반 HTTP 요청만으로도 서버가 수락합니다.

$ boss search "安卓逆向" --city 北京,上海,杭州
# 12 jobs for '安卓逆向' (cities=['北京', '上海', '杭州'], page=1)
- [北京] 资深Android逆向与风控对抗专家 | 70-100K·13薪 | PureblueAI
- [杭州] android逆向开发 | 50-75K | 小算科技
...

연구/학습 용도입니다. 직접 로그인한 계정의 토큰으로 검색하며, BOSS直聘의 서비스 약관을 준수할 책임은 사용자에게 있습니다. API를 남용하지 마세요.

기능

  • 기기 외부 검색 — 실행 시 휴대폰 / 에뮬레이터 / unidbg가 필요 없으며, Python + 세션 토큰만 있으면 됩니다.

  • 한 명령으로 여러 도시--city 北京,上海,杭州, 도시 이름 또는 도시 코드를 지원합니다.

  • 키워드 필터링--filter 远程 / --filter 兼职, 제목/라벨/회사가 일치하는 공고만 유지합니다.

  • 텍스트 또는 JSON 출력 — 읽을 수 있는 목록 또는 스크립트용 --json.

  • MCP 서비스 — 검색을 도구(boss_search)로 노출하여 Claude / 모든 MCP 클라이언트에 제공합니다.

설치

pip install -r requirements.txt          # lz4、requests(MCP 服务另需 mcp 包)

세션 가져오기 (1회)

클라이언트는 사용자가 소유한 로그인된 BOSS直聘 기기에서 세 가지를 얻어야 합니다:

필드

출처

t2

요청 헤더의 t2 — 로그인 토큰

client_info

query 매개변수 client_info (JSON 블록: 기기 모델 / uniqid / did …)

uniqid

client_info 안에 있음

아무 HTTPS 패킷 캡처 도구(Reqable / Charles / mitmproxy; 앱이 인증서 고정을 사용한다면 frida SSL unpin 스크립트를 설정)로 앱이 보낸 GET https://api5.zhipin.com/api/batch/requests 요청 하나를 캡처하고 위 값들을 session.local.json에 채워 넣으세요:

cp session.example.json session.local.json    # 再把你的 t2 / client_info / uniqid / cardlist_defaults 粘进去

session.local.json은 gitignore되어 있습니다(안에 토큰이 있음). t2는 만료됩니다 — 검색이 invalid auth를 반환하기 시작하면 위와 같이 새로 캡처하면 됩니다.

사용법

# 按城市名或城市码,单个或多个
boss search "Python"                              # 用 session 里的默认城市
boss search "数据分析" --city 上海
boss search "安卓逆向" --city 北京,上海,杭州        # 多城市,结果带 [城市] 标签

# 筛选 / 翻页 / 限量
boss search "逆向" --city 北京,上海 --filter 远程   # 只看提到“远程”的岗
boss search "Golang" --page 2 --limit 20
boss search "算法" --json                          # 解析后的职位 JSON

# 不安装、直接模块方式跑
python -m bosscli.cli search "AIGC" --city 深圳

매개변수: --city(도시 이름/코드, 쉼표 구분) · --filter <텍스트> · --page N · --sort -1 · --limit N · --json · --token <t2>(임시 재정의) · --session <경로>.

내장 도시 이름: 全国 / 北京 / 上海 / 广州 / 深圳 / 杭州 / 成都 / 南京 / 武汉 / 西安 / 苏州 / 天津 / 长沙 / 重庆 / 郑州 / 厦门 (다른 도시는 도시 코드를 직접 전달).

MCP 서버

BOSS_SESSION=./session.local.json python -m bosscli.mcp_server

MCP 클라이언트에 등록하세요(예: ~/.claude.json). 도구 이름은 boss_search(query, city?, page?, sort?)입니다.

작동 원리 (한 줄 요약)

BOSS直聘의 검색은 배치 엔드포인트를 사용하며, 매개변수에는 두 가지 위변조 방지 값 — sp(암호화된 매개변수 문자열)와 sig(서명) — 이 있고, 둘 다 네이티브 라이브러리 libyzwg.so가 생성합니다. 이 프로젝트는 이 라이브러리의 서명/암호화를 순수 Python으로 재현하고(bosscli/yzwg.py), 배치 요청을 조립하며(bosscli/signer.py), 보낸 후 응답을 복호화합니다(bosscli/client.py). 정확성은 실제 캡처에 대한 바이트 단위 테스트(tests/)로 보장됩니다. 핵심은 이 한 가지입니다: 서명이 재현되면 검색은 평범한 HTTP 요청일 뿐입니다.

면책 조항

보안 연구 및 학습 목적으로만 제공됩니다. BOSS直聘의 서비스 약관이나 관련 법률을 위반하는 용도로 사용하지 마십시오. 이 프로젝트를 사용하여 발생하는 모든 결과는 사용자 본인에게 있습니다.

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/1013503897/boss-cli'

If you have feedback or need assistance with the MCP directory API, please join our Discord server