rengine
rengine copied to clipboard
Feature - Add Support For ARM arch
Is your feature request related to a problem? Please describe. yes, rengine not worked well on arm64 arch due to geckodriver and go installtions they were built for amd
Describe the solution you'd like
just chaning the selenuim and go to support arm
Describe alternatives you've considered Changing the docker file to support arm64 and should work
**Docker File **
FROM ubuntu:20.04
ENV GO111MODULE="on"
ENV GOPROXY="https://goproxy.io,direct"
# Labels and Credits
LABEL \
name="reNgine" \
author="Yogesh Ojha <[email protected]>" \
description="reNgine is a automated pipeline of recon process, useful for information gathering during web application penetration testing."
# Environment Variables
ENV DEBIAN_FRONTEND="noninteractive" \
DATABASE="postgres"
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
# Install essentials
RUN apt update -y && apt install -y --no-install-recommends \
build-essential \
cmake \
firefox \
gcc \
git \
libpq-dev \
libpq-dev \
libpcap-dev \
netcat \
postgresql \
python3 \
python3-dev \
python3-pip \
python3-netaddr \
wget \
x11-utils \
xvfb \
python3-cffi \
python3-brotli \
libpango-1.0-0 \
libpangoft2-1.0-0 \
geoip-bin \
geoip-database \
firefox-geckodriver #install Download geckodriver
# Download and install go 1.17
RUN wget https://golang.org/dl/go1.17.2.linux-arm64.tar.gz
RUN tar -xvf go1.17.2.linux-arm64.tar.gz
RUN rm go1.17.2.linux-arm64.tar.gz
RUN mv go /usr/local
# ENV for Go
ENV GOROOT="/usr/local/go"
ENV PATH="${PATH}:${GOROOT}/bin"
ENV PATH="${PATH}:${GOPATH}/bin"
ENV GOPATH=$HOME/go
ENV PATH="${PATH}:${GOROOT}/bin:${GOPATH}/bin"
# Make directory for app
WORKDIR /usr/src/app
# set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
# Download Go packages
RUN go install -v github.com/hakluke/hakrawler@latest
RUN GO111MODULE=on go install -v -v github.com/bp0lr/gauplus@latest
RUN GO111MODULE=on go install -v github.com/jaeles-project/gospider@latest
RUN go install -v github.com/OWASP/Amass/v3/...@latest
RUN go install -v github.com/ffuf/ffuf@latest
RUN go install -v github.com/tomnomnom/assetfinder@latest
RUN GO111MODULE=on go install -v github.com/tomnomnom/gf@latest
RUN GO111MODULE=on go install -v github.com/tomnomnom/unfurl@latest
RUN GO111MODULE=on go install -v github.com/tomnomnom/waybackurls@latest
RUN GO111MODULE=on go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest
RUN GO111MODULE=on go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
RUN GO111MODULE=on go install -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest
RUN GO111MODULE=on go install -v github.com/projectdiscovery/naabu/v2/cmd/naabu@latest
# Update Nuclei and Nuclei-Templates
RUN nuclei -update
RUN nuclei -update-templates
# Copy requirements
COPY ./requirements.txt /tmp/requirements.txt
RUN pip3 install --upgrade setuptools pip && \
pip3 install -r /tmp/requirements.txt
# install eyewitness
RUN python3 -m pip install fuzzywuzzy \
selenium \
python-Levenshtein \
pyvirtualdisplay \
netaddr
# Copy source code
COPY . /usr/src/app/
# httpx seems to have issue, use alias instead!!!
RUN echo 'alias httpx="/go/bin/httpx"' >> ~/.bashrc
👋 Hi @yosefmahmoud, Issues is only for reporting a bug/feature request. Please read documentation before raising an issue https://rengine.wiki For very limited support, questions, and discussions, please join reNgine Discord channel: https://discord.gg/azv6fzhNCE Please include all the requested and relevant information when opening a bug report. Improper reports will be closed without any response.
The changes work but the only issue is over eyewitness. There is a fix for geckodriver and I might raise a PR for it
Could you try on v2 and reopen issue if problem persists
Is your feature request related to a problem? Please describe. yes, rengine not worked well on arm64 arch due to geckodriver and go installtions they were built for amd
Describe the solution you'd like
just chaning the selenuim and go to support arm
Describe alternatives you've considered Changing the docker file to support arm64 and should work
**Docker File **
FROM ubuntu:20.04 ENV GO111MODULE="on" ENV GOPROXY="https://goproxy.io,direct" # Labels and Credits LABEL \ name="reNgine" \ author="Yogesh Ojha <[email protected]>" \ description="reNgine is a automated pipeline of recon process, useful for information gathering during web application penetration testing." # Environment Variables ENV DEBIAN_FRONTEND="noninteractive" \ DATABASE="postgres" ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 # Install essentials RUN apt update -y && apt install -y --no-install-recommends \ build-essential \ cmake \ firefox \ gcc \ git \ libpq-dev \ libpq-dev \ libpcap-dev \ netcat \ postgresql \ python3 \ python3-dev \ python3-pip \ python3-netaddr \ wget \ x11-utils \ xvfb \ python3-cffi \ python3-brotli \ libpango-1.0-0 \ libpangoft2-1.0-0 \ geoip-bin \ geoip-database \ firefox-geckodriver #install Download geckodriver # Download and install go 1.17 RUN wget https://golang.org/dl/go1.17.2.linux-arm64.tar.gz RUN tar -xvf go1.17.2.linux-arm64.tar.gz RUN rm go1.17.2.linux-arm64.tar.gz RUN mv go /usr/local # ENV for Go ENV GOROOT="/usr/local/go" ENV PATH="${PATH}:${GOROOT}/bin" ENV PATH="${PATH}:${GOPATH}/bin" ENV GOPATH=$HOME/go ENV PATH="${PATH}:${GOROOT}/bin:${GOPATH}/bin" # Make directory for app WORKDIR /usr/src/app # set environment variables ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 # Download Go packages RUN go install -v github.com/hakluke/hakrawler@latest RUN GO111MODULE=on go install -v -v github.com/bp0lr/gauplus@latest RUN GO111MODULE=on go install -v github.com/jaeles-project/gospider@latest RUN go install -v github.com/OWASP/Amass/v3/...@latest RUN go install -v github.com/ffuf/ffuf@latest RUN go install -v github.com/tomnomnom/assetfinder@latest RUN GO111MODULE=on go install -v github.com/tomnomnom/gf@latest RUN GO111MODULE=on go install -v github.com/tomnomnom/unfurl@latest RUN GO111MODULE=on go install -v github.com/tomnomnom/waybackurls@latest RUN GO111MODULE=on go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest RUN GO111MODULE=on go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest RUN GO111MODULE=on go install -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest RUN GO111MODULE=on go install -v github.com/projectdiscovery/naabu/v2/cmd/naabu@latest # Update Nuclei and Nuclei-Templates RUN nuclei -update RUN nuclei -update-templates # Copy requirements COPY ./requirements.txt /tmp/requirements.txt RUN pip3 install --upgrade setuptools pip && \ pip3 install -r /tmp/requirements.txt # install eyewitness RUN python3 -m pip install fuzzywuzzy \ selenium \ python-Levenshtein \ pyvirtualdisplay \ netaddr # Copy source code COPY . /usr/src/app/ # httpx seems to have issue, use alias instead!!! RUN echo 'alias httpx="/go/bin/httpx"' >> ~/.bashrc
had to upgrade Go to 1.20 and chanhe amass link to make it work:
Download and install go 1.20
RUN wget https://go.dev/dl/go1.20.11.linux-arm64.tar.gz
RUN GO111MODULE=on go install -v github.com/owasp-amass/amass/v3/...@latest
Is your feature request related to a problem? Please describe. yes, rengine not worked well on arm64 arch due to geckodriver and go installtions they were built for amd Describe the solution you'd like just chaning the selenuim and go to support arm Describe alternatives you've considered Changing the docker file to support arm64 and should work **Docker File **
FROM ubuntu:20.04 ENV GO111MODULE="on" ENV GOPROXY="https://goproxy.io,direct" # Labels and Credits LABEL \ name="reNgine" \ author="Yogesh Ojha <[email protected]>" \ description="reNgine is a automated pipeline of recon process, useful for information gathering during web application penetration testing." # Environment Variables ENV DEBIAN_FRONTEND="noninteractive" \ DATABASE="postgres" ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 # Install essentials RUN apt update -y && apt install -y --no-install-recommends \ build-essential \ cmake \ firefox \ gcc \ git \ libpq-dev \ libpq-dev \ libpcap-dev \ netcat \ postgresql \ python3 \ python3-dev \ python3-pip \ python3-netaddr \ wget \ x11-utils \ xvfb \ python3-cffi \ python3-brotli \ libpango-1.0-0 \ libpangoft2-1.0-0 \ geoip-bin \ geoip-database \ firefox-geckodriver #install Download geckodriver # Download and install go 1.17 RUN wget https://golang.org/dl/go1.17.2.linux-arm64.tar.gz RUN tar -xvf go1.17.2.linux-arm64.tar.gz RUN rm go1.17.2.linux-arm64.tar.gz RUN mv go /usr/local # ENV for Go ENV GOROOT="/usr/local/go" ENV PATH="${PATH}:${GOROOT}/bin" ENV PATH="${PATH}:${GOPATH}/bin" ENV GOPATH=$HOME/go ENV PATH="${PATH}:${GOROOT}/bin:${GOPATH}/bin" # Make directory for app WORKDIR /usr/src/app # set environment variables ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 # Download Go packages RUN go install -v github.com/hakluke/hakrawler@latest RUN GO111MODULE=on go install -v -v github.com/bp0lr/gauplus@latest RUN GO111MODULE=on go install -v github.com/jaeles-project/gospider@latest RUN go install -v github.com/OWASP/Amass/v3/...@latest RUN go install -v github.com/ffuf/ffuf@latest RUN go install -v github.com/tomnomnom/assetfinder@latest RUN GO111MODULE=on go install -v github.com/tomnomnom/gf@latest RUN GO111MODULE=on go install -v github.com/tomnomnom/unfurl@latest RUN GO111MODULE=on go install -v github.com/tomnomnom/waybackurls@latest RUN GO111MODULE=on go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest RUN GO111MODULE=on go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest RUN GO111MODULE=on go install -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest RUN GO111MODULE=on go install -v github.com/projectdiscovery/naabu/v2/cmd/naabu@latest # Update Nuclei and Nuclei-Templates RUN nuclei -update RUN nuclei -update-templates # Copy requirements COPY ./requirements.txt /tmp/requirements.txt RUN pip3 install --upgrade setuptools pip && \ pip3 install -r /tmp/requirements.txt # install eyewitness RUN python3 -m pip install fuzzywuzzy \ selenium \ python-Levenshtein \ pyvirtualdisplay \ netaddr # Copy source code COPY . /usr/src/app/ # httpx seems to have issue, use alias instead!!! RUN echo 'alias httpx="/go/bin/httpx"' >> ~/.bashrc
had to upgrade Go to 1.20 and chanhe amass link to make it work:
FROM ubuntu:20.04
ENV GO111MODULE="on" ENV GOPROXY="https://goproxy.io,direct"
Labels and Credits
LABEL name="reNgine" author="Yogesh Ojha [email protected]" description="reNgine is a automated pipeline of recon process, useful for information gathering during web application penetration testing."
Environment Variables
ENV DEBIAN_FRONTEND="noninteractive" DATABASE="postgres"
ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1
Install essentials
RUN apt update -y && apt install -y --no-install-recommends build-essential cmake firefox gcc git libpq-dev libpq-dev libpcap-dev netcat postgresql python3 python3-dev python3-pip python3-netaddr wget x11-utils xvfb python3-cffi python3-brotli libpango-1.0-0 libpangoft2-1.0-0 geoip-bin geoip-database firefox-geckodriver #install Download geckodriver
Download and install go 1.20
RUN wget https://go.dev/dl/go1.20.11.linux-arm64.tar.gz RUN tar -xvf go1.20.11.linux-arm64.tar.gz RUN rm go1.20.11.linux-arm64.tar.gz RUN mv go /usr/local
ENV for Go
ENV GOROOT="/usr/local/go" ENV PATH="${PATH}:${GOROOT}/bin" ENV PATH="${PATH}:${GOPATH}/bin"
ENV GOPATH=$HOME/go ENV PATH="${PATH}:${GOROOT}/bin:${GOPATH}/bin"
Make directory for app
WORKDIR /usr/src/app
set environment variables
ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1
Download Go packages
RUN go install -v github.com/hakluke/hakrawler@latest
RUN GO111MODULE=on go install -v -v github.com/bp0lr/gauplus@latest
RUN GO111MODULE=on go install -v github.com/jaeles-project/gospider@latest
RUN GO111MODULE=on go install -v github.com/owasp-amass/amass/v3/...@latest
RUN go install -v github.com/ffuf/ffuf@latest
RUN go install -v github.com/tomnomnom/assetfinder@latest RUN GO111MODULE=on go install -v github.com/tomnomnom/gf@latest RUN GO111MODULE=on go install -v github.com/tomnomnom/unfurl@latest RUN GO111MODULE=on go install -v github.com/tomnomnom/waybackurls@latest
RUN GO111MODULE=on go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest RUN GO111MODULE=on go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest RUN GO111MODULE=on go install -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest RUN GO111MODULE=on go install -v github.com/projectdiscovery/naabu/v2/cmd/naabu@latest
Update Nuclei and Nuclei-Templates
RUN nuclei -update RUN nuclei -update-templates
Copy requirements
COPY ./requirements.txt /tmp/requirements.txt RUN pip3 install --upgrade setuptools pip && pip3 install -r /tmp/requirements.txt
install eyewitness
RUN python3 -m pip install fuzzywuzzy selenium python-Levenshtein pyvirtualdisplay netaddr
Copy source code
COPY . /usr/src/app/
httpx seems to have issue, use alias instead!!!
RUN echo 'alias httpx="/go/bin/httpx"' >> ~/.bashrc
Uhh, what are you trying to do here? Please use proper formatting.