mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-11-19 11:00:19 +03:00
Merge pull request #205784 from Eliot00/v2raya-fix
v2raya: v2rayA should start after nftables
This commit is contained in:
commit
a1291d0d02
@ -12,27 +12,38 @@ with lib;
|
||||
config = mkIf config.services.v2raya.enable {
|
||||
environment.systemPackages = [ pkgs.v2raya ];
|
||||
|
||||
systemd.services.v2raya = {
|
||||
unitConfig = {
|
||||
Description = "v2rayA service";
|
||||
Documentation = "https://github.com/v2rayA/v2rayA/wiki";
|
||||
After = [ "network.target" "nss-lookup.target" "iptables.service" "ip6tables.service" ];
|
||||
Wants = [ "network.target" ];
|
||||
};
|
||||
systemd.services.v2raya =
|
||||
let
|
||||
nftablesEnabled = config.networking.nftables.enable;
|
||||
iptablesServices = [
|
||||
"iptables.service"
|
||||
] ++ optional config.networking.enableIPv6 "ip6tables.service";
|
||||
tableServices = if nftablesEnabled then [ "nftables.service" ] else iptablesServices;
|
||||
in
|
||||
{
|
||||
unitConfig = {
|
||||
Description = "v2rayA service";
|
||||
Documentation = "https://github.com/v2rayA/v2rayA/wiki";
|
||||
After = [
|
||||
"network.target"
|
||||
"nss-lookup.target"
|
||||
] ++ tableServices;
|
||||
Wants = [ "network.target" ];
|
||||
};
|
||||
|
||||
serviceConfig = {
|
||||
User = "root";
|
||||
ExecStart = "${getExe pkgs.v2raya} --log-disable-timestamp";
|
||||
Environment = [ "V2RAYA_LOG_FILE=/var/log/v2raya/v2raya.log" ];
|
||||
LimitNPROC = 500;
|
||||
LimitNOFILE = 1000000;
|
||||
Restart = "on-failure";
|
||||
Type = "simple";
|
||||
};
|
||||
serviceConfig = {
|
||||
User = "root";
|
||||
ExecStart = "${getExe pkgs.v2raya} --log-disable-timestamp";
|
||||
Environment = [ "V2RAYA_LOG_FILE=/var/log/v2raya/v2raya.log" ];
|
||||
LimitNPROC = 500;
|
||||
LimitNOFILE = 1000000;
|
||||
Restart = "on-failure";
|
||||
Type = "simple";
|
||||
};
|
||||
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = with pkgs; [ iptables bash iproute2 ]; # required by v2rayA TProxy functionality
|
||||
};
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = with pkgs; [ iptables bash iproute2 ]; # required by v2rayA TProxy functionality
|
||||
};
|
||||
};
|
||||
|
||||
meta.maintainers = with maintainers; [ elliot ];
|
||||
|
@ -11,12 +11,14 @@
|
||||
let
|
||||
pname = "v2raya";
|
||||
version = "2.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "v2rayA";
|
||||
repo = "v2rayA";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-1fWcrMd+TSrlS1H0z7XwVCQzZAa8DAFtlekEZNRMAPA=";
|
||||
};
|
||||
|
||||
web = mkYarnPackage {
|
||||
inherit pname version;
|
||||
src = "${src}/gui";
|
||||
@ -32,21 +34,32 @@ let
|
||||
dontInstall = true;
|
||||
dontFixup = true;
|
||||
};
|
||||
|
||||
assetsDir = symlinkJoin {
|
||||
name = "assets";
|
||||
paths = [ v2ray-geoip v2ray-domain-list-community ];
|
||||
};
|
||||
|
||||
in
|
||||
buildGoModule {
|
||||
inherit pname version;
|
||||
|
||||
src = "${src}/service";
|
||||
vendorSha256 = "sha256-Ud4pwS0lz7zSTowg3gXNllfDyj8fu33H1L20szxPcOA=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X github.com/v2rayA/v2rayA/conf.Version=${version}"
|
||||
];
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
preBuild = ''
|
||||
cp -a ${web} server/router/web
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
install -Dm 444 ${src}/install/universal/v2raya.desktop -t $out/share/applications
|
||||
install -Dm 444 ${src}/install/universal/v2raya.png -t $out/share/icons/hicolor/512x512/apps
|
||||
@ -55,11 +68,9 @@ buildGoModule {
|
||||
|
||||
wrapProgram $out/bin/v2rayA \
|
||||
--prefix PATH ":" "${lib.makeBinPath [ v2ray ]}" \
|
||||
--prefix XDG_DATA_DIRS ":" ${symlinkJoin {
|
||||
name = "assets";
|
||||
paths = [ v2ray-geoip v2ray-domain-list-community ];
|
||||
}}/share
|
||||
--prefix XDG_DATA_DIRS ":" ${assetsDir}/share
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A Linux web GUI client of Project V which supports V2Ray, Xray, SS, SSR, Trojan and Pingtunnel";
|
||||
homepage = "https://github.com/v2rayA/v2rayA";
|
||||
|
Loading…
Reference in New Issue
Block a user