Introduction to hepc – HTTP End Point for CodeQL
Usage Sample
cd ~/work-gh/mrva/mrvahepc
uv sync # one-time install; uv-run shebangs avoid manual activation
# Collect DBs from filesystem
cd ~/work-gh/mrva/mrvahepc && rm -fR db-collection.tmp/
export MRVA_HEPC_ENDPOINT=http://hepc
./bin/mc-hepc-init --db_collection_dir db-collection.tmp \
--starting_path ~/work-gh/mrva/mrva-open-source-download/ \
--max_dbs 17
# Serve collected DBs plus metadata
cd ~/work-gh/mrva/mrvahepc
./bin/mc-hepc-serve --codeql-db-dir db-collection.tmp
# Test server
curl 127.0.0.1:8070/index -o - 2>/dev/null | wc -l
curl 127.0.0.1:8070/api/v1/latest_results/codeql-all \
-o - 2>/dev/null | wc -l
url=$(curl 127.0.0.1:8070/api/v1/latest_results/codeql-all \
-o - 2>/dev/null | head -1 | jq -r .result_url)
echo $url
# http://hepc/db/db-collection.tmp/aircrack-ng-aircrack-ng-ctsj-41ebbe.zip
wget $(echo $url|sed 's|http://hepc|http://127.0.0.1:8070|g;')
Installation
-
Use uv to install dependencies without manually activating a venv
cd ~/work-gh/mrva/mrvahepc uv sync
uv syncinstalls everything declared inpyproject.tomlinto a managed.venvand caches the wheels; thebin/scripts already useuv runin their shebangs, so you can execute them directly. -
Local development
cd ~/work-gh/mrva/mrvahepc uv sync uv pip install --editable .
The
--editableinstall is optional; use./bin/*directly to avoid relying on entry points in your shell. -
Full installation
pip install mrvahepc
Use as library
The best way to examine the code is starting from the high-level scripts
in bin/.
Description
Languages
Python
100%