Go to file
2023-12-28 11:04:17 +08:00
.github/workflows Add support for compiling under Cygwin (#27) 2023-12-28 10:16:23 +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 make compiler (also devs) happy 2023-12-28 11:04:17 +08:00
interface make compiler (also devs) happy 2023-12-28 11:04:17 +08:00
src make compiler (also devs) happy 2023-12-28 11:04:17 +08:00
.gitignore building for macOS x86_64 2023-10-17 21:33:49 +08:00
CMakeLists.txt Add support for compiling under Cygwin (#27) 2023-12-28 10:16:23 +08:00
LICENSE Initial commit 2023-09-21 12:12:56 +08:00
README.md Add support for compiling under Cygwin (#27) 2023-12-28 10:16:23 +08:00
README_en.md Add support for compiling under Cygwin (#27) 2023-12-28 10:16:23 +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 -DLINUX_MINGW32=ON -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