v2raya: init at 2.0.0
Update nixos/modules/services/networking/v2raya.nix Co-authored-by: zendo <linzway@qq.com> Update nixos/modules/services/networking/v2raya.nix Co-authored-by: zendo <linzway@qq.com> Update pkgs/tools/networking/v2raya/default.nix Co-authored-by: zendo <linzway@qq.com> Update pkgs/tools/networking/v2raya/default.nix Co-authored-by: zendo <linzway@qq.com> Update nixos/modules/services/networking/v2raya.nix Co-authored-by: zendo <linzway@qq.com> Update pkgs/tools/networking/v2raya/default.nix Co-authored-by: zendo <linzway@qq.com> Update nixos/modules/services/networking/v2raya.nix Co-authored-by: zendo <linzway@qq.com>
This commit is contained in:
parent
7af4851db5
commit
08d651764f
|
@ -37,6 +37,14 @@
|
||||||
<link linkend="opt-programs.fzf.fuzzyCompletion">programs.fzf</link>.
|
<link linkend="opt-programs.fzf.fuzzyCompletion">programs.fzf</link>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<link xlink:href="https://v2raya.org">v2rayA</link>, a Linux
|
||||||
|
web GUI client of Project V which supports V2Ray, Xray, SS,
|
||||||
|
SSR, Trojan and Pingtunnel. Available as
|
||||||
|
<link xlink:href="options.html#opt-services.v2raya.enable">services.v2raya</link>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
<section xml:id="sec-release-23.05-incompatibilities">
|
<section xml:id="sec-release-23.05-incompatibilities">
|
||||||
|
|
|
@ -18,6 +18,8 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||||
|
|
||||||
- [fzf](https://github.com/junegunn/fzf), a command line fuzzyfinder. Available as [programs.fzf](#opt-programs.fzf.fuzzyCompletion).
|
- [fzf](https://github.com/junegunn/fzf), a command line fuzzyfinder. Available as [programs.fzf](#opt-programs.fzf.fuzzyCompletion).
|
||||||
|
|
||||||
|
- [v2rayA](https://v2raya.org), a Linux web GUI client of Project V which supports V2Ray, Xray, SS, SSR, Trojan and Pingtunnel. Available as [services.v2raya](options.html#opt-services.v2raya.enable).
|
||||||
|
|
||||||
## Backward Incompatibilities {#sec-release-23.05-incompatibilities}
|
## Backward Incompatibilities {#sec-release-23.05-incompatibilities}
|
||||||
|
|
||||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||||
|
|
|
@ -997,6 +997,7 @@
|
||||||
./services/video/rtsp-simple-server.nix
|
./services/video/rtsp-simple-server.nix
|
||||||
./services/networking/uptermd.nix
|
./services/networking/uptermd.nix
|
||||||
./services/networking/v2ray.nix
|
./services/networking/v2ray.nix
|
||||||
|
./services/networking/v2raya.nix
|
||||||
./services/networking/vdirsyncer.nix
|
./services/networking/vdirsyncer.nix
|
||||||
./services/networking/vsftpd.nix
|
./services/networking/vsftpd.nix
|
||||||
./services/networking/wasabibackend.nix
|
./services/networking/wasabibackend.nix
|
||||||
|
|
39
nixos/modules/services/networking/v2raya.nix
Normal file
39
nixos/modules/services/networking/v2raya.nix
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
services.v2raya = {
|
||||||
|
enable = options.mkEnableOption (mdDoc "the v2rayA service");
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
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" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
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
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
meta.maintainers = with maintainers; [ elliot ];
|
||||||
|
}
|
71
pkgs/tools/networking/v2raya/default.nix
Normal file
71
pkgs/tools/networking/v2raya/default.nix
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
{ lib
|
||||||
|
, fetchFromGitHub
|
||||||
|
, mkYarnPackage
|
||||||
|
, buildGoModule
|
||||||
|
, makeWrapper
|
||||||
|
, v2ray
|
||||||
|
, v2ray-geoip
|
||||||
|
, v2ray-domain-list-community
|
||||||
|
, symlinkJoin
|
||||||
|
}:
|
||||||
|
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";
|
||||||
|
yarnNix = ./yarn.nix;
|
||||||
|
packageJSON = ./package.json;
|
||||||
|
yarnLock = ./yarn.lock;
|
||||||
|
buildPhase = ''
|
||||||
|
export NODE_OPTIONS=--openssl-legacy-provider
|
||||||
|
ln -s $src/postcss.config.js postcss.config.js
|
||||||
|
OUTPUT_DIR=$out yarn --offline build
|
||||||
|
'';
|
||||||
|
distPhase = "true";
|
||||||
|
dontInstall = true;
|
||||||
|
dontFixup = true;
|
||||||
|
};
|
||||||
|
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
|
||||||
|
substituteInPlace $out/share/applications/v2raya.desktop \
|
||||||
|
--replace 'Icon=/usr/share/icons/hicolor/512x512/apps/v2raya.png' 'Icon=v2raya'
|
||||||
|
|
||||||
|
wrapProgram $out/bin/v2rayA \
|
||||||
|
--prefix PATH ":" "${lib.makeBinPath [ v2ray ]}" \
|
||||||
|
--prefix XDG_DATA_DIRS ":" ${symlinkJoin {
|
||||||
|
name = "assets";
|
||||||
|
paths = [ v2ray-geoip v2ray-domain-list-community ];
|
||||||
|
}}/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";
|
||||||
|
mainProgram = "v2rayA";
|
||||||
|
license = licenses.agpl3Only;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
maintainers = with maintainers; [ elliot ];
|
||||||
|
};
|
||||||
|
}
|
52
pkgs/tools/networking/v2raya/package.json
Normal file
52
pkgs/tools/networking/v2raya/package.json
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
{
|
||||||
|
"name": "v2raya",
|
||||||
|
"version": "0.1.0",
|
||||||
|
"private": true,
|
||||||
|
"license": "GPL-3.0",
|
||||||
|
"scripts": {
|
||||||
|
"serve": "vue-cli-service serve",
|
||||||
|
"build": "vue-cli-service build",
|
||||||
|
"lint": "vue-cli-service lint"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@mdi/font": "^5.8.55",
|
||||||
|
"@nuintun/qrcode": "^3.3.0",
|
||||||
|
"@vue/babel-preset-app": "^4.2.2",
|
||||||
|
"axios": "^0.21.1",
|
||||||
|
"buefy": "0.9.3",
|
||||||
|
"clipboard": "^2.0.4",
|
||||||
|
"dayjs": "^1.10.6",
|
||||||
|
"js-base64": "^2.5.1",
|
||||||
|
"nanoid": "^3.1.23",
|
||||||
|
"normalize.css": "^8.0.1",
|
||||||
|
"pace-js": "^1.2.4",
|
||||||
|
"qrcode": "^1.4.2",
|
||||||
|
"register-service-worker": "^1.6.2",
|
||||||
|
"uglifyjs-webpack-plugin": "^1.1.1",
|
||||||
|
"vue": "^2.6.10",
|
||||||
|
"vue-i18n": "^8.15.3",
|
||||||
|
"vue-router": "^3.0.6",
|
||||||
|
"vue-virtual-scroller": "^1.0.10",
|
||||||
|
"vuex": "^3.0.1",
|
||||||
|
"webpack-iconfont-plugin-nodejs": "^1.0.16"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@vue/cli-plugin-babel": "^4.2.2",
|
||||||
|
"@vue/cli-plugin-eslint": "^4.0.5",
|
||||||
|
"@vue/cli-plugin-router": "^4.0.0",
|
||||||
|
"@vue/cli-plugin-vuex": "^4.0.0",
|
||||||
|
"@vue/cli-service": "^4.0.0",
|
||||||
|
"@vue/eslint-config-prettier": "^5.0.0",
|
||||||
|
"babel-eslint": "^10.0.3",
|
||||||
|
"css-loader": "^5.2.0",
|
||||||
|
"eslint": "^5.16.0",
|
||||||
|
"eslint-plugin-prettier": "^3.1.1",
|
||||||
|
"eslint-plugin-vue": "^5.0.0",
|
||||||
|
"highlight.js": "^11.4.0",
|
||||||
|
"prettier": "^1.18.2",
|
||||||
|
"sass": "^1.19.0",
|
||||||
|
"sass-loader": "^8.0.0",
|
||||||
|
"urijs": "^1.19.11",
|
||||||
|
"vue-template-compiler": "^2.6.10"
|
||||||
|
}
|
||||||
|
}
|
9381
pkgs/tools/networking/v2raya/yarn.lock
Normal file
9381
pkgs/tools/networking/v2raya/yarn.lock
Normal file
File diff suppressed because it is too large
Load diff
10101
pkgs/tools/networking/v2raya/yarn.nix
Normal file
10101
pkgs/tools/networking/v2raya/yarn.nix
Normal file
File diff suppressed because it is too large
Load diff
|
@ -12562,6 +12562,8 @@ with pkgs;
|
||||||
|
|
||||||
v2ray = callPackage ../tools/networking/v2ray { };
|
v2ray = callPackage ../tools/networking/v2ray { };
|
||||||
|
|
||||||
|
v2raya = callPackage ../tools/networking/v2raya { };
|
||||||
|
|
||||||
v2ray-domain-list-community = callPackage ../data/misc/v2ray-domain-list-community { };
|
v2ray-domain-list-community = callPackage ../data/misc/v2ray-domain-list-community { };
|
||||||
|
|
||||||
v2ray-geoip = callPackage ../data/misc/v2ray-geoip { };
|
v2ray-geoip = callPackage ../data/misc/v2ray-geoip { };
|
||||||
|
|
Loading…
Reference in a new issue