Signed-off-by: Jeroen Oudshoorn <oudshoorn.jeroen@gmail.com>
This commit is contained in:
Jeroen Oudshoorn
2023-11-04 14:24:50 +01:00
parent dd422ef47f
commit f9f7a9fade
3 changed files with 48 additions and 71 deletions

View File

@ -51,7 +51,7 @@ $(SDIST): setup.py pwnagotchi
$(PWN_RELEASE).img: | $(PACKER)
# If the packer or ansible files are updated, rebuild the image.
$(PWN_RELEASE).img: $(SDIST) builder/pwnagotchi.json.pkr.hcl builder/raspberrypi32.yml builder/raspberrypi64.yml builder/orangepi.yml builder/extras/build_install_gopkg.yml builder/extras/nexmon.yml $(shell find builder/data -type f)
$(PWN_RELEASE).img: $(SDIST) builder/pwnagotchi.json.pkr.hcl builder/raspberrypi32.yml builder/raspberrypi64.yml builder/orangepi.yml builder/extras/nexmon.yml $(shell find builder/data -type f)
cd builder && packer init pwnagotchi.json.pkr.hcl && sudo $(UNSHARE) $(PACKER) build -var "pwn_hostname=$(PWN_HOSTNAME)" -var "pwn_version=$(PWN_VERSION)" pwnagotchi.json.pkr.hcl

View File

@ -1,36 +0,0 @@
#
# expects to be called with
#
# item = { name: 'resulting_binary', url: 'https://github.com/foo/bar.git' }
#
- name: Download and install golang
when: not big_golang.stat.exists
unarchive:
src: https://go.dev/dl/go1.21.1.linux-armv6l.tar.gz
dest: /usr/local
remote_src: yes
- name: Update .bashrc for go-1.21
blockinfile:
dest: /home/pi/.bashrc
state: present
block: |
export GOPATH=$HOME/go
export PATH=/usr/local/go/bin:$PATH:$GOPATH/bin
- name: 'download target {{ item.name }} from github'
git:
repo: "{{ item.url }}"
dest: '/usr/local/src/{{ item.name }}'
- name: install pwngrid 1.10.4
shell: "export GOPATH=$HOME/go && export PATH=/usr/local/go/bin:$PATH:$GOPATH/bin && go mod tidy && make && make install"
args:
executable: /bin/bash
chdir: /usr/local/src/pwngrid
- name: remove build folder
file:
state: absent
path: '/usr/local/src/{{ item.name }}'

View File

@ -375,39 +375,57 @@
#
##########################################
- name: check for /usr/local/bin/bettercap
stat: path=/usr/local/bin/bettercap
register: bettercap
- name: Download and install golang
when: not big_golang.stat.exists
unarchive:
src: https://go.dev/dl/go1.21.1.linux-armv6l.tar.gz
dest: /usr/local
remote_src: yes
- block:
- name: install bettercap if missing
when: not bettercap.stat.exists
include_tasks: build_install_gopkg.yml
vars:
item:
name: bettercap
url: '{{ packages.bettercap.url }}'
environment:
GOPATH: "{{ lookup('env', 'HOME') }}/go"
PATH: "/usr/local/go/bin:{{ lookup('env', 'PATH') }}"
GOSUMDB: off
- name: Update .bashrc for go-1.21
blockinfile:
dest: /home/pi/.bashrc
state: present
block: |
export GOPATH=$HOME/go
export PATH=/usr/local/go/bin:$PATH:$GOPATH/bin
when: golang.changed
- name: check for /usr/local/bin/pwngrid
stat: path=/usr/local/bin/pwngrid
- name: download pwngrid 1.10.4
git:
repo: https://github.com/jayofelony/pwngrid.git
dest: /usr/local/src/pwngrid
register: pwngrid
- block:
- name: install pwngrid if missing
when: not pwngrid.stat.exists
include_tasks: build_install_gopkg.yml
vars:
item:
name: pwngrid
url: '{{ packages.pwngrid.url }}'
environment:
GOPATH: "{{ lookup('env', 'HOME') }}/go"
PATH: "/usr/local/go/bin:{{ lookup('env', 'PATH') }}"
GOSUMDB: off
- name: install pwngrid 1.10.4
shell: "export GOPATH=$HOME/go && export PATH=/usr/local/go/bin:$PATH:$GOPATH/bin && go mod tidy && make && make install"
args:
executable: /bin/bash
chdir: /usr/local/src/pwngrid
when: pwngrid.changed
- name: remove pwngrid folder
file:
state: absent
path: /usr/local/src/pwngrid
- name: download bettercap v2.32.1
git:
repo: https://github.com/jayofelony/bettercap.git
dest: /usr/local/src/bettercap
register: bettercap
- name: Install bettercap v2.32.1
shell: "export GOPATH=$HOME/go && export PATH=/usr/local/go/bin:$PATH:$GOPATH/bin && go mod tidy && make && make install"
args:
executable: /bin/bash
chdir: /usr/local/src/bettercap
when: bettercap.changed
- name: remove bettercap folder
file:
state: absent
path: /usr/local/src/bettercap
- name: clone bettercap caplets
git:
@ -548,11 +566,6 @@
state: absent
path: /root/go
- name: remove pre-collected packages zip
file:
path: /root/go_pkgs.tgz
state: absent
- name: remove golang
file:
state: absent