ihtc/flake.nix
2026-06-01 01:59:00 +03:00

53 lines
1.5 KiB
Nix

{
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;
};
}