{"id":17115306,"url":"https://github.com/nickdiego/docker-ollvm","last_synced_at":"2025-08-02T07:13:41.980Z","repository":{"id":68744124,"uuid":"122279574","full_name":"nickdiego/docker-ollvm","owner":"nickdiego","description":"Easily build and package Obfuscator-LLVM into Android NDK.","archived":false,"fork":false,"pushed_at":"2018-03-05T13:22:20.000Z","size":48,"stargazers_count":45,"open_issues_count":3,"forks_count":11,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-26T20:55:41.728Z","etag":null,"topics":["android","docker","ndk","o-llvm","obfuscator","obfuscator-llvm","security"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nickdiego.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-02-21T01:30:26.000Z","updated_at":"2025-02-27T06:38:04.000Z","dependencies_parsed_at":"2023-05-21T11:45:13.696Z","dependency_job_id":null,"html_url":"https://github.com/nickdiego/docker-ollvm","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nickdiego%2Fdocker-ollvm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nickdiego%2Fdocker-ollvm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nickdiego%2Fdocker-ollvm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nickdiego%2Fdocker-ollvm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nickdiego","download_url":"https://codeload.github.com/nickdiego/docker-ollvm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248657830,"owners_count":21140842,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","docker","ndk","o-llvm","obfuscator","obfuscator-llvm","security"],"created_at":"2024-10-14T17:26:47.853Z","updated_at":"2025-04-13T02:32:57.668Z","avatar_url":"https://github.com/nickdiego.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Dockerized build and helper scripts for Obfuscator-LLVM \n\nThis repository provides a Dockerfile and some helper shell scripts useful to easily build Obfuscator-LLVM project from source as well as configuring it as a Android NDK toolchain. The scripts can be used both as standalone tools and inside the Docker image.  \n\n#### Prerequisites\n\n- Bash\n- Docker (_ideally [configured to be executed as non-root user](https://docs.docker.com/install/linux/linux-postinstall/#manage-docker-as-a-non-root-user)_)\n\n#### Basic usage\n\n- Build O-LLVM within a docker container, using `ollvm/source/dir` as source directory \nThe output build directory will be in `ollvm/source/dir/build_docker`.\n```bash\n./ollvm-build.sh ollvm/source/dir\n```\n\n- Add O-LLVM toolchain into Official Android NDK, using `ollvm/artifacts/dir` as binary directory\n(result from a previous OLLVM build). The output NDK package will be generated into the current\nworking directory.\n```bash\n./ollvm-add-to-ndk.sh ollvm/artifacts/dir\n```\n\n#### Using in Gitlab-CI\n\nAnother use case where these scripts are very useful is to integrate O-LLVM build process into a Continuous Integration\nsystem, which is very handy when researching/hacking O-LLVM (E.g: Adding some experimental features or improving\nthe existing ones).\nBelow is an example on how to build O-LLVM and generate a NDK with O-LLVM toolchain using the docker image built from this repository:\n\n```yaml\n...\nbuild:\n  stage: build\n  script:\n  ┆ - OLLVM_DIR=$PWD /scripts/ollvm-build.sh --docker\n  ┆ - tar -cfz ollvm-4.0.tgz build_docker/_installed_/*\n  artifacts:\n  ┆ paths:\n  ┆ ┆ - ollvm-4.0.tgz\n  stage: build\n\npackage:\n  stage: repackage_ndk\n  script:\n  ┆ - /scripts/ollvm-add-to-ndk.sh build_docker/_installed_\n  artifacts:\n  ┆ paths:\n  ┆ ┆ - android-ndk-r14b-ollvm4.0-linux-x86_64.tar.gz\n...\n```\n\n#### About Obfuscator-LLVM\n\nO-LLVM is an open-source fork of the LLVM compilation suite able to provide increased software security through code obfuscation and tamper-proofing. As we currently mostly work at the Intermediate Representation (IR) level, our tool is compatible with all programming languages (C, C++, Objective-C, Ada and Fortran) and target platforms (x86, x86-64, PowerPC, PowerPC-64, ARM, Thumb, SPARC, Alpha, CellSPU, MIPS, MSP430, SystemZ, and XCore) currently supported by LLVM.\n\nMore information: https://github.com/obfuscator-llvm/obfuscator/wiki\n\n\n#### Docker Hub\n\nhttps://hub.docker.com/r/nickdiego/ollvm-build/\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnickdiego%2Fdocker-ollvm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnickdiego%2Fdocker-ollvm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnickdiego%2Fdocker-ollvm/lists"}