From cf53d7e1c94fc9349f75f8ab146ba1fe9d4dc0c1 Mon Sep 17 00:00:00 2001 From: Andrew Rioux Date: Mon, 20 Oct 2025 08:26:33 -0400 Subject: [PATCH] feat: add vagrantfile support --- .gitignore | 1 + Vagrantfile | 17 +++++++++ flake.lock | 101 ++++++++++++++++------------------------------------ flake.nix | 6 ++-- 4 files changed, 52 insertions(+), 73 deletions(-) create mode 100644 Vagrantfile diff --git a/.gitignore b/.gitignore index 6285036..e4d44e0 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ examples/bind-shell/key-generator/privkey core **/core .direnv +.vagrant result sparse-public rust9x.7z diff --git a/Vagrantfile b/Vagrantfile new file mode 100644 index 0000000..eac5ce7 --- /dev/null +++ b/Vagrantfile @@ -0,0 +1,17 @@ +$script = <<-SCRIPT +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y +echo 'source "$HOME/.cargo/env"' > ~/.bashrc +SCRIPT + +Vagrant.configure("2") do |config| + config.vm.box = "generic/freebsd14" + + config.vm.network "private_network", ip: "192.168.56.198" + + config.vm.provision "shell", inline: $script + + config.vm.provider "virtualbox" do |vb| + vb.memory = 8192 + vb.cpus = 8 + end +end diff --git a/flake.lock b/flake.lock index 2d8aa37..d54baa5 100644 --- a/flake.lock +++ b/flake.lock @@ -1,17 +1,12 @@ { "nodes": { "crane": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, "locked": { - "lastModified": 1705974079, - "narHash": "sha256-HyC3C2esW57j6bG0MKwX4kQi25ltslRnr6z2uvpadJo=", + "lastModified": 1745022865, + "narHash": "sha256-tXL4qUlyYZEGOHUKUWjmmcvJjjLQ+4U38lPWSc8Cgdo=", "owner": "ipetkov", "repo": "crane", - "rev": "0b4e511fe6e346381e31d355e03de52aa43e8cb2", + "rev": "25ca4c50039d91ad88cc0b8feacb9ad7f748dedf", "type": "github" }, "original": { @@ -28,11 +23,11 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1705991032, - "narHash": "sha256-C+ePPXLMOxkJfJMqihUC1XbNr9Xy2F6BpWrmGDsgzXk=", + "lastModified": 1745303921, + "narHash": "sha256-zYucemS2QvJUR5GKJ/u3eZAoe82AKhcxMtNVZDERXsw=", "owner": "nix-community", "repo": "fenix", - "rev": "2189a3d994aaee6f83d3fc92deb13c458dd03dbd", + "rev": "14850d5984f3696a2972f85f19085e5fb46daa95", "type": "github" }, "original": { @@ -46,29 +41,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1705309234, - "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_2": { - "inputs": { - "systems": "systems_2" - }, - "locked": { - "lastModified": 1681202837, - "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "cfacdce06f30d2b68473a46042957675eebb3401", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -80,23 +57,23 @@ "freebsd": { "flake": false, "locked": { - "narHash": "sha256-rKgZfcUDZpwF8Pi7Ybh+fSIRsVZshOgX5Qe2owMxKLQ=", + "narHash": "sha256-rYxLsLiFk+mAU/kRPqObzLu9azwvmr7Px2KYad6BBqQ=", "type": "file", - "url": "https://download.freebsd.org/releases/ISO-IMAGES/14.1/FreeBSD-14.1-RELEASE-amd64-dvd1.iso" + "url": "https://download.freebsd.org/releases/ISO-IMAGES/14.3/FreeBSD-14.3-RELEASE-amd64-dvd1.iso" }, "original": { "type": "file", - "url": "https://download.freebsd.org/releases/ISO-IMAGES/14.1/FreeBSD-14.1-RELEASE-amd64-dvd1.iso" + "url": "https://download.freebsd.org/releases/ISO-IMAGES/14.3/FreeBSD-14.3-RELEASE-amd64-dvd1.iso" } }, "libnl": { "flake": false, "locked": { - "lastModified": 1704704641, - "narHash": "sha256-5U9Pfd738Hyjtew9ZeDGKGbpRspym47T8egje1ZVUO4=", + "lastModified": 1743402142, + "narHash": "sha256-7dcVdysPi7Mns9xnpyI4RtLyW7axY3MmbpjnXiyuTNo=", "ref": "refs/heads/main", - "rev": "8693347fe9c47d08ce5899602ab4f208c1249619", - "revCount": 2024, + "rev": "f278e5921498fc635bd9534a3f24979bb1b2849d", + "revCount": 2139, "type": "git", "url": "https://github.com/thom311/libnl" }, @@ -108,11 +85,11 @@ "libpcap-src": { "flake": false, "locked": { - "lastModified": 1705891920, - "narHash": "sha256-4FehaAo6eWDqDVij/uY+BmVGhNMS7AfFZRyw2jk4inI=", + "lastModified": 1744819402, + "narHash": "sha256-E2e6Z3SFsZKxE3Ey35O9GwlenK7/EHh+hnY1OVucvnU=", "ref": "refs/heads/master", - "rev": "fb92b4dd10ed1f73a536e512fd0b0e33b76329a6", - "revCount": 5944, + "rev": "2fc3834ef4050ad2354a4d2472bab8b63a629761", + "revCount": 6617, "type": "git", "url": "https://github.com/the-tcpdump-group/libpcap" }, @@ -123,16 +100,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1705916986, - "narHash": "sha256-iBpfltu6QvN4xMpen6jGGEb6jOqmmVQKUrXdOJ32u8w=", + "lastModified": 1744440957, + "narHash": "sha256-FHlSkNqFmPxPJvy+6fNLaNeWnF1lZSgqVCl/eWaJRc4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d7f206b723e42edb09d9d753020a84b3061a79d8", + "rev": "26d499fc9f1d567283d5d56fcf367edd815dba1d", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-23.11", + "ref": "nixos-24.11", "repo": "nixpkgs", "type": "github" } @@ -153,11 +130,11 @@ "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1705864945, - "narHash": "sha256-ZATChFWHToTZQFLlzrzDUX8fjEbMHHBIyPaZU1JGmjI=", + "lastModified": 1745247864, + "narHash": "sha256-QA1Ba8Flz5K+0GbG03HwiX9t46mh/jjKgwavbuKtwMg=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "d410d4a2baf9e99b37b03dd42f06238b14374bf7", + "rev": "31dbec70c68e97060916d4754c687a3e93c2440f", "type": "github" }, "original": { @@ -169,17 +146,16 @@ }, "rust-overlay": { "inputs": { - "flake-utils": "flake-utils_2", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1706062676, - "narHash": "sha256-aIgYdyQyKRHZ8gSmke3DE09D5ypK4tP+XYqrKPAd/3M=", + "lastModified": 1745289264, + "narHash": "sha256-7nt+UJ7qaIUe2J7BdnEEph9n2eKEwxUwKS/QIr091uA=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "81eb4bdb219d97d749f152eb4de6a081b088b08d", + "rev": "3b7171858c20d5293360042936058fb0c4cb93a9", "type": "github" }, "original": { @@ -203,25 +179,10 @@ "type": "github" } }, - "systems_2": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, "winpcap": { "flake": false, "locked": { - "lastModified": 1277475016, + "lastModified": 1277475020, "narHash": "sha256-lea+6c9obTpxWosi2xRXUxV4+whsCTWMJ7wxZNASRz8=", "type": "tarball", "url": "https://www.winpcap.org/install/bin/WpdPack_4_1_2.zip" diff --git a/flake.nix b/flake.nix index d2b24cd..09793b0 100644 --- a/flake.nix +++ b/flake.nix @@ -2,7 +2,7 @@ description = "Sparse C2 framework"; inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; rust-overlay = { url = "github:oxalica/rust-overlay"; inputs.nixpkgs.follows = "nixpkgs"; @@ -32,7 +32,7 @@ freebsd = { url = - "https://download.freebsd.org/releases/ISO-IMAGES/14.1/FreeBSD-14.1-RELEASE-amd64-dvd1.iso"; + "https://download.freebsd.org/releases/ISO-IMAGES/14.3/FreeBSD-14.3-RELEASE-amd64-dvd1.iso"; flake = false; }; }; @@ -177,7 +177,7 @@ devShells.default = craneLib.devShell { name = "sparse"; - buildInputs = windowsBuildTools ++ [ rust-analyzer packer ]; + buildInputs = windowsBuildTools ++ [ rust-analyzer vagrant ]; SPARSE_BUILD_WINPCAP = "${winpcap}/Lib"; SPARSE_BUILD_LIBPCAP = "${libpcap-src}";