mirror of
https://github.com/fatedier/frp.git
synced 2026-02-09 01:59:14 +08:00
refactor: move web embeds to web/ directory (#5139)
This commit is contained in:
@@ -6,6 +6,14 @@ jobs:
|
|||||||
resource_class: large
|
resource_class: large
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
|
- run:
|
||||||
|
name: Build web assets (frps)
|
||||||
|
command: make install build
|
||||||
|
working_directory: web/frps
|
||||||
|
- run:
|
||||||
|
name: Build web assets (frpc)
|
||||||
|
command: make install build
|
||||||
|
working_directory: web/frpc
|
||||||
- run: make
|
- run: make
|
||||||
- run: make alltest
|
- run: make alltest
|
||||||
|
|
||||||
|
|||||||
9
.github/workflows/golangci-lint.yml
vendored
9
.github/workflows/golangci-lint.yml
vendored
@@ -19,6 +19,15 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
go-version: '1.24'
|
go-version: '1.24'
|
||||||
cache: false
|
cache: false
|
||||||
|
- uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: '22'
|
||||||
|
- name: Build web assets (frps)
|
||||||
|
run: make install build
|
||||||
|
working-directory: web/frps
|
||||||
|
- name: Build web assets (frpc)
|
||||||
|
run: make install build
|
||||||
|
working-directory: web/frpc
|
||||||
- name: golangci-lint
|
- name: golangci-lint
|
||||||
uses: golangci/golangci-lint-action@v8
|
uses: golangci/golangci-lint-action@v8
|
||||||
with:
|
with:
|
||||||
|
|||||||
12
.github/workflows/goreleaser.yml
vendored
12
.github/workflows/goreleaser.yml
vendored
@@ -16,13 +16,21 @@ jobs:
|
|||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
go-version: '1.24'
|
go-version: '1.24'
|
||||||
|
- uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: '22'
|
||||||
|
- name: Build web assets (frps)
|
||||||
|
run: make install build
|
||||||
|
working-directory: web/frps
|
||||||
|
- name: Build web assets (frpc)
|
||||||
|
run: make install build
|
||||||
|
working-directory: web/frpc
|
||||||
- name: Make All
|
- name: Make All
|
||||||
run: |
|
run: |
|
||||||
./package.sh
|
./package.sh
|
||||||
|
|
||||||
- name: Run GoReleaser
|
- name: Run GoReleaser
|
||||||
uses: goreleaser/goreleaser-action@v5
|
uses: goreleaser/goreleaser-action@v6
|
||||||
with:
|
with:
|
||||||
version: latest
|
version: latest
|
||||||
args: release --clean --release-notes=./Release.md
|
args: release --clean --release-notes=./Release.md
|
||||||
|
|||||||
21
Makefile
21
Makefile
@@ -2,19 +2,22 @@ export PATH := $(PATH):`go env GOPATH`/bin
|
|||||||
export GO111MODULE=on
|
export GO111MODULE=on
|
||||||
LDFLAGS := -s -w
|
LDFLAGS := -s -w
|
||||||
|
|
||||||
all: env fmt build
|
.PHONY: web frps-web frpc-web frps frpc
|
||||||
|
|
||||||
|
all: env fmt web build
|
||||||
|
|
||||||
build: frps frpc
|
build: frps frpc
|
||||||
|
|
||||||
env:
|
env:
|
||||||
@go version
|
@go version
|
||||||
|
|
||||||
# compile assets into binary file
|
web: frps-web frpc-web
|
||||||
file:
|
|
||||||
rm -rf ./assets/frps/static/*
|
frps-web:
|
||||||
rm -rf ./assets/frpc/static/*
|
$(MAKE) -C web/frps build
|
||||||
cp -rf ./web/frps/dist/* ./assets/frps/static
|
|
||||||
cp -rf ./web/frpc/dist/* ./assets/frpc/static
|
frpc-web:
|
||||||
|
$(MAKE) -C web/frpc build
|
||||||
|
|
||||||
fmt:
|
fmt:
|
||||||
go fmt ./...
|
go fmt ./...
|
||||||
@@ -25,7 +28,7 @@ fmt-more:
|
|||||||
gci:
|
gci:
|
||||||
gci write -s standard -s default -s "prefix(github.com/fatedier/frp/)" ./
|
gci write -s standard -s default -s "prefix(github.com/fatedier/frp/)" ./
|
||||||
|
|
||||||
vet:
|
vet: web
|
||||||
go vet ./...
|
go vet ./...
|
||||||
|
|
||||||
frps:
|
frps:
|
||||||
@@ -36,7 +39,7 @@ frpc:
|
|||||||
|
|
||||||
test: gotest
|
test: gotest
|
||||||
|
|
||||||
gotest:
|
gotest: web
|
||||||
go test -v --cover ./assets/...
|
go test -v --cover ./assets/...
|
||||||
go test -v --cover ./cmd/...
|
go test -v --cover ./cmd/...
|
||||||
go test -v --cover ./client/...
|
go test -v --cover ./client/...
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ func Load(path string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func Register(fileSystem fs.FS) {
|
func Register(fileSystem fs.FS) {
|
||||||
subFs, err := fs.Sub(fileSystem, "static")
|
subFs, err := fs.Sub(fileSystem, "dist")
|
||||||
if err == nil {
|
if err == nil {
|
||||||
content = subFs
|
content = subFs
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 9.4 KiB |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,15 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<title>frp client</title>
|
|
||||||
<script type="module" crossorigin src="./index-BAsh6RH1.js"></script>
|
|
||||||
<link rel="stylesheet" crossorigin href="./index-JCcyRUo1.css">
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<div id="app"></div>
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
package frpc
|
|
||||||
|
|
||||||
import (
|
|
||||||
"embed"
|
|
||||||
|
|
||||||
"github.com/fatedier/frp/assets"
|
|
||||||
)
|
|
||||||
|
|
||||||
//go:embed static/*
|
|
||||||
var content embed.FS
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
assets.Register(content)
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 9.4 KiB |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,15 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en" class="dark">
|
|
||||||
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<title>frp server</title>
|
|
||||||
<script type="module" crossorigin src="./index-r9B2t7lx.js"></script>
|
|
||||||
<link rel="stylesheet" crossorigin href="./index-Cl4R6mJh.css">
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<div id="app"></div>
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
@@ -15,9 +15,9 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
_ "github.com/fatedier/frp/assets/frpc"
|
|
||||||
"github.com/fatedier/frp/cmd/frpc/sub"
|
"github.com/fatedier/frp/cmd/frpc/sub"
|
||||||
"github.com/fatedier/frp/pkg/util/system"
|
"github.com/fatedier/frp/pkg/util/system"
|
||||||
|
_ "github.com/fatedier/frp/web/frpc"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
|||||||
@@ -15,9 +15,9 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
_ "github.com/fatedier/frp/assets/frps"
|
|
||||||
_ "github.com/fatedier/frp/pkg/metrics"
|
_ "github.com/fatedier/frp/pkg/metrics"
|
||||||
"github.com/fatedier/frp/pkg/util/system"
|
"github.com/fatedier/frp/pkg/util/system"
|
||||||
|
_ "github.com/fatedier/frp/web/frps"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
|||||||
@@ -1,9 +1,17 @@
|
|||||||
|
FROM node:22 AS web-builder
|
||||||
|
|
||||||
|
WORKDIR /web/frpc
|
||||||
|
COPY web/frpc/ ./
|
||||||
|
RUN npm install
|
||||||
|
RUN npm run build
|
||||||
|
|
||||||
FROM golang:1.24 AS building
|
FROM golang:1.24 AS building
|
||||||
|
|
||||||
COPY . /building
|
COPY . /building
|
||||||
|
COPY --from=web-builder /web/frpc/dist /building/web/frpc/dist
|
||||||
WORKDIR /building
|
WORKDIR /building
|
||||||
|
|
||||||
RUN make frpc
|
RUN env CGO_ENABLED=0 go build -trimpath -ldflags "-s -w" -tags frpc -o bin/frpc ./cmd/frpc
|
||||||
|
|
||||||
FROM alpine:3
|
FROM alpine:3
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,17 @@
|
|||||||
|
FROM node:22 AS web-builder
|
||||||
|
|
||||||
|
WORKDIR /web/frps
|
||||||
|
COPY web/frps/ ./
|
||||||
|
RUN npm install
|
||||||
|
RUN npm run build
|
||||||
|
|
||||||
FROM golang:1.24 AS building
|
FROM golang:1.24 AS building
|
||||||
|
|
||||||
COPY . /building
|
COPY . /building
|
||||||
|
COPY --from=web-builder /web/frps/dist /building/web/frps/dist
|
||||||
WORKDIR /building
|
WORKDIR /building
|
||||||
|
|
||||||
RUN make frps
|
RUN env CGO_ENABLED=0 go build -trimpath -ldflags "-s -w" -tags frps -o bin/frps ./cmd/frps
|
||||||
|
|
||||||
FROM alpine:3
|
FROM alpine:3
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
.PHONY: dist build preview lint
|
.PHONY: dist install build preview lint
|
||||||
|
|
||||||
|
install:
|
||||||
|
@npm install
|
||||||
|
|
||||||
build:
|
build:
|
||||||
@npm run build
|
@npm run build
|
||||||
|
|||||||
@@ -6,9 +6,9 @@ import (
|
|||||||
"github.com/fatedier/frp/assets"
|
"github.com/fatedier/frp/assets"
|
||||||
)
|
)
|
||||||
|
|
||||||
//go:embed static/*
|
//go:embed dist
|
||||||
var content embed.FS
|
var EmbedFS embed.FS
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
assets.Register(content)
|
assets.Register(EmbedFS)
|
||||||
}
|
}
|
||||||
5857
web/frpc/package-lock.json
generated
Normal file
5857
web/frpc/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
2975
web/frpc/yarn.lock
2975
web/frpc/yarn.lock
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,7 @@
|
|||||||
.PHONY: dist build preview lint
|
.PHONY: dist install build preview lint
|
||||||
|
|
||||||
|
install:
|
||||||
|
@npm install
|
||||||
|
|
||||||
build:
|
build:
|
||||||
@npm run build
|
@npm run build
|
||||||
|
|||||||
14
web/frps/embed.go
Normal file
14
web/frps/embed.go
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
package frps
|
||||||
|
|
||||||
|
import (
|
||||||
|
"embed"
|
||||||
|
|
||||||
|
"github.com/fatedier/frp/assets"
|
||||||
|
)
|
||||||
|
|
||||||
|
//go:embed dist
|
||||||
|
var EmbedFS embed.FS
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
assets.Register(EmbedFS)
|
||||||
|
}
|
||||||
6687
web/frps/package-lock.json
generated
Normal file
6687
web/frps/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
3015
web/frps/yarn.lock
3015
web/frps/yarn.lock
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user