Skip to content

πŸ›οΈ Fetch | Build βš™οΈ Weekly πŸ“± (aarch64_arm64_v8a_Android) Package πŸ“¦πŸ—„οΈ #13

πŸ›οΈ Fetch | Build βš™οΈ Weekly πŸ“± (aarch64_arm64_v8a_Android) Package πŸ“¦πŸ—„οΈ

πŸ›οΈ Fetch | Build βš™οΈ Weekly πŸ“± (aarch64_arm64_v8a_Android) Package πŸ“¦πŸ—„οΈ #13

name: πŸ›οΈ Fetch βš™οΈ Weekly πŸ“± (aarch64_arm64_v8a_Android) Package πŸ“¦πŸ—„οΈ
#MAX_RUNTIME:
on:
workflow_dispatch:
schedule:
#- cron: "0 1 * * *" # 06:45 AM NPT Mrng Every Day
- cron: "0 0 */2 * *" #Every 2 days (48 Hr)
env:
GITHUB_TOKEN: ${{ secrets.TOOLPACKS }}
jobs:
#------------------------------------------------------------------------------------#
#------------------------------------------------------------------------------------#
fetch-binaries:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
path: main
- name: Debloat Runner
run: |
#Presets
set -x ; set +e
#--------------#
#12.0 GB
#This is needed, this is the ndk
#sudo rm /usr/local/lib/android -rf 2>/dev/null
#8.2 GB
sudo rm /opt/hostedtoolcache/CodeQL -rf 2>/dev/null
#5.0 GB
sudo rm /usr/local/.ghcup -rf 2>/dev/null
#2.0 GB
sudo rm /usr/share/dotnet -rf 2>/dev/null
#1.7 GB
sudo rm /usr/share/swift -rf 2>/dev/null
#1.1 GB
#sudo rm /usr/local/lib/node_modules -rf 2>/dev/null
#1.0 GB
sudo rm /usr/local/share/powershell -rf 2>/dev/null
#500 MB
sudo rm /usr/local/lib/heroku -rf 2>/dev/null
continue-on-error: true
- name: Install CoreUtils & Deps
run: |
#Presets
set -x ; set +e
#--------------#
sudo apt-get update -y
sudo apt-get install automake b3sum build-essential ca-certificates ccache lzip jq make musl musl-dev musl-tools p7zip-full wget -y
sudo apt-get install -y --no-install-recommends autoconf automake autopoint binutils bison build-essential ca-certificates flex file jq patch patchelf pkg-config python3-pip qemu-user-static wget
#Bin Utils
sudo apt install binutils-aarch64-linux-gnu -y
#libpcap
sudo apt install 'libpcap*' -y
sudo apt install 'nmap' -y
continue-on-error: true
- name: Install PythonUtils & Deps
run: |
#Presets
set -x ; set +e
#--------------#
sudo apt-get install libxcb1-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev xcb -y
pip install ansi2txt
pip install scons
pip install staticx
pip install pyinstaller
pip install py2static
pip install typer
continue-on-error: true
- name: Install CargoUtils & Deps
run: |
#Presets
set -x ; set +e
#--------------#
cargo install cross --git "https://github.com/cross-rs/cross"
continue-on-error: true
##Needed until gh runners updates go version: https://github.com/actions/runner-images/blob/main/images/linux/Ubuntu2204-Readme.md
## It helps to be on bleeding edge anyway
- name: Install/Update golang
run: |
#Presets
set -x ; set +e
#--------------#
echo "yes" | bash <(curl -qfsSL "https://git.io/go-installer")
source "$HOME/.bashrc"
continue-on-error: true
- name: Install Addons
run: |
#Presets
set -x ; set +e
#--------------#
#eget
curl -qfsSL "https://zyedidia.github.io/eget.sh" | bash
sudo mv ./eget* "/usr/local/bin/eget"
sudo chmod +xwr "/usr/local/bin/eget"
continue-on-error: true
- name: Install Crystal
run: |
#https://crystal-lang.org/install/on_ubuntu/
curl -fsSL https://crystal-lang.org/install.sh | sudo bash
continue-on-error: true
- name: Install 7z
run: |
#Presets
set -x ; set +e
#--------------#
cd $(mktemp -d) && curl -qfsSLJO "https://www.7-zip.org/$(curl -qfsSL "https://www.7-zip.org/download.html" | grep -o 'href="[^"]*"' | sed 's/href="//' | grep 'linux-x64.tar.xz' | sed 's/"$//' | sort | tail -n 1)"
find . -type f -name '*.xz' -exec tar -xf {} \;
#sudo rm $(which 7z) 2>/dev/null ; sudo rm $(which 7z) 2>/dev/null
sudo find . -type f -name '7zzs' ! -name '*.xz' -exec cp {} "/usr/local/bin/7z" \;
sudo chmod +xwr "/usr/local/bin/7z"
sudo find . -type f -name '7zzs' ! -name '*.xz' -exec cp {} "/usr/bin/7z" \;
sudo chmod +xwr "/usr/bin/7z"
7z -h
continue-on-error: true
- name: Install upX
run: |
cd $(mktemp -d) && curl -qfLJO "$(curl -qfsSL https://api.github.com/repos/upx/upx/releases/latest | jq -r '.assets[].browser_download_url' | grep -i 'amd64_linux')"
find . -type f -name '*tar*' -exec tar -xvf {} \;
sudo find . -type f -name 'upx' -exec mv {} "$(which upx)" \;
continue-on-error: true
#------------------------------------------------------------------------------------#
#Fetch: Only those that are known to work (have been tested)
# : Must not exist at : https://github.com/Azathothas/Toolpacks/tree/main/Info/Packages/Termux
##anew
- name: Build anew (Native)
run: |
#Presets
set -x ; set +e
#--------------#
#Get Source
pushd "$(mktemp -d)" && git clone "https://github.com/tomnomnom/anew" && cd "./anew"
# android 29 --> Android 10.0 or Later
# ANDROID_NDK = /usr/local/lib/android/sdk/ndk/
export CC="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang"
export CXX="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang++"
#Compile
# CGO_ENABLED must be enabled to use android native libs, else things like dns etc won't work
# Binaries compiled this way are always dynamically linked to /system/bin/linker64
GOOS=android GOARCH=arm64 CGO_ENABLED=1 go build -v -ldflags="-s -w"
file "./anew" ; aarch64-linux-gnu-readelf -d "./anew" ; ls -lah "./anew"
#Move
mv "./anew" "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/anew" ; popd
#Clean Cache
go clean -cache -fuzzcache -modcache -testcache
continue-on-error: true
##bottom
- name: Build bottom (Native)
run: |
#Presets
set -x ; set +e
#--------------#
#Get Source
pushd "$(mktemp -d)" && git clone "https://github.com/ClementTsang/bottom" && cd "./bottom"
#android29 --> Android 10 or later
export TARGET="aarch64-linux-android" ; export RUSTFLAGS="-C linker=$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang -C ar=$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar"
rustup target add "$TARGET"
#Config
sed '/^\[profile\.release\]/,/^$/d' -i "./Cargo.toml"
echo -e '\n[profile.release]\nstrip = true\nopt-level = "z"\nlto = true' >> "./Cargo.toml"
#Build
cargo build --target $TARGET --release --no-default-features
#move
mv "./target/$TARGET/release/btm" "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/btm" ; popd
continue-on-error: true
##certstream
- name: Build certstream (Native)
run: |
#Presets
set -x ; set +e
#--------------#
#Get Source
cd $(mktemp -d) && mkdir certstream && cd certstream
curl -qfsSLJO "https://raw.githubusercontent.com/Azathothas/Arsenal/main/certstream/main.go"
curl -qfsSLJO "https://raw.githubusercontent.com/Azathothas/Arsenal/main/certstream/go.mod"
go get github.com/Azathothas/Arsenal/certstream
# android 29 --> Android 10.0 or Later
# ANDROID_NDK = /usr/local/lib/android/sdk/ndk/
export CC="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang"
export CXX="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang++"
#Compile
# CGO_ENABLED must be enabled to use android native libs, else things like dns etc won't work
# Binaries compiled this way are always dynamically linked to /system/bin/linker64
GOOS=android GOARCH=arm64 CGO_ENABLED=1 go build -v -ldflags="-s -w" -o "./certstream"
file "./certstream" ; aarch64-linux-gnu-readelf -d "./certstream" ; ls -lah "./certstream"
#Move
mv "./certstream" "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/certstream" ; popd
#Clean Cache
go clean -cache -fuzzcache -modcache -testcache
continue-on-error: true
##crt
- name: Build crt (Native)
run: |
#Presets
set -x ; set +e
#--------------#
#Get Source
pushd "$(mktemp -d)" && git clone "https://github.com/cemulus/crt" && cd crt
# android 29 --> Android 10.0 or Later
# ANDROID_NDK = /usr/local/lib/android/sdk/ndk/
export CC="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang"
export CXX="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang++"
#Compile
# CGO_ENABLED must be enabled to use android native libs, else things like dns etc won't work
# Binaries compiled this way are always dynamically linked to /system/bin/linker64
GOOS=android GOARCH=arm64 CGO_ENABLED=1 go build -v -ldflags="-s -w"
file "./crt" ; aarch64-linux-gnu-readelf -d "./crt" ; ls -lah "./crt"
#Move
mv "./crt" "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/crt" ; popd
#Clean Cache
go clean -cache -fuzzcache -modcache -testcache
continue-on-error: true
##dnsx
- name: Build dnsx (Native)
run: |
#Presets
set -x ; set +e
#--------------#
#Get Source
pushd "$(mktemp -d)" && git clone "https://github.com/projectdiscovery/dnsx" && cd "./dnsx"
# android 29 --> Android 10.0 or Later
# ANDROID_NDK = /usr/local/lib/android/sdk/ndk/
export CC="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang"
export CXX="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang++"
#Compile
# CGO_ENABLED must be enabled to use android native libs, else things like dns etc won't work
# Binaries compiled this way are always dynamically linked to /system/bin/linker64
GOOS=android GOARCH=arm64 CGO_ENABLED=1 go build -v -ldflags="-s -w" "./cmd/dnsx"
file "./dnsx" ; aarch64-linux-gnu-readelf -d "./dnsx" ; ls -lah "./dnsx"
#Move
mv "./dnsx" "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/dnsx" ; popd
#Clean Cache
go clean -cache -fuzzcache -modcache -testcache
continue-on-error: true
##eget
- name: Build eget (Native)
run: |
#Presets
set -x ; set +e
#--------------#
#Get Source
pushd $(mktemp -d) && git clone "https://github.com/zyedidia/eget" && cd eget
# android 29 --> Android 10.0 or Later
# ANDROID_NDK = /usr/local/lib/android/sdk/ndk/
export CC="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang"
export CXX="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang++"
#Compile
# CGO_ENABLED must be enabled to use android native libs, else things like dns etc won't work
# Binaries compiled this way are always dynamically linked to /system/bin/linker64
GOOS=android GOARCH=arm64 CGO_ENABLED=1 go build -v -ldflags="-s -w"
#Move
mv "./eget" "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/eget" ; popd
#Clean Cache
go clean -cache -fuzzcache -modcache -testcache
continue-on-error: true
##encode
- name: Build encode (Native)
run: |
#Presets
set -x ; set +e
#--------------#
#Get Source
pushd $(mktemp -d) && git clone "https://github.com/Brum3ns/encode" && cd encode
# android 29 --> Android 10.0 or Later
# ANDROID_NDK = /usr/local/lib/android/sdk/ndk/
export CC="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang"
export CXX="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang++"
#Compile
# CGO_ENABLED must be enabled to use android native libs, else things like dns etc won't work
# Binaries compiled this way are always dynamically linked to /system/bin/linker64
GOOS=android GOARCH=arm64 CGO_ENABLED=1 go build -v -ldflags="-s -w" "./cmd/encode"
file "./encode" ; aarch64-linux-gnu-readelf -d "./encode" ; ls -lah "./encode"
#Move
mv "./encode" "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/encode" ; popd
#Clean Cache
go clean -cache -fuzzcache -modcache -testcache
continue-on-error: true
# available: pkg info feroxbuster
# ##feroxbuster
# - name: Build feroxbuster (Native)
# run: |
# #Presets
# set -x ; set +e
# #--------------#
# #Get Source
# pushd "$(mktemp -d)" && git clone "https://github.com/epi052/feroxbuster" && cd "./feroxbuster"
# #android29 --> Android 10 or later
# #llvm-ar
# sudo ln -s "$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar" "/usr/local/bin/aarch64-linux-android-ar" 2>/dev/null
# sudo chmod +xwr "/usr/local/bin/aarch64-linux-android-ar" 2>/dev/null
# #llvm-ranlib
# sudo ln -s "$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ranlib" "/usr/local/bin/aarch64-linux-android-ranlib" 2>/dev/null
# sudo chmod +xwr "/usr/local/bin/aarch64-linux-android-ranlib" 2>/dev/null
# #export Build Flags
# export TARGET="aarch64-linux-android" ; export RUSTFLAGS="-C linker=$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang -C ar=$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar"
# rustup target add "$TARGET"
# #Config
# sed '/^\[profile\.release\]/,/^$/d' -i "./Cargo.toml"
# echo -e '\n[profile.release]\nstrip = true\nopt-level = "z"\nlto = true' >> "./Cargo.toml"
# #Build
# cargo build --target "$TARGET" --release
# #meta
# file "./target/$TARGET/release/feroxbuster" && aarch64-linux-gnu-readelf -d "./target/$TARGET/release/feroxbuster"
# #move
# mv "./target/$TARGET/release/feroxbuster" "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/feroxbuster" ; popd
# continue-on-error: true
##ffuf
- name: Build ffuf (Native)
run: |
#Presets
set -x ; set +e
#--------------#
#Get Source
pushd $(mktemp -d) && git clone "https://github.com/ffuf/ffuf" && cd "./ffuf"
# android 29 --> Android 10.0 or Later
# ANDROID_NDK = /usr/local/lib/android/sdk/ndk/
export CC="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang"
export CXX="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang++"
#Compile
# CGO_ENABLED must be enabled to use android native libs, else things like dns etc won't work
# Binaries compiled this way are always dynamically linked to /system/bin/linker64
GOOS=android GOARCH=arm64 CGO_ENABLED=1 go build -v -ldflags="-s -w"
file "./ffuf" ; aarch64-linux-gnu-readelf -d "./ffuf" ; ls -lah "./ffuf"
#Move
mv "./ffuf" "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/ffuf" ; popd
#Clean Cache
go clean -cache -fuzzcache -modcache -testcache
continue-on-error: true
# ##filebrowser
# - name: Download filebrowser
# run: |
# #Presets
# set -x ; set +e
# #--------------#
# eget "filebrowser/filebrowser" --asset "arm64" --asset "linux" --to "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/filebrowser"
# continue-on-error: true
##filebrowser
- name: Build filebrowser (Native)
run: |
#Presets
set -x ; set +e
#--------------#
#Get Source
pushd "$(mktemp -d)" && git clone "https://github.com/filebrowser/filebrowser" && cd "./filebrowser"
# android 29 --> Android 10.0 or Later
# ANDROID_NDK = /usr/local/lib/android/sdk/ndk/
export CC="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang"
export CXX="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang++"
#Compile
# CGO_ENABLED must be enabled to use android native libs, else things like dns etc won't work
# Binaries compiled this way are always dynamically linked to /system/bin/linker64
GOOS=android GOARCH=arm64 CGO_ENABLED=1 go build -v -ldflags="-s -w"
file "./filebrowser" ; aarch64-linux-gnu-readelf -d "./filebrowser" ; ls -lah "./filebrowser"
#Move
mv "./filebrowser" "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/filebrowser" ; popd
#Clean Cache
go clean -cache -fuzzcache -modcache -testcache
continue-on-error: true
##godns
- name: Build godns (Native)
run: |
#Presets
set -x ; set +e
#--------------#
#Get Source
pushd $(mktemp -d) && git clone "https://github.com/TimothyYe/godns" && cd "./godns"
# android 29 --> Android 10.0 or Later
# ANDROID_NDK = /usr/local/lib/android/sdk/ndk/
export CC="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang"
export CXX="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang++"
#Compile
# CGO_ENABLED must be enabled to use android native libs, else things like dns etc won't work
# Binaries compiled this way are always dynamically linked to /system/bin/linker64
GOOS=android GOARCH=arm64 CGO_ENABLED=1 go build -v -ldflags="-s -w" "./cmd/godns"
file "./godns" ; aarch64-linux-gnu-readelf -d "./godns" ; ls -lah "./godns"
#Move
mv "./godns" "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/godns" ; popd
#Clean Cache
go clean -cache -fuzzcache -modcache -testcache
continue-on-error: true
##gost
- name: Build gost (Native)
run: |
#Presets
set -x ; set +e
#--------------#
#Get Source
pushd $(mktemp -d) && git clone "https://github.com/ginuerzh/gost" && cd "./gost"
# android 29 --> Android 10.0 or Later
# ANDROID_NDK = /usr/local/lib/android/sdk/ndk/
export CC="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang"
export CXX="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang++"
#Compile
# CGO_ENABLED must be enabled to use android native libs, else things like dns etc won't work
# Binaries compiled this way are always dynamically linked to /system/bin/linker64
GOOS=android GOARCH=arm64 CGO_ENABLED=1 go build -v -ldflags="-s -w" "./cmd/gost"
file "./gost" ; aarch64-linux-gnu-readelf -d "./gost" ; ls -lah "./gost"
#Move
mv "./gost" "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/gost" ; popd
#Clean Cache
go clean -cache -fuzzcache -modcache -testcache
continue-on-error: true
##gowitness
- name: Build gowitness (Native)
run: |
#Presets
set -x ; set +e
#--------------#
#Get Source
pushd $(mktemp -d) && git clone "https://github.com/sensepost/gowitness" && cd "./gowitness"
# android 29 --> Android 10.0 or Later
# ANDROID_NDK = /usr/local/lib/android/sdk/ndk/
export CC="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang"
export CXX="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang++"
#Compile
# CGO_ENABLED must be enabled to use android native libs, else things like dns etc won't work
# Binaries compiled this way are always dynamically linked to /system/bin/linker64
GOOS=android GOARCH=arm64 CGO_ENABLED=1 go build -v -ldflags="-s -w"
file "./gowitness" ; aarch64-linux-gnu-readelf -d "./gowitness" ; ls -lah "./gowitness"
#Move
mv "./gowitness" "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/gowitness" ; popd
#Clean Cache
go clean -cache -fuzzcache -modcache -testcache
continue-on-error: true
##haylxon
- name: Build haylxon (Native)
run: |
#Presets
set -x ; set +e
#--------------#
#Get Source
pushd "$(mktemp -d)" && git clone "https://github.com/pwnwriter/haylxon" && cd "./haylxon"
#android29 --> Android 10 or later
#llvm-ar
sudo ln -s "$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar" "/usr/local/bin/aarch64-linux-android-ar" 2>/dev/null
sudo chmod +xwr "/usr/local/bin/aarch64-linux-android-ar" 2>/dev/null
#llvm-ranlib
sudo ln -s "$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ranlib" "/usr/local/bin/aarch64-linux-android-ranlib" 2>/dev/null
sudo chmod +xwr "/usr/local/bin/aarch64-linux-android-ranlib" 2>/dev/null
#export Build Flags
export TARGET="aarch64-linux-android" ; export RUSTFLAGS="-C linker=$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang -C ar=$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar"
rustup target add "$TARGET"
#Config
sed '/^\[profile\.release\]/,/^$/d' -i "./Cargo.toml"
echo -e '\n[profile.release]\nstrip = true\nopt-level = "z"\nlto = true' >> "./Cargo.toml"
#Build
cargo build --target "$TARGET" --release
#meta
file "./target/$TARGET/release/hxn" && aarch64-linux-gnu-readelf -d "./target/$TARGET/release/hxn"
#move
mv "./target/$TARGET/release/hxn" "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/hxn" ; popd
continue-on-error: true
##httpx
- name: Build httpx (Native)
run: |
#Presets
set -x ; set +e
#--------------#
#Get Source
pushd "$(mktemp -d)" && git clone "https://github.com/projectdiscovery/httpx" && cd "./httpx"
# android 29 --> Android 10.0 or Later
# ANDROID_NDK = /usr/local/lib/android/sdk/ndk/
export CC="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang"
export CXX="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang++"
#Compile
# CGO_ENABLED must be enabled to use android native libs, else things like dns etc won't work
# Binaries compiled this way are always dynamically linked to /system/bin/linker64
GOOS=android GOARCH=arm64 CGO_ENABLED=1 go build -v -ldflags="-s -w" "./cmd/httpx"
file "./httpx" ; aarch64-linux-gnu-readelf -d "./httpx" ; ls -lah "./httpx"
#Move
mv "./httpx" "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/httpx" ; popd
#Clean Cache
go clean -cache -fuzzcache -modcache -testcache
continue-on-error: true
##inscope
- name: Build inscope (Native)
run: |
#Presets
set -x ; set +e
#--------------#
#Get Source
cd $(mktemp -d) && mkdir inscope && cd inscope
curl -qfsSLJO "https://raw.githubusercontent.com/Azathothas/Arsenal/main/inscope/main.go"
curl -qfsSLJO "https://raw.githubusercontent.com/Azathothas/Arsenal/main/inscope/go.mod"
# android 29 --> Android 10.0 or Later
# ANDROID_NDK = /usr/local/lib/android/sdk/ndk/
export CC="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang"
export CXX="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang++"
#Compile
# CGO_ENABLED must be enabled to use android native libs, else things like dns etc won't work
# Binaries compiled this way are always dynamically linked to /system/bin/linker64
GOOS=android GOARCH=arm64 CGO_ENABLED=1 go build -v -ldflags="-s -w" -o "./inscope"
file "./inscope" ; aarch64-linux-gnu-readelf -d "./inscope" ; ls -lah "./inscope"
#Move
mv "./inscope" "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/inscope" ; popd
#Clean Cache
go clean -cache -fuzzcache -modcache -testcache
continue-on-error: true
##jless
- name: Build jless (Native)
run: |
#Presets
set -x ; set +e
#--------------#
#Get Source
pushd "$(mktemp -d)" && git clone "https://github.com/PaulJuliusMartinez/jless" && cd "./jless"
#android29 --> Android 10 or later
#llvm-ar
sudo ln -s "$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar" "/usr/local/bin/aarch64-linux-android-ar" 2>/dev/null
sudo chmod +xwr "/usr/local/bin/aarch64-linux-android-ar" 2>/dev/null
#llvm-ranlib
sudo ln -s "$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ranlib" "/usr/local/bin/aarch64-linux-android-ranlib" 2>/dev/null
sudo chmod +xwr "/usr/local/bin/aarch64-linux-android-ranlib" 2>/dev/null
#export Build Flags
export TARGET="aarch64-linux-android" ; export RUSTFLAGS="-C linker=$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang -C ar=$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar"
rustup target add "$TARGET"
#Config
sed '/^\[profile\.release\]/,/^$/d' -i "./Cargo.toml"
echo -e '\n[profile.release]\nstrip = true\nopt-level = "z"\nlto = true' >> "./Cargo.toml"
#Build
cargo build --target "$TARGET" --release
#meta
file "./target/$TARGET/release/jless" && aarch64-linux-gnu-readelf -d "./target/$TARGET/release/jless"
#move
mv "./target/$TARGET/release/jless" "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/jless" ; popd
continue-on-error: true
##kanha
- name: Build kanha (Native)
run: |
#Presets
set -x ; set +e
#--------------#
#Get Source
pushd "$(mktemp -d)" && git clone "https://github.com/pwnwriter/kanha" && cd "./kanha"
#android29 --> Android 10 or later
#llvm-ar
sudo ln -s "$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar" "/usr/local/bin/aarch64-linux-android-ar" 2>/dev/null
sudo chmod +xwr "/usr/local/bin/aarch64-linux-android-ar" 2>/dev/null
#llvm-ranlib
sudo ln -s "$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ranlib" "/usr/local/bin/aarch64-linux-android-ranlib" 2>/dev/null
sudo chmod +xwr "/usr/local/bin/aarch64-linux-android-ranlib" 2>/dev/null
#export Build Flags
export TARGET="aarch64-linux-android" ; export RUSTFLAGS="-C linker=$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang -C ar=$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar"
rustup target add "$TARGET"
#Config
sed '/^\[profile\.release\]/,/^$/d' -i "./Cargo.toml"
echo -e '\n[profile.release]\nstrip = true\nopt-level = "z"\nlto = true' >> "./Cargo.toml"
#Build
cargo build --target "$TARGET" --release
#meta
file "./target/$TARGET/release/kanha" && aarch64-linux-gnu-readelf -d "./target/$TARGET/release/kanha"
#move
mv "./target/$TARGET/release/kanha" "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/kanha" ; popd
continue-on-error: true
#Avail: pkg info miniserve
# ##miniserve
# - name: Download miniserve
# run: |
# #Presets
# set -x ; set +e
# #--------------#
# eget "svenstaro/miniserve" --asset "aarch64" --asset "linux" --asset "musl" --to "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/miniserve"
# continue-on-error: true
##mapcidr
- name: Build mapcidr (Native)
run: |
#Presets
set -x ; set +e
#--------------#
#Get Source
pushd "$(mktemp -d)" && git clone "https://github.com/projectdiscovery/mapcidr" && cd "./mapcidr"
# android 29 --> Android 10.0 or Later
# ANDROID_NDK = /usr/local/lib/android/sdk/ndk/
export CC="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang"
export CXX="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang++"
#Compile
# CGO_ENABLED must be enabled to use android native libs, else things like dns etc won't work
# Binaries compiled this way are always dynamically linked to /system/bin/linker64
GOOS=android GOARCH=arm64 CGO_ENABLED=1 go build -v -ldflags="-s -w" "./cmd/mapcidr"
file "./mapcidr" ; aarch64-linux-gnu-readelf -d "./mapcidr" ; ls -lah "./mapcidr"
#Move
mv "./mapcidr" "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/mapcidr" ; popd
#Clean Cache
go clean -cache -fuzzcache -modcache -testcache
continue-on-error: true
##ngrok : https://github.com/Yisus7u7/termux-ngrok
- name: Download ngrok
run: |
#Presets
set -x ; set +e
#--------------#
curl -qfsSL "https://raw.githubusercontent.com/Azathothas/Static-Binaries/main/ngrok/ngrok_aarch64_arm64_Linux" -o "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/ngrok"
continue-on-error: true
##pspy
- name: Build pspy (Native)
run: |
#Presets
set -x ; set +e
#--------------#
#Get Source
pushd $(mktemp -d) && git clone "https://github.com/DominicBreuker/pspy" && cd "./pspy"
# android 29 --> Android 10.0 or Later
# ANDROID_NDK = /usr/local/lib/android/sdk/ndk/
export CC="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang"
export CXX="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang++"
#Compile
# CGO_ENABLED must be enabled to use android native libs, else things like dns etc won't work
# Binaries compiled this way are always dynamically linked to /system/bin/linker64
GOOS=android GOARCH=arm64 CGO_ENABLED=1 go build -v -ldflags="-s -w"
#Move
mv "./pspy" "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/pspy" ; popd
#Clean Cache
go clean -cache -fuzzcache -modcache -testcache
continue-on-error: true
##qbittorrent-nox : https://github.com/termux/termux-packages/issues/10081
#Run: echo "y" | termux-chroot "$(which qbittorrent-nox)" --webui-port="6776" --torrenting-port="42069"
- name: Download qbittorrent-nox
run: |
#Presets
set -x ; set +e
#--------------#
eget "userdocs/qbittorrent-nox-static" --asset "aarch64" --asset "^qt5" --to "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/qbittorrent-nox"
continue-on-error: true
##scopegen
- name: Build scopegen (Native)
run: |
#Presets
set -x ; set +e
#--------------#
#Get Source
cd $(mktemp -d) && mkdir scopegen && cd scopegen
curl -qfsSLJ "https://raw.githubusercontent.com/Azathothas/Arsenal/main/scopegen/scopegen.go" -o "./main.go"
curl -qfsSLJO "https://raw.githubusercontent.com/Azathothas/Arsenal/main/scopegen/go.mod"
# android 29 --> Android 10.0 or Later
# ANDROID_NDK = /usr/local/lib/android/sdk/ndk/
export CC="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang"
export CXX="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang++"
#Compile
# CGO_ENABLED must be enabled to use android native libs, else things like dns etc won't work
# Binaries compiled this way are always dynamically linked to /system/bin/linker64
GOOS=android GOARCH=arm64 CGO_ENABLED=1 go build -v -ldflags="-s -w" -o "./scopegen"
file "./scopegen" ; aarch64-linux-gnu-readelf -d "./scopegen" ; ls -lah "./scopegen"
#Move
mv "./scopegen" "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/scopegen" ; popd
#Clean Cache
go clean -cache -fuzzcache -modcache -testcache
continue-on-error: true
##static-web-server
- name: Download static-web-server
run: |
#Presets
set -x ; set +e
#--------------#
eget "static-web-server/static-web-server" --asset "aarch64" --asset "android" --to "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/static-web-server"
continue-on-error: true
##sudo-wrapper
- name: Download sudo-wrapper
run: |
#Presets
set -x ; set +e
#--------------#
#curl -qfsSL "https://github.com/agnostic-apollo/sudo/releases/latest/download/sudo" -o "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/sudo"
curl -qfsSL "https://raw.githubusercontent.com/agnostic-apollo/sudo/master/sudo" -o "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/sudo"
continue-on-error: true
##TailScale
- name: Download TailScale
run: |
#Presets
set -x ; set +e
#--------------#
#tailscale
eget "https://github.com/Azathothas/Static-Binaries/raw/main/tailscale/tailscale_aarch64_arm64_Linux" --to "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/tailscale"
#tailscale_merged
eget "https://github.com/Azathothas/Static-Binaries/raw/main/tailscale/tailscale_merged_aarch64_arm64_Linux" --to "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/tailscale_merged"
#tailscaled
eget "https://github.com/Azathothas/Static-Binaries/raw/main/tailscale/tailscaled_aarch64_arm64_Linux" --to "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/tailscaled"
continue-on-error: true
##Build
- name: Build TailScale (Native)
run: |
#Presets
set -x ; set +e
#--------------#
#Get Source
cd $(mktemp -d) && curl -LOJ $(curl -s https://api.github.com/repos/tailscale/tailscale/releases/latest | jq -r '.zipball_url')
find . -type f -name '*.zip*' -exec unzip -o {} \;
cd $(find . -maxdepth 1 -type d | grep -v '^.$')
# android 29 --> Android 10.0 or Later
# ANDROID_NDK = /usr/local/lib/android/sdk/ndk/
export CC="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang"
export CXX="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang++"
#Deps
go env -w GO111MODULE=on
#Compile
# CGO_ENABLED must be enabled to use android native libs, else things like dns etc won't work
# Binaries compiled this way are always dynamically linked to /system/bin/linker64
#TailScale
GOOS=android GOARCH=arm64 CGO_ENABLED=1 go build -v -ldflags="-s -w" "./cmd/tailscale"
#TailScaled
GOOS=android GOARCH=arm64 CGO_ENABLED=1 go build -v -ldflags="-s -w" "./cmd/tailscaled"
#TailScale merged: https://tailscale.com/kb/1207/small-tailscale/
GOOS=android GOARCH=arm64 CGO_ENABLED=1 go build -o "./tailscale.combined" -v -ldflags="-s -w" -tags "ts_omit_aws,ts_omit_bird,ts_omit_tap,ts_omit_kube,ts_include_cli" "./cmd/tailscaled"
#Move
mv "./tailscale" "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/tailscale_dynamic_native"
mv "./tailscaled" "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/tailscaled_dynamic_native"
mv "./tailscale.combined" "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/tailscale_merged_dynamic_native"
#Clean Cache
go clean -cache -fuzzcache -modcache -testcache
continue-on-error: true
#------------------------------------------------------------------------------------#
- name: Strip || Cleanup
run: |
#Presets
set -x ; set +e
#--------------#
cd "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android"
find "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android/" -maxdepth 1 -type f -exec aarch64-linux-gnu-objcopy --preserve-dates --verbose --strip-all {} \; 2>/dev/null
# Strip && Rename anything with *_amd*
# find "$GITHUB_WORKSPACE/main/aarch64_arm64_v8a_Android" -type f -name '*_Linux' -exec sh -c 'newname=$(echo "$1" | sed "s/_amd_aarch64_arm64_v8a_Android_Linux//"); mv "$1" "$newname"' sh {} \;
continue-on-error: true
- name: Update README.md
run: |
#Presets
set -x ; set +e
#--------------#
cd "$GITHUB_WORKSPACE/main"
echo -e "" > "./aarch64_arm64_v8a_Android/README.md"
echo '---' >> "./aarch64_arm64_v8a_Android/README.md"
echo '```console' >> "./aarch64_arm64_v8a_Android/README.md"
echo -e "" >> "./aarch64_arm64_v8a_Android/README.md"
echo -e "--> METATDATA" >> "./aarch64_arm64_v8a_Android/README.md"
/bin/bash -c 'PS4="$ "; file ./aarch64_arm64_v8a_Android/* | grep -v '.txt' ' &>> "./aarch64_arm64_v8a_Android/README.md"
echo -e "" >> "./aarch64_arm64_v8a_Android/README.md"
echo -e "--> SHA256SUM" >> "./aarch64_arm64_v8a_Android/README.md"
/bin/bash -c 'PS4="$ ";sha256sum ./aarch64_arm64_v8a_Android/* | grep -v '.txt' ' &>> "./aarch64_arm64_v8a_Android/README.md"
echo -e '```\n' >> "./aarch64_arm64_v8a_Android/README.md"
echo -e "" >> "./aarch64_arm64_v8a_Android/README.md"
echo '---' >> "./aarch64_arm64_v8a_Android/README.md"
echo -e "" >> "./aarch64_arm64_v8a_Android/README.md"
echo '- #### Sizes' >> "./aarch64_arm64_v8a_Android/README.md"
echo -e "" >> "./aarch64_arm64_v8a_Android/README.md"
echo '```console' >> "./aarch64_arm64_v8a_Android/README.md"
/bin/bash -c 'PS4="$ ";ls -lh ./aarch64_arm64_v8a_Android/* | grep -v '.txt' | awk "{print \$5, \$9}" | column -t' &>> "./aarch64_arm64_v8a_Android/README.md"
echo -e "\n[+] Total Size: $(du -h ./aarch64_arm64_v8a_Android | awk '{print $1}')\n"
echo '```' >> "./aarch64_arm64_v8a_Android/README.md"
echo -e "" >> "./aarch64_arm64_v8a_Android/README.md"
echo '---' >> "./aarch64_arm64_v8a_Android/README.md"
echo -e "" >> "./aarch64_arm64_v8a_Android/README.md"
continue-on-error: true
- name: Git Pull
run: |
cd "$GITHUB_WORKSPACE/main" && git pull origin main
continue-on-error: true
- name: Get DateTime
run: |
# Date Time
NEPALI_TIME=$(TZ='Asia/Kathmandu' date +'%Y-%m-%d (%I:%M:%S %p)')
echo "NEPALI_TIME=$NEPALI_TIME" >> $GITHUB_ENV
- uses: stefanzweifel/git-auto-commit-action@v5
with:
repository: ./main
commit_user_name: Azathothas # defaults to "github-actions[bot]"
commit_user_email: [email protected] # defaults to "41898282+github-actions[bot]@users.noreply.github.com"
commit_message: "βœ… πŸ›οΈ Fetch βš™οΈ Weekly (aarch64_arm64_v8a_Android) Package πŸ“¦πŸ—„οΈ <-- ${{ env.NEPALI_TIME }} ⌚"
#push_options: '--force'