diff --git a/Makefile b/Makefile index 0eecc4e9..692acad6 100644 --- a/Makefile +++ b/Makefile @@ -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 diff --git a/builder/extras/build_install_gopkg.yml b/builder/extras/build_install_gopkg.yml deleted file mode 100644 index f3727cbe..00000000 --- a/builder/extras/build_install_gopkg.yml +++ /dev/null @@ -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 }}' \ No newline at end of file diff --git a/builder/raspberrypi32.yml b/builder/raspberrypi32.yml index bfeb06be..324c71d1 100644 --- a/builder/raspberrypi32.yml +++ b/builder/raspberrypi32.yml @@ -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