mirror of
https://github.com/v2fly/v2ray-core.git
synced 2024-12-22 01:57:12 -05:00
commit
acbb41b407
125
release/user-package.sh
Executable file
125
release/user-package.sh
Executable file
@ -0,0 +1,125 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# Bash3 Boilerplate. Copyright (c) 2014, kvz.io
|
||||||
|
|
||||||
|
set -o errexit
|
||||||
|
set -o pipefail
|
||||||
|
set -o nounset
|
||||||
|
# set -o xtrace
|
||||||
|
|
||||||
|
trap 'echo -e "Aborted, error $? in command: $BASH_COMMAND"; trap ERR; exit 1' ERR
|
||||||
|
|
||||||
|
# Set magic variables for current file & dir
|
||||||
|
__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
__file="${__dir}/$(basename "${BASH_SOURCE[0]}")"
|
||||||
|
__base="$(basename ${__file} .sh)"
|
||||||
|
__root="$(cd "$(dirname "${__dir}")" && pwd)" # <-- change this as it depends on your app
|
||||||
|
|
||||||
|
|
||||||
|
NOW=$(date '+%Y%m%d-%H%M%S')
|
||||||
|
TMP=$(mktemp -d)
|
||||||
|
|
||||||
|
BUILDTAG=$NOW
|
||||||
|
BUILDNAME="user"
|
||||||
|
GOPATH=$(go env GOPATH)
|
||||||
|
|
||||||
|
cleanup () { rm -rf $TMP; }
|
||||||
|
trap cleanup INT TERM ERR
|
||||||
|
|
||||||
|
get_source() {
|
||||||
|
go get -v -t v2ray.com/core/...
|
||||||
|
}
|
||||||
|
|
||||||
|
build_v2() {
|
||||||
|
pushd $GOPATH/src/v2ray.com/core
|
||||||
|
sed -i "s/\"Po\"/\"${BUILDNAME}\"/;s/\"Custom\"/\"${BUILDTAG}\"/;" core.go
|
||||||
|
|
||||||
|
pushd $GOPATH/src/v2ray.com/core/main
|
||||||
|
env CGO_ENABLED=0 go build -o $TMP/v2ray${EXESUFFIX} -ldflags "-s -w"
|
||||||
|
popd
|
||||||
|
|
||||||
|
git checkout -- core.go
|
||||||
|
popd
|
||||||
|
|
||||||
|
pushd $GOPATH/src/v2ray.com/core/infra/control/main
|
||||||
|
env CGO_ENABLED=0 go build -o $TMP/v2ctl${EXESUFFIX} -tags confonly -ldflags "-s -w"
|
||||||
|
popd
|
||||||
|
}
|
||||||
|
|
||||||
|
build_dat() {
|
||||||
|
wget -qO - https://api.github.com/repos/v2ray/geoip/releases/latest \
|
||||||
|
| grep browser_download_url | cut -d '"' -f 4 \
|
||||||
|
| wget -i - -O $TMP/geoip.dat
|
||||||
|
|
||||||
|
wget -qO - https://api.github.com/repos/v2ray/domain-list-community/releases/latest \
|
||||||
|
| grep browser_download_url | cut -d '"' -f 4 \
|
||||||
|
| wget -i - -O $TMP/geosite.dat
|
||||||
|
}
|
||||||
|
|
||||||
|
copyconf() {
|
||||||
|
pushd $GOPATH/src/v2ray.com/core/release/config
|
||||||
|
tar c --exclude "*.dat" . | tar x -C $TMP
|
||||||
|
}
|
||||||
|
|
||||||
|
pack() {
|
||||||
|
pushd $TMP
|
||||||
|
local PKG=${__dir}/v2ray-custom-${GOARCH}-${GOOS}-${PKGSUFFIX}${NOW}.zip
|
||||||
|
zip -r $PKG .
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
nosource=0
|
||||||
|
nodat=0
|
||||||
|
noconf=0
|
||||||
|
GOOS=linux
|
||||||
|
GOARCH=amd64
|
||||||
|
EXESUFFIX=
|
||||||
|
PKGSUFFIX=
|
||||||
|
|
||||||
|
for arg in "$@"; do
|
||||||
|
case $arg in
|
||||||
|
arm*)
|
||||||
|
GOARCH=$arg
|
||||||
|
;;
|
||||||
|
mips*)
|
||||||
|
GOARCH=$arg
|
||||||
|
;;
|
||||||
|
386)
|
||||||
|
GOARCH=386
|
||||||
|
;;
|
||||||
|
windows)
|
||||||
|
GOOS=windows
|
||||||
|
EXESUFFIX=.exe
|
||||||
|
;;
|
||||||
|
darwin)
|
||||||
|
GOOS=$arg
|
||||||
|
;;
|
||||||
|
nodat)
|
||||||
|
nodat=1
|
||||||
|
PKGSUFFIX=${PKGSUFFIX}nodat-
|
||||||
|
;;
|
||||||
|
noconf)
|
||||||
|
noconf=1
|
||||||
|
;;
|
||||||
|
nosource)
|
||||||
|
nosource=1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [[ $nosource != 1 ]]; then
|
||||||
|
get_source
|
||||||
|
fi
|
||||||
|
|
||||||
|
export GOOS GOARCH
|
||||||
|
build_v2
|
||||||
|
|
||||||
|
if [[ $nodat != 1 ]]; then
|
||||||
|
build_dat
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $noconf != 1 ]]; then
|
||||||
|
copyconf
|
||||||
|
fi
|
||||||
|
|
||||||
|
pack
|
||||||
|
cleanup
|
Loading…
Reference in New Issue
Block a user