feat: v1.3-konforme API, HTTP-Fixes, Base64, Example erweitert; Makefile & README Setup

This commit is contained in:
2025-08-28 10:32:16 +02:00
parent 29818a5708
commit 23f98c22f5
8 changed files with 209 additions and 95 deletions

View File

@ -14,42 +14,60 @@ This library provides a simple C++ interface for interacting with PrivateBin ser
- Cross-platform compatibility (Windows and Linux)
- Support for PrivateBin API versions 1.3 and later
## Building
## Entwicklung & Build
### Prerequisites
### Voraussetzungen
- CMake 3.10 or later
- C++17 compatible compiler
- For Windows: Windows SDK
- For Linux: libcurl development headers
- CMake 3.10+
- C++17-fähiger Compiler (MSVC 2022 bzw. GCC/Clang)
- Git
- vcpkg (wird bei Makefile-Nutzung automatisch gebootstrapped)
### Dependencies
### Abhängigkeiten
The library depends on the following components:
- cryptopp (Crypto++)
- nlohmann-json
- Windows: WinHTTP (SDK)
- Linux: libcurl (wird automatisch über vcpkg genutzt)
1. **HTTP Client**:
- Windows: WinHTTP
- Linux: libcurl
### Schnellstart mit Makefile (Windows & Linux)
2. **JSON Processing**:
- nlohmann/json
1) Abhängigkeiten installieren, konfigurieren und bauen:
### Building on Windows
```cmd
mkdir build
cd build
cmake ..
cmake --build .
```
make
```
### Building on Linux
2) Beispiel bauen und ausführen:
```bash
mkdir build
cd build
cmake ..
make
```
make example
```
Das Makefile erledigt:
- vcpkg klonen & bootstrappen
- Pakete aus `vcpkg.json` installieren
- CMake mit vcpkg-Toolchain konfigurieren
- Bibliothek und Beispiel bauen
### Manuell mit CMake
```
# vcpkg klonen & bootstrappen
git clone https://github.com/microsoft/vcpkg.git "$HOME/vcpkg"
"$HOME/vcpkg/bootstrap-vcpkg.sh" # Linux/macOS
# Windows (PowerShell):
# powershell -NoProfile -ExecutionPolicy Bypass -Command "& '$env:USERPROFILE\vcpkg\bootstrap-vcpkg.bat'"
# Konfigurieren
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE="$HOME/vcpkg/scripts/buildsystems/vcpkg.cmake"
# Bauen
cmake --build build --config Release
# Beispiel
cmake -S example -B example/build -DCMAKE_BUILD_TYPE=Release
cmake --build example/build --config Release
```
## Usage