%global rel_ver 4.23.1 #global git_ver git3feec68a %define debug_package %{nil} Name: v2ray Version: %{rel_ver} Release: %{?git_ver:0.3.%{git_ver}}%{!?git_ver:1}%{?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-v2ray-tproxy-udp-broken.patch BuildRequires: curl BuildRequires: git-core BuildRequires: go-srpm-macros %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 # For v2ray.com/ext #BuildRequires: golang(github.com/gogo/protobuf/proto) #For v2ray.com/core #BuildRequires: golang(github.com/golang/protobuf/proto) #BuildRequires: golang(golang.org/x/net/dns/dnsmessage) #BuildRequires: golang(google.golang.org/grpc) %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 env GOPATH=%{build_folder} go get -v -u go.starlark.net/starlark env GOPATH=%{build_folder} go get -v -u google.golang.org/grpc env GOPATH=%{build_folder} go get -v -u golang.org/x/net/dns/dnsmessage env GOPATH=%{build_folder} go get -v -u golang.org/x/crypto/chacha20poly1305 env GOPATH=%{build_folder} go get -v -u github.com/gogo/protobuf/proto env GOPATH=%{build_folder} go get -v -u github.com/golang/protobuf/proto env GOPATH=%{build_folder} go get -v -u github.com/gorilla/websocket env GOPATH=%{build_folder} go get -v -u github.com/refraction-networking/utls #env GOPATH=%{build_folder} go get -v -d github.com/v2ray/domain-list-community 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 %gobuild -o _bin/v2ray v2ray.com/core/main %gobuild -o _bin/v2ctl v2ray.com/core/infra/control/main #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 * 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