Wakeful-Cloud / cpp-proxy

C++ shared library proxy prototype

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

C++ Proxy

C++ proxy/intercept prototypes

Prototypes

Documentation

Architecture

This repository contains Docker images for x86-64 (amd64) and ARM v8 64 bit (arm64-v8) in order to simulate running the proxies in a variety of environments including servers, desktops, and mobile/embedded systems. You will likely need to setup QEMU for development unless you're using Docker Desktop on non-Linux systems.

Docker

  1. Install Docker
  2. Build:
docker build . -f amd64.dockerfile -t cpp-proxy:amd64
# Or
docker build . -f arm64-v8.dockerfile -t cpp-proxy:arm64-v8
  1. Run:
# Note: CAP_SYS_PTRACE is required for process_vm_readv and QBDIPreload to work
docker run -it --cap-add CAP_SYS_PTRACE -v "$(pwd):/home/dev/cpp-proxy" --name cpp-proxy-amd64 cpp-proxy:amd64
# Or
docker run -it --cap-add CAP_SYS_PTRACE -v "$(pwd):/home/dev/cpp-proxy" --name cpp-proxy-arm64-v8 cpp-proxy:arm64-v8
  1. Notes:
  • The default user (dev) has password-less sudo setup and uses Zsh
  • The /home/dev/cpp-proxy directory in the container is mapped to the repository root directory on the host, but you will probably need to chown it (eg: sudo chown dev:dev /home/dev -R)

About

C++ shared library proxy prototype

License:MIT License


Languages

Language:C++ 81.0%Language:Dockerfile 9.1%Language:C 4.9%Language:CMake 4.9%