mirror of https://github.com/dnomd343/XProxy.git
				
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							41 lines
						
					
					
						
							1.2 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							41 lines
						
					
					
						
							1.2 KiB
						
					
					
				
								ARG ALPINE="alpine:3.17"
							 | 
						|
								ARG GOLANG="golang:1.20-alpine3.17"
							 | 
						|
								
							 | 
						|
								FROM ${GOLANG} AS xray
							 | 
						|
								ENV XRAY="1.8.0"
							 | 
						|
								RUN wget https://github.com/XTLS/Xray-core/archive/v${XRAY}.tar.gz -O- | tar xz
							 | 
						|
								WORKDIR ./Xray-core-${XRAY}/main/
							 | 
						|
								RUN go get
							 | 
						|
								RUN env CGO_ENABLED=0 go build -v -trimpath -ldflags "-s -w"
							 | 
						|
								RUN mv main /xray
							 | 
						|
								
							 | 
						|
								FROM ${GOLANG} AS xproxy
							 | 
						|
								RUN apk add git
							 | 
						|
								COPY ./ /XProxy/
							 | 
						|
								WORKDIR /XProxy/cmd/
							 | 
						|
								RUN go get
							 | 
						|
								RUN env CGO_ENABLED=0 go build -v -trimpath -ldflags "-X main.version=$(git describe --tag) -s -w"
							 | 
						|
								RUN mv cmd /xproxy
							 | 
						|
								
							 | 
						|
								FROM ${ALPINE} AS assets
							 | 
						|
								RUN apk add xz
							 | 
						|
								RUN wget "https://cdn.dnomd343.top/v2ray-rules-dat/geoip.dat"
							 | 
						|
								RUN wget "https://cdn.dnomd343.top/v2ray-rules-dat/geosite.dat"
							 | 
						|
								RUN tar cJf /assets.tar.xz geoip.dat geosite.dat
							 | 
						|
								
							 | 
						|
								FROM ${ALPINE} AS release
							 | 
						|
								RUN apk add upx
							 | 
						|
								WORKDIR /release/run/radvd/
							 | 
						|
								WORKDIR /release/var/lib/dhcp/
							 | 
						|
								RUN touch dhcpd.leases dhcpd6.leases
							 | 
						|
								COPY --from=xproxy /xproxy /release/usr/bin/
							 | 
						|
								COPY --from=assets /assets.tar.xz /release/
							 | 
						|
								COPY --from=xray /xray /release/usr/bin/
							 | 
						|
								WORKDIR /release/usr/bin/
							 | 
						|
								RUN ls | xargs -n1 -P0 upx -9
							 | 
						|
								
							 | 
						|
								FROM ${ALPINE}
							 | 
						|
								RUN apk add --no-cache dhcp radvd iptables ip6tables
							 | 
						|
								COPY --from=release /release/ /
							 | 
						|
								WORKDIR /xproxy/
							 | 
						|
								ENTRYPOINT ["xproxy"]
							 | 
						|
								
							 |