%global rel_ver 4.34.0 %global rel_cnt 1 #global git_ver gita58bfc4b %define debug_package %{nil} %bcond_with latest Name: v2ray Version: %{rel_ver} Release: %{?git_ver:0.2.%{git_ver}}%{!?git_ver:%{rel_cnt}}%{?dist} Summary: Project V is a set of network tools that help you to build your own computer network Group: Network License: MIT URL: https://github.com/v2ray/v2ray-core Source0: %{name}-core-%{?git_ver:%{rel_ver}.%{git_ver}.tar.xz}%{!?git_ver:%{rel_ver}.tar.gz} Source1: v2ray@.service Patch0: 0001-adjust-dns-matcher-priority.patch BuildRequires: curl BuildRequires: go-srpm-macros BuildRequires: golang >= 1.15.0 %if 0%{?el7} #Provided by https://repo.ius.io/7/x86_64 BuildRequires: git224-core %else BuildRequires: git-core >= 2.0 %endif %if 0%{?fedora} <= 30 || 0%{?el7} BuildRequires: go-compilers-golang-compiler %else BuildRequires: go-rpm-macros %endif %if 0%{?fedora} < 30 || 0%{?el7} BuildRequires: systemd %else BuildRequires: systemd-rpm-macros %endif %description Project V is a set of network tools that help you to build your own computer network %prep rm -rf %{name}-%{rel_ver}%{?git_ver:.%{git_ver}} %setup -q -D -T -c -n %{name}-%{rel_ver}%{?git_ver:.%{git_ver}} -a 0 mv v2ray-core-%{rel_ver}%{?git_ver:.%{git_ver}} core sed -i -e 's|\(^.*version.*=\).*$|\1 \"%{version}%{?git_ver:.%{git_ver}}\"|g' core/core.go pushd core %patch0 -p1 popd %build export LDFLAGS="-X main.VERSION=%{rel_ver} " %global goipath v2ray.com %if 0%{?fedora} <= 30 || 0%{?el7} %global build_folder $GO_BUILD_PATH %gobuildroot %else %global build_folder %{gobuilddir} %global extractdir0 %{name}-%{rel_ver}%{?git_ver:.%{git_ver}} %goprep -v -e %{name}-%{rel_ver}%{?git_ver:.%{git_ver}} %endif %undefine version curl -L https://github.com/Loyalsoldier/v2ray-rules-dat/raw/release/geoip.dat -o geoip.dat curl -L https://github.com/Loyalsoldier/v2ray-rules-dat/raw/release/geosite.dat -o geosite.dat curl -L https://github.com/ToutyRater/V2Ray-SiteDAT/raw/master/geofiles/h2y.dat -o h2y.dat %if %{with latest} env GOPATH=%{build_folder} go get -insecure -v -d -t v2ray.com/core env GOPATH=%{build_folder} go get -insecure -v -d -t v2ray.com/core/infra/control %gobuild -o _bin/v2ray v2ray.com/core/main %gobuild -o _bin/v2ctl v2ray.com/core/infra/control/main %else pushd core %define gomodulesmode GO111MODULE=on export GOPATH=%{build_folder} go mod download -x %gobuild -o ../_bin/v2ray ./main %gobuild -o ../_bin/v2ctl ./infra/control/main popd %endif #go run _build/src/github.com/v2ray/domain-list-community/main.go && mv dlc.dat geosite.dat #curl -L https://github.com/v2ray/geoip/releases/latest/download/geoip.dat -o geoip.dat %install mkdir -p %{buildroot}%{_bindir} install -s -m 755 _bin/v2ray %{buildroot}%{_bindir} install -s -m 755 _bin/v2ctl %{buildroot}%{_bindir} install -d %{buildroot}%{_unitdir} install -d %{buildroot}%{_sysconfdir}/%{name} install -d %{buildroot}%{_localstatedir}/log/%{name} install -m644 %{SOURCE1} %{buildroot}%{_unitdir}/v2ray@.service install -m644 geoip.dat %{buildroot}%{_sysconfdir}/%{name}/geoip.dat install -m644 geosite.dat %{buildroot}%{_sysconfdir}/%{name}/geosite.dat install -m644 h2y.dat %{buildroot}%{_sysconfdir}/%{name}/h2y.dat install -m644 core/release/config/vpoint_vmess_freedom.json %{buildroot}%{_sysconfdir}/%{name}/server-config-sample.json install -m644 core/release/config/vpoint_socks_vmess.json %{buildroot}%{_sysconfdir}/%{name}/client-config-sample.json install -m644 core/release/config/config.json %{buildroot}%{_sysconfdir}/%{name}/config-sample.json %files %license core/LICENSE %doc core/README.md %{_bindir}/v2ray %{_bindir}/v2ctl %attr(0644, root, root) %{_sysconfdir}/%{name}/geoip.dat %attr(0644, root, root) %{_sysconfdir}/%{name}/geosite.dat %attr(0644, root, root) %{_sysconfdir}/%{name}/h2y.dat %attr(0644, root, root) %{_sysconfdir}/%{name}/server-config-sample.json %attr(0644, root, root) %{_sysconfdir}/%{name}/client-config-sample.json %attr(0644, root, root) %{_sysconfdir}/%{name}/config-sample.json %attr(-, root, root) %{_localstatedir}/log/%{name} %attr(-, root, root) %{_unitdir}/%{name}@.service %changelog * Tue Jan 05 2021 Tomas Chang - 4.34.0-1 - Update to 4.34.0 * Fri Jan 01 2021 Tomas Chang - 4.33.1-0.2.gita58bfc4b - Update to latest git * Wed Dec 16 2020 Tomas Chang - 4.33.1-0.1.git29f16cd0 - Update to latest git * Fri Nov 20 2020 Tomas Chang - 4.33.0-1 - Update to 4.33.0 * Mon Nov 09 2020 Tomas Chang - 4.32.1-1 - Update to 4.32.1 * Sun Nov 01 2020 Tomas Chang - 4.32.0-1 - Update to 4.32.0 * Sun Oct 25 2020 Tomas Chang - 4.31.3-1 - Update to 4.31.3 * Mon Oct 19 2020 Tomas Chang - 4.31.2-1 - Update to 4.31.2 * Fri Oct 16 2020 Tomas Chang - 4.31.1-1 - Update to 4.31.1 * Sat Oct 10 2020 Tomas Chang - 4.31.0-1 - Update to 4.31.0 * Mon Oct 05 2020 Tomas Chang - 4.30.0-1 - Update to 4.30.0 * Sun Sep 27 2020 Tomas Chang - 4.29.0-1 - Update to 4.29.0 * Mon Sep 21 2020 Tomas Chang - 4.28.2-1 - Update to 4.28.2 * Sat Sep 12 2020 Tomas Chang - 4.28.1-1 - Update to 4.28.1 * Fri Sep 11 2020 Tomas Chang - 4.27.6-0.2.gitee1e18df - Update to latest git * Thu Sep 10 2020 Tomas Chang - 4.27.6-0.1.gitc2d3a733 - Update to latest git * Thu Sep 03 2020 Tomas Chang - 4.27.5-2 - Adjust DNS domain matcher priority * Wed Sep 02 2020 Tomas Chang - 4.27.5-1 - Update to 4.27.5 * Sat Aug 29 2020 Tomas Chang - 4.27.4-1 - Update to 4.27.4 * Sun Aug 09 2020 Tomas Chang - 4.27.0-1 - Update to 4.27.0 * Wed Jul 29 2020 Tomas Chang - 4.26.0-2 - Update VLESS to latest * Mon Jul 06 2020 Tomas Chang - 4.26.0-1 - Update to 4.26.0 - Add VLESS2 * Fri Jul 03 2020 Tomas Chang - 4.25.1-5 - Update VLESS * Sun Jun 28 2020 Tomas Chang - 4.25.1-4 - Update upstream patches * Sat Jun 27 2020 Tomas Chang - 4.25.1-3 - Update upstream patches * Fri Jun 26 2020 Tomas Chang - 4.25.1-2 - Add VLESS, apply upstream patches * Wed Jun 24 2020 Tomas Chang - 4.25.1-1 - Update to 4.25.1 * Sat Jun 20 2020 Tomas Chang - 4.25.0-1 - Update to 4.25.0 * Fri Jun 19 2020 Tomas Chang - 4.24.2-4 - Apply upstream fixes * Sat Jun 13 2020 Tomas Chang - 4.24.2-3 - Apply pull request 2521 * Fri Jun 12 2020 Tomas Chang - 4.24.2-2 - Update build specs * Thu Jun 11 2020 Tomas Chang - 4.24.2-1 - Update to 4.24.2 * Tue Jun 02 2020 Tomas Chang - 4.23.3-1 - Update to 4.23.3 * Sun May 31 2020 Tomas Chang - 4.23.2-1 - Update to 4.23.2 - Apply patch to hide TLS fingerprint * Wed Mar 25 2020 Tomas Chang - 4.23.1-1 - Update to 4.23.1 * Thu Mar 19 2020 Tomas Chang - 4.23.0-1 - Update to 4.23.0 * Thu Mar 19 2020 Tomas Chang - 4.22.2-0.3.git3feec68a - Update to latest git - Add patch for UDP broken issue * Thu Mar 05 2020 Tomas Chang - 4.22.2-0.2.gitc44dd395 - Update to latest git * Mon Mar 02 2020 Tomas Chang - 4.22.2-0.1.git9789a946 - Update to latest git * Mon Jan 06 2020 Tomas Chang - 4.22.1-1 - Update to 4.22.1 * Mon Dec 09 2019 Tomas Chang - 4.21.4-0.4.git0be2dbc3 - Update to latest git * Sat Dec 07 2019 Tomas Chang - 4.21.4-0.3.git698b04fa - Update to latest git * Mon Nov 18 2019 Tomas Chang - 4.21.4-0.2.git9a06ff8f - Apply patch from pull request to fix memory leak * Thu Nov 07 2019 Tomas Chang - 4.21.4-0.1.git9a06ff8f - Update to latest git * Tue Oct 29 2019 Tomas Chang - 4.21.3-1 - Update to 4.21.3 * Sun Oct 27 2019 Tomas Chang - 4.21.2-1 - Update to 4.21.2 * Sat Oct 26 2019 Tomas Chang - 4.21.1-1 - Update to 4.21.1 * Wed Oct 23 2019 Tomas Chang - 4.20.1-0.2.gitd0ac3e9d - Update to latest git version * Mon Oct 14 2019 Tomas Chang - 4.20.1-0.1.gitdc6a2530 - Update to latest git version * Mon Jul 15 2019 Tomas Chang - 4.20.0-1 - Update to 4.20.0 * Tue Jun 04 2019 Tomas Chang - 4.19.1-1 - Update to 4.19.1 * Thu May 30 2019 Tomas Chang - 4.18.2-1 - Update to 4.18.2 * Mon Apr 15 2019 Tomas Chang - 4.18.1-1 - Update to 4.18.1 * Fri Mar 01 2019 Tomas Chang - 4.18.0-1 - Update to 4.18.0 * Fri Feb 22 2019 Tomas Chang - 4.17.0-1 - Update to 4.17.0 * Sun Feb 17 2019 Tomas Chang - 4.16.3-1 - Update to 4.16.3 * Fri Feb 15 2019 Tomas Chang - 4.16.1-1 - Update to 4.16.1 * Wed Feb 13 2019 Tomas Chang - 4.15.1-1 - Update to 4.15.1 * Fri Feb 08 2019 Tomas Chang - 4.15.0-1 - Update to 4.15.0 * Fri Feb 01 2019 Tomas Chang - 4.14.0-1 - Update to 4.14.0 * Fri Jan 18 2019 Tomas Chang - 4.13.0-1 - Initial build