mirror of
https://github.com/davidallendj/magellan.git
synced 2025-12-20 03:27:03 -07:00
Update Dockerfile and magellan.sh for container
This commit is contained in:
parent
54dde2dda6
commit
e5613d9a30
2 changed files with 70 additions and 7 deletions
|
|
@ -1,13 +1,15 @@
|
|||
FROM cgr.dev/chainguard/wolfi-base
|
||||
|
||||
RUN apk add --no-cache tini
|
||||
RUN apk add --no-cache tini bash
|
||||
|
||||
# nobody 65534:65534
|
||||
USER 65534:65534
|
||||
|
||||
|
||||
COPY magellan /
|
||||
COPY magellan /magellan
|
||||
COPY bin/magellan.sh /usr/bin/magellan.sh
|
||||
|
||||
CMD [ "/magellan" ]
|
||||
|
||||
CMD [ "/magellan.sh" ]
|
||||
|
||||
ENTRYPOINT [ "/sbin/tini", "--" ]
|
||||
|
|
|
|||
67
bin/magellan.sh
Normal file → Executable file
67
bin/magellan.sh
Normal file → Executable file
|
|
@ -1,17 +1,78 @@
|
|||
#!/bin/bash
|
||||
|
||||
EXE=./magellan
|
||||
SUBNETS=""
|
||||
PORTS=""
|
||||
USER=""
|
||||
PASS=""
|
||||
ARGS=""
|
||||
|
||||
|
||||
function build(){
|
||||
go mod tidy && go build -C bin/magellan
|
||||
}
|
||||
|
||||
function scan() {
|
||||
./magellan scan --subnet 172.16.0.0 --port 443
|
||||
# ./magellan scan --subnet 172.16.0.0 --port 443
|
||||
${EXE} scan --subnet ${SUBNETS} --port ${PORTS}
|
||||
}
|
||||
|
||||
function list(){
|
||||
./magellan list
|
||||
# ./magellan list
|
||||
${EXE} list
|
||||
}
|
||||
|
||||
function collect() {
|
||||
./magellan collect --user admin --pass password
|
||||
# ./magellan collect --user admin --pass password
|
||||
${EXE} collect --user ${USER} --pass ${PASS}
|
||||
}
|
||||
|
||||
|
||||
# parse incoming arguments to set variables
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case $1 in
|
||||
--subnet)
|
||||
SUBNETS="$2"
|
||||
shift # past argument
|
||||
shift # past value
|
||||
;;
|
||||
-p|--port)
|
||||
PORTS="$2"
|
||||
shift # past argument
|
||||
shift # past value
|
||||
;;
|
||||
--user)
|
||||
USER="$2"
|
||||
shift # past argument
|
||||
shift # past value
|
||||
;;
|
||||
--pass|--password)
|
||||
PASS="$2"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
-*|--*)
|
||||
echo "Unknown option $1"
|
||||
exit 1
|
||||
;;
|
||||
*)
|
||||
ARGS+=("$1") # save positional arg
|
||||
shift # past argument
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
set -- "${POSITIONAL_ARGS[@]}" # restore positional parameters
|
||||
|
||||
echo "subnets = ${SUBNETS}"
|
||||
echo "ports = ${PORTS}"
|
||||
echo "user = ${USER}"
|
||||
echo "pass = ..."
|
||||
|
||||
if [[ -n $1 ]]; then
|
||||
echo "Last line of file specified as non-opt/last argument:"
|
||||
tail -1 "$1"
|
||||
fi
|
||||
|
||||
scan
|
||||
collect
|
||||
Loading…
Add table
Add a link
Reference in a new issue