Go to file
2024-01-05 11:24:22 +08:00
.github/workflows Make the cygwin cmake option independent of mingw (#28) 2023-12-28 12:40:41 +08:00
asn1 sed all asn1c header to dir local include 2023-10-10 23:07:35 +08:00
cjson add cJSON_AddStringOrNullToObject to make datastruct stable 2023-12-19 23:29:22 +08:00
dlfcn-win32 feat: $PWD independent executable file (#23) 2023-12-16 20:24:19 +08:00
euicc fix the public keys don't show correctly (#30) 2024-01-05 11:24:22 +08:00
interface code change to multi-license 2023-12-28 12:47:00 +08:00
src fix the public keys don't show correctly (#30) 2024-01-05 11:24:22 +08:00
.gitignore building for macOS x86_64 2023-10-17 21:33:49 +08:00
CMakeLists.txt Make the cygwin cmake option independent of mingw (#28) 2023-12-28 12:40:41 +08:00
README.md Make the cygwin cmake option independent of mingw (#28) 2023-12-28 12:40:41 +08:00
README_en.md Make the cygwin cmake option independent of mingw (#28) 2023-12-28 12:40:41 +08:00

LPAC

中文

LPAC is a cross platform local profile agent program.

Features:

  • Support Activate Code and Confirm Code
  • Support custom IMEI sent to server
  • Support esim Discovery(Push)
  • Notification manage
  • Lookup eUICC chip info
  • etc

Download: Github Release

lpac is dynamic-linked, Release is built by Github action, if you can't run it you need to compile by yourself

Join our Telegram Group to discuss!

Usage

Linux dependency

You need to install pcscd and keep its daemon running to access pcsc smart card reader.

sudo apt install pcscd
sudo systemctl start pcscd

libpcsclite is alse needed

Compile

Linux

Debian/Ubuntu

sudo apt install build-essential cmake git g++ libpcsclite-dev libcurl4-openssl-dev
git clone --depth=1 https://github.com/estkme-group/lpac
cd lpac && mkdir build && cd build 
cmake .. 
make

macOS

WIP

Windows

Due to a bug in asn1c, the MinGW version of lpac cannot send notification successfully. Building with Cygwin seems to avoid it.

Windows need prebuilt libcurl.dll, you can replace the download link to newest curl version.

  • Build on Windows(Cygwin)

With gcc-core gcc-g++ make cmake unzip wget installed

git clone --depth=1 https://github.com/estkme-group/lpac
cd lpac && mkdir build && cd build
cmake -DCYGWIN=ON .. && make
# Download libcurl
wget https://curl.se/windows/dl-8.4.0_6/curl-8.4.0_6-win64-mingw.zip -O curl.zip && unzip curl.zip && mv curl-8.4.0_6-win64-mingw/bin/libcurl-x64.dll output/libcurl.dll

To run it outside Cygwin shell, you need copy cygwin1.dll to the program folder to distribute. cygwin1.dll is located in C:\cygwin64\bin\cygwin1.dll (Default Cygwin installation location)

  • Build on Linux(MINGW)
sudo apt install build-essential cmake git g++ libpcsclite-dev libcurl4-openssl-dev gcc-mingw-w64 g++-mingw-w64
git clone --depth=1 https://github.com/estkme-group/lpac
cd lpac && mkdir build && cd build
cmake -DLINUX_MINGW32=ON .. && make
# Download libcurl
wget https://curl.se/windows/dl-8.4.0_6/curl-8.4.0_6-win64-mingw.zip -O curl.zip && unzip curl.zip && mv curl-8.4.0_6-win64-mingw/bin/libcurl-x64.dll output/libcurl.dll
  • Build on Windows(MSYS2)
# MSYS2 MINGW64 system
pacman -S mingw-w64-x86_64-cmake mingw-w64-x86_64-ninja mingw-w64-x86_64-gcc
git clone --depth=1 https://github.com/estkme-group/lpac
cd lpac && mkdir build && cd build
cmake -DLINUX_MINGW32=ON .. && ninja
# Download libcurl
wget https://curl.se/windows/dl-8.4.0_6/curl-8.4.0_6-win64-mingw.zip -O curl.zip && unzip curl.zip && mv curl-8.4.0_6-win64-mingw/bin/libcurl-x64.dll output/libcurl.dll