8 Commits

Author SHA1 Message Date
cnbattle 569a2a387c 优化 2020-06-26 12:43:49 +08:00
cnbattle 0fc4a07c24 test arm arm64 2020-05-07 09:57:11 +08:00
cnbattle 1057f2939d test arm arm64 2020-05-07 09:52:44 +08:00
cnbattle 2e506963cb fix arm arm64 2020-05-07 09:50:00 +08:00
cnbattle 14500fa9d7 add upx step 2020-05-07 09:32:36 +08:00
cnbattle 7c2d02cc6f fix 2020-05-07 09:29:56 +08:00
cnbattle 5f95c675ce add upx step 2020-05-07 08:56:17 +08:00
cnbattle 3ffa50d418 add upx step 2020-05-07 08:54:45 +08:00
8 changed files with 104 additions and 37 deletions
+27 -6
View File
@@ -60,7 +60,7 @@ steps:
pull: always
image: golang:1.14
commands:
- "go build -v -ldflags '-X main.build=${DRONE_BUILD_NUMBER}' -a -o release/linux/amd64/drone-upx"
- "go build -v -ldflags '-X main.build=${DRONE_BUILD_NUMBER}' -a -o release/linux/amd64/drone-upx-original"
environment:
CGO_ENABLED: 0
when:
@@ -72,13 +72,20 @@ steps:
pull: always
image: golang:1.14
commands:
- "go build -v -ldflags '-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}' -a -o release/linux/amd64/drone-upx"
- "go build -v -ldflags '-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}' -a -o release/linux/amd64/drone-upx-original"
environment:
CGO_ENABLED: 0
when:
event:
- tag
- name : upx
image: cnbattle/drone-upx
settings:
level: 9
save_file: ./release/linux/amd64/drone-upx
original_file: ./release/linux/amd64/drone-upx-original
- name: executable
pull: always
image: golang:1.14
@@ -139,7 +146,7 @@ steps:
pull: always
image: golang:1.14
commands:
- "go build -v -ldflags '-X main.build=${DRONE_BUILD_NUMBER}' -a -o release/linux/arm64/drone-upx"
- "go build -v -ldflags '-X main.build=${DRONE_BUILD_NUMBER}' -a -o release/linux/arm64/drone-upx-original"
environment:
CGO_ENABLED: 0
when:
@@ -151,13 +158,20 @@ steps:
pull: always
image: golang:1.14
commands:
- "go build -v -ldflags '-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}' -a -o release/linux/arm64/drone-upx"
- "go build -v -ldflags '-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}' -a -o release/linux/arm64/drone-upx-original"
environment:
CGO_ENABLED: 0
when:
event:
- tag
- name : upx
image: cnbattle/drone-upx
settings:
level: 9
save_file: ./release/linux/arm64/drone-upx
original_file: ./release/linux/arm64/drone-upx-original
- name: executable
pull: always
image: golang:1.14
@@ -218,7 +232,7 @@ steps:
pull: always
image: golang:1.14
commands:
- "go build -v -ldflags '-X main.build=${DRONE_BUILD_NUMBER}' -a -o release/linux/arm/drone-upx"
- "go build -v -ldflags '-X main.build=${DRONE_BUILD_NUMBER}' -a -o release/linux/arm/drone-upx-original"
environment:
CGO_ENABLED: 0
when:
@@ -230,13 +244,20 @@ steps:
pull: always
image: golang:1.14
commands:
- "go build -v -ldflags '-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}' -a -o release/linux/arm/drone-upx"
- "go build -v -ldflags '-X main.version=${DRONE_TAG##v} -X main.build=${DRONE_BUILD_NUMBER}' -a -o release/linux/arm/drone-upx-original"
environment:
CGO_ENABLED: 0
when:
event:
- tag
- name : upx
image: cnbattle/drone-upx
settings:
level: 9
save_file: ./release/linux/arm/drone-upx
original_file: ./release/linux/arm/drone-upx-original
- name: executable
pull: always
image: golang:1.14
-2
View File
@@ -4,8 +4,6 @@ ADD https://github.com/upx/upx/releases/download/v3.96/upx-3.96-amd64_linux.tar.
RUN xz -d -c /usr/local/upx-3.96-amd64_linux.tar.xz | tar -xOf - upx-3.96-amd64_linux/upx > /bin/upx && \
chmod a+x /bin/upx
RUN /bin/upx --help
ADD release/linux/amd64/drone-upx /bin/
ENTRYPOINT ["/bin/drone-upx"]
+4 -3
View File
@@ -6,11 +6,12 @@
[![GoDoc](https://godoc.org/github.com/cnbattle/drone-upx?status.svg)](https://godoc.org/github.com/cnbattle/drone-upx)
[![LICENSE](https://img.shields.io/badge/license-Anti%20996-blue.svg?style=flat-square)](https://github.com/996icu/996.ICU/blob/master/LICENSE)
## Use
```
- name : upx
image: cnbattle/drone-upx
settings:
level: 9
save_file: ./server_upx
original_file: ./server_original
level: 9 //default 5
save_file: ./executable_upx_file
original_file: ./executable_original_file
```
+14 -13
View File
@@ -6,19 +6,20 @@ import (
"os/exec"
)
// Cmd Cmd
func Cmd(name string, arg ...string) {
fmt.Println(name, arg)
cmd0 := exec.Command(name, arg...)
var outputBuf1 bytes.Buffer
cmd0.Stdout = &outputBuf1
if err := cmd0.Start(); err != nil {
fmt.Printf("Error: The first command can not be startup %s\n", err)
return
// Cmd exec.Command
func Cmd(name string, arg ...string) error {
command := exec.Command(name, arg...)
var buffer bytes.Buffer
command.Stdout = &buffer
if err := command.Start(); err != nil {
return err
}
if err := cmd0.Wait(); err != nil {
fmt.Printf("Error: Couldn't wait for the second command: %s\n", err)
return
if err := command.Wait(); err != nil {
return err
}
fmt.Printf("%s\n", outputBuf1.Bytes())
fmt.Printf("%s", buffer.Bytes())
fmt.Println("===================================================")
fmt.Println(" Successfully ")
fmt.Println("===================================================")
return nil
}
+2 -2
View File
@@ -1,7 +1,7 @@
FROM plugins/base:linux-arm
ADD https://github.com/upx/upx/releases/download/v3.96/upx-3.96-amd64_linux.tar.xz /usr/local
RUN xz -d -c /usr/local/upx-3.96-amd64_linux.tar.xz | tar -xOf - upx-3.96-amd64_linux/upx > /bin/upx && \
ADD https://github.com/upx/upx/releases/download/v3.96/upx-3.96-arm_linux.tar.xz /usr/local
RUN xz -d -c /usr/local/upx-3.96-arm_linux.tar.xz | tar -xOf - upx-3.96-arm_linux/upx > /bin/upx && \
chmod a+x /bin/upx
RUN apk add --no-cache ca-certificates && \
+2 -2
View File
@@ -1,7 +1,7 @@
FROM plugins/base:linux-arm64
ADD https://github.com/upx/upx/releases/download/v3.96/upx-3.96-amd64_linux.tar.xz /usr/local
RUN xz -d -c /usr/local/upx-3.96-amd64_linux.tar.xz | tar -xOf - upx-3.96-amd64_linux/upx > /bin/upx && \
ADD https://github.com/upx/upx/releases/download/v3.96/upx-3.96-arm64_linux.tar.xz /usr/local
RUN xz -d -c /usr/local/upx-3.96-arm64_linux.tar.xz | tar -xOf - upx-3.96-arm64_linux/upx > /bin/upx && \
chmod a+x /bin/upx
RUN apk add --no-cache ca-certificates && \
+53 -9
View File
@@ -1,22 +1,66 @@
package main
import (
"errors"
"github.com/cnbattle/drone-upx/cmd"
"log"
"os"
"github.com/urfave/cli/v2"
)
var (
level string
saveFile string
originalFile string
// Version Version
Version string
)
func init() {
level = os.Getenv("PLUGIN_LEVEL")
saveFile = os.Getenv("PLUGIN_SAVE_FILE")
originalFile = os.Getenv("PLUGIN_ORIGINAL_FILE")
func main() {
app := &cli.App{
Name: "drone-upx",
Usage: "UPX - the Ultimate Packer for eXecutables.",
Copyright: "Copyright (c) 2020 Qi-ai Li",
Version: Version,
Authors: []*cli.Author{
{
Name: "Qi-ai Li",
Email: "qiaicn@gmail.com",
},
},
Flags: []cli.Flag{
&cli.StringFlag{
Name: "level, l",
Value: "5",
Usage: "upx level",
EnvVars: []string{"PLUGIN_LEVEL"},
},
&cli.StringFlag{
Name: "originalFile, of",
Usage: "original file",
EnvVars: []string{"PLUGIN_ORIGINAL_FILE"},
},
&cli.StringFlag{
Name: "saveFile, sf",
Usage: "save file name",
EnvVars: []string{"PLUGIN_SAVE_FILE"},
},
},
Action: run,
}
err := app.Run(os.Args)
if err != nil {
log.Fatal(err)
}
}
func main() {
cmd.Cmd("/bin/upx", "-"+level, "-o", saveFile, originalFile)
func run(ctx *cli.Context) error {
var level, originalFile, saveFile = ctx.String("level"), ctx.String("originalFile"), ctx.String("saveFile")
if len(originalFile) == 0 {
return errors.New("miss originalFile")
}
if len(saveFile) == 0 {
return errors.New("miss saveFile")
}
return cmd.Cmd("/bin/upx", "-"+level, "-o", saveFile, originalFile)
}
+2
View File
@@ -1,3 +1,5 @@
module github.com/cnbattle/drone-upx
go 1.13
require github.com/urfave/cli/v2 v2.2.0