diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/networking/shadowsocks-rust')
-rw-r--r-- | nixpkgs/pkgs/tools/networking/shadowsocks-rust/default.nix | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/tools/networking/shadowsocks-rust/default.nix b/nixpkgs/pkgs/tools/networking/shadowsocks-rust/default.nix new file mode 100644 index 000000000000..38fb6a60169b --- /dev/null +++ b/nixpkgs/pkgs/tools/networking/shadowsocks-rust/default.nix @@ -0,0 +1,57 @@ +{ lib, stdenv, fetchFromGitHub, rustPlatform, pkg-config, openssl, Security, CoreServices }: + +rustPlatform.buildRustPackage rec { + pname = "shadowsocks-rust"; + version = "1.18.1"; + + src = fetchFromGitHub { + rev = "v${version}"; + owner = "shadowsocks"; + repo = pname; + hash = "sha256-q7XtYOBruEmjPC4gx+hBO5oRwbxL7wQJenBS8Pl6yRk="; + }; + + cargoHash = "sha256-av4xUjoUGt53UoEpWULv15JKVWZq1x0YXvF5XFf4meQ="; + + nativeBuildInputs = lib.optionals stdenv.isLinux [ pkg-config ]; + + buildInputs = lib.optionals stdenv.isLinux [ openssl ] + ++ lib.optionals stdenv.isDarwin [ Security CoreServices ]; + + buildFeatures = [ + "trust-dns" + "local-http-native-tls" + "local-tunnel" + "local-socks4" + "local-redir" + "local-dns" + "local-tun" + "aead-cipher-extra" + "aead-cipher-2022" + "aead-cipher-2022-extra" + ]; + + # all of these rely on connecting to www.example.com:80 + checkFlags = [ + "--skip=http_proxy" + "--skip=tcp_tunnel" + "--skip=tcprelay" + "--skip=udp_tunnel" + "--skip=udp_relay" + "--skip=socks4_relay_connect" + "--skip=socks5_relay_aead" + "--skip=socks5_relay_stream" + "--skip=trust_dns_resolver" + ]; + + # timeouts in sandbox + doCheck = false; + + meta = with lib; { + description = "A Rust port of Shadowsocks"; + homepage = "https://github.com/shadowsocks/shadowsocks-rust"; + changelog = "https://github.com/shadowsocks/shadowsocks-rust/raw/v${version}/debian/changelog"; + license = licenses.mit; + maintainers = [ maintainers.marsam ]; + }; +} |