name: Build the latest version on: push: paths: - "**.sh" pull_request: paths: - "**.sh" workflow_dispatch: jobs: build: name: Build on ubuntu runs-on: ubuntu-latest env: IP_SERVICE_NAME: checkip.amazonaws.com IP_SERVICE_URL: https://checkip.amazonaws.com steps: - name: Check out code into the directory uses: actions/checkout@v4 - name: Install the required tools. run: sudo apt-get update && sudo apt-get install curl -y - name: Test the network using "${{ env.IP_SERVICE_NAME }}" run: curl "${{ env.IP_SERVICE_URL }}" - name: Install wireguard via wireguard-manager run: sudo ./wireguard-manager.sh --install - name: Stop WireGuard service run: sudo ./wireguard-manager.sh --stop - name: Start wireguard service run: sudo ./wireguard-manager.sh --start - name: Restart WireGuard service run: sudo ./wireguard-manager.sh --restart - name: View WireGuard status run: sudo systemctl status wg-quick@wg0 - name: Add 500 wireguard peers to the mix run: for i in {1..500}; do echo -e "\n" | sudo ./wireguard-manager.sh --add; done - name: Test wireguard-manager ddns. run: sudo ./wireguard-manager.sh --ddns - name: Test wireguard-manager backup. run: sudo ./wireguard-manager.sh --backup - name: View WireGuard peers. run: sudo ./wireguard-manager.sh --list - name: Test wireguard-manager update. run: sudo ./wireguard-manager.sh --update - name: View WireGuard configuration. run: sudo cat /etc/wireguard/wg0.conf - name: View WireGuard peers configuration run: sudo cat /etc/wireguard/clients/* - name: View unbound status. run: sudo systemctl status unbound - name: View Unbound configuration. run: sudo cat /etc/unbound/unbound.conf - name: View unbound anchor file. run: sudo cat /var/lib/unbound/root.key - name: View unbound root.hints. run: sudo cat /etc/unbound/root.hints - name: View unbound blocklist run: sudo cat /etc/unbound/unbound.conf.d/hosts.conf - name: View crontab rules run: sudo crontab -l - name: View the resolv.conf run: sudo cat /etc/resolv.conf - name: Test wireguard-manager purge. run: sudo ./wireguard-manager.sh --purge - name: View WireGuard peers. run: sudo ./wireguard-manager.sh --list - name: View WireGuard configuration. run: sudo cat /etc/wireguard/wg0.conf - name: View crontab rules run: sudo crontab -l - name: Uninstall wireguard completely run: sudo ./wireguard-manager.sh --uninstall - name: View crontab rules run: sudo crontab -l - name: View the resolv.conf run: sudo cat /etc/resolv.conf - name: View crontab rules run: sudo crontab -l - name: Test the network using "${{ env.IP_SERVICE_NAME }}" run: curl "${{ env.IP_SERVICE_URL }}"