{ description = "ihtc — SNI-based DPI bypass via TLS ClientHello fragmentation"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; }; outputs = { self, nixpkgs }: let forAllSystems = nixpkgs.lib.genAttrs [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; mkPackage = system: let pkgs = import nixpkgs { inherit system; }; version = builtins.substring 0 8 (self.lastModifiedDate or "19700101"); in pkgs.buildGoModule { pname = "ihtc"; version = "0.1.0-${version}"; src = ./.; vendorHash = null; meta = with pkgs.lib; { description = "SNI-based DPI bypass via TLS ClientHello fragmentation"; homepage = "https://github.com/kreatoo/ihtc"; license = licenses.mit; mainProgram = "ihtc"; platforms = platforms.unix; }; }; in { packages = forAllSystems (system: { default = mkPackage system; ihtc = mkPackage system; }); devShells = forAllSystems (system: let pkgs = import nixpkgs { inherit system; }; in { default = pkgs.mkShell { buildInputs = with pkgs; [ go gopls gotools ]; }; }); darwinModules.default = import ./modules/darwin.nix self; nixosModules.default = import ./modules/nixos.nix self; }; }