linuxPackages_latest.broadcom_sta: add patch to compile on Kernel 6.12 (#359484)
[NixPkgs.git] / pkgs / by-name / ph / phantomsocks / package.nix
blob1a720efb9381b4646c00bdeda73f8284a9c27b63
1 { lib
2 , buildGoModule
3 , fetchFromGitHub
4 , stdenv
5 , libpcap
6   # Cann't be build with both pcap and rawsocket tags
7 , withPcap ? (!stdenv.hostPlatform.isLinux && !withRawsocket)
8 , withRawsocket ? (stdenv.hostPlatform.isLinux && !withPcap)
9 }:
11 buildGoModule rec {
12   pname = "phantomsocks";
13   version = "unstable-2023-11-30";
15   src = fetchFromGitHub {
16     owner = "macronut";
17     repo = pname;
18     rev = "b1b13c5b88cf3bac54f39c37c0ffcb0b46e31049";
19     hash = "sha256-ptCzd2/8dNHjAkhwA2xpZH8Ki/9DnblHI2gAIpgM+8E=";
20   };
22   vendorHash = "sha256-0MJlz7HAhRThn8O42yhvU3p5HgTG8AkPM0ksSjWYAC4=";
24   ldflags = [
25     "-s"
26     "-w"
27   ];
28   buildInputs = lib.optional withPcap libpcap;
29   tags = lib.optional withPcap "pcap"
30     ++ lib.optional withRawsocket "rawsocket";
32   meta = with lib;{
33     homepage = "https://github.com/macronut/phantomsocks";
34     description = "Cross-platform proxy client/server for Linux/Windows/macOS";
35     longDescription = ''
36       A cross-platform proxy tool that could be used to modify TCP packets
37       to implement TCB desync to bypass detection and censoring.
38     '';
39     license = licenses.lgpl3Only;
40     maintainers = with maintainers; [ oluceps ];
41     mainProgram = "phantomsocks";
42   };