commit 2d6564f300642f0781ef8ac856f073102316cb76
Author: clerie <git@clerie.de>
Date:   Mon Jun 3 14:48:03 2024 +0200

    Init repo

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..5599f5d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+__pycache__
+result
diff --git a/flake.lock b/flake.lock
new file mode 100644
index 0000000..69af9ec
--- /dev/null
+++ b/flake.lock
@@ -0,0 +1,27 @@
+{
+  "nodes": {
+    "nixpkgs": {
+      "locked": {
+        "lastModified": 1717196966,
+        "narHash": "sha256-yZKhxVIKd2lsbOqYd5iDoUIwsRZFqE87smE2Vzf6Ck0=",
+        "owner": "NixOS",
+        "repo": "nixpkgs",
+        "rev": "57610d2f8f0937f39dbd72251e9614b1561942d8",
+        "type": "github"
+      },
+      "original": {
+        "owner": "NixOS",
+        "ref": "nixos-unstable",
+        "repo": "nixpkgs",
+        "type": "github"
+      }
+    },
+    "root": {
+      "inputs": {
+        "nixpkgs": "nixpkgs"
+      }
+    }
+  },
+  "root": "root",
+  "version": 7
+}
diff --git a/flake.nix b/flake.nix
new file mode 100644
index 0000000..9859e11
--- /dev/null
+++ b/flake.nix
@@ -0,0 +1,35 @@
+{
+  inputs = {
+    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
+  };
+  outputs = { self, nixpkgs, ... }: {
+    packages.x86_64-linux = let
+      pkgs = import nixpkgs {
+        system = "x86_64-linux";
+      };
+    in {
+      my_project = pkgs.python311Packages.buildPythonPackage rec {
+        pname = "python-sock-raw";
+        version = "0.0.1";
+
+        src = ./.;
+
+        format = "other";
+
+        propagatedBuildInputs = with pkgs.python311Packages; [
+        ];
+
+        installPhase = ''
+          mkdir -p $out/bin
+          cp sock-raw.py $out/bin/sock-raw
+        '';
+      };
+      default = self.packages.x86_64-linux.my_project;
+    };
+
+    hydraJobs = {
+      inherit (self)
+        packages;
+    };
+  };
+}
diff --git a/sock-raw.py b/sock-raw.py
new file mode 100644
index 0000000..979bb73
--- /dev/null
+++ b/sock-raw.py
@@ -0,0 +1,13 @@
+import socket
+
+s = socket.socket(socket.AF_PACKET, socket.SOCK_RAW)
+s.bind(("wlp3s0", 0))
+
+src_addr = 0xffffffffffff
+dst_addr = 0xffffffffffff
+ethertype = 0x1337
+
+packet = dst_addr.to_bytes(6) + src_addr.to_bytes(6) + ethertype.to_bytes(2)
+print(packet)
+
+s.send(packet)