Skip to content

Commit 35eca9e

Browse files
author
v1ll4n
committed
增加了yakit的新版本提示
1 parent e0238da commit 35eca9e

File tree

4 files changed

+70
-32
lines changed

4 files changed

+70
-32
lines changed

.github/workflows/go.yml

+5-5
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ jobs:
9595
with:
9696
# Yakit-1.0.3-beta24-linux-amd64.snap
9797
name: Yakit-${{ steps.fetchtag_yakit.outputs.value }}-linux-amd64.snap
98-
path: ./yaki/release/Yakit-${{ steps.fetchtag_yakit.outputs.value }}-linux-x64.snap
98+
path: ./yaki/release/Yakit-${{ steps.fetchtag_yakit.outputs.value }}-linux-amd64.snap
9999
download_artifacts_and_release:
100100
if: ${{ startsWith(github.ref, 'refs/tags/v') || startsWith(github.ref, 'refs/heads/ci/') }}
101101
needs:
@@ -121,7 +121,7 @@ jobs:
121121
- name: Download Yakit (Darwin arm64)
122122
uses: actions/download-artifact@v2
123123
with:
124-
name: Yakit-${{ steps.fetchtag_release.outputs.value }}-darwin-arm64
124+
name: Yakit-${{ steps.fetchtag_release.outputs.value }}-darwin-arm64.dmg
125125
- name: Download Yakit (Linux amd64)
126126
uses: actions/download-artifact@v2
127127
with:
@@ -165,7 +165,7 @@ jobs:
165165
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
166166
with:
167167
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
168-
asset_path: ./Yakit-${{ steps.fetchtag_release.outputs.value }}-linux-x64.snap
168+
asset_path: ./Yakit-${{ steps.fetchtag_release.outputs.value }}-linux-amd64.snap
169169
asset_name: Yakit-${{ steps.fetchtag_release.outputs.value }}-linux-amd64.snap
170170
asset_content_type: application/octet-stream
171171

@@ -207,7 +207,7 @@ jobs:
207207
assets: |
208208
./yakit-version.txt:/yak/latest/yakit-version.txt
209209
Yakit-${{ steps.fetchtag_release.outputs.value }}-win32-x64.exe:/yak/${{ steps.fetchtag_release.outputs.value }}/Yakit-${{ steps.fetchtag_release.outputs.value }}-windows-amd64.exe
210-
- name: Upload Yakit to oss(MacOS intel)
210+
- name: Upload Yakit to oss(MacOS intel && Linux64)
211211
uses: tvrcgo/upload-to-oss@master
212212
with:
213213
key-id: ${{ secrets.OSS_KEY_ID }}
@@ -216,4 +216,4 @@ jobs:
216216
bucket: yaklang
217217
assets: |
218218
Yakit-${{ steps.fetchtag_release.outputs.value }}-darwin-x64.dmg:/yak/${{ steps.fetchtag_release.outputs.value }}/Yakit-${{ steps.fetchtag_release.outputs.value }}-darwin-amd64.dmg
219-
Yakit-${{ steps.fetchtag_release.outputs.value }}-linux-x64.snap:/yak/latest/Yakit-${{ steps.fetchtag_release.outputs.value }}-linux-amd64.snap
219+
Yakit-${{ steps.fetchtag_release.outputs.value }}-linux-amd64.snap:/yak/latest/Yakit-${{ steps.fetchtag_release.outputs.value }}-linux-amd64.snap

app/renderer/src/main/src/pages/fuzzer/FuzzerResponseTable.tsx

+6-4
Original file line numberDiff line numberDiff line change
@@ -107,9 +107,11 @@ export const FuzzerResponseTableEx: React.FC<FuzzerResponseTableProp> = (props)
107107
render: v => <Tag color={StatusCodeToColor(v)}>{`${v}`}</Tag>
108108
},
109109
{
110-
name: "响应数据长度", code: "BodyLength", render: v => <div style={{
111-
overflow: "auto",
112-
}}><Tag>{`${v}`}</Tag>
110+
name: "响应包大小", code: "BodyLength", render: v => <div
111+
style={{
112+
overflow: "auto",
113+
}}>
114+
<Tag>{`${v}`}</Tag>
113115
</div>, features: {sortable: true}
114116
},
115117
{
@@ -126,7 +128,7 @@ export const FuzzerResponseTableEx: React.FC<FuzzerResponseTableProp> = (props)
126128
tips: <>
127129
如果请求失败才会有内容~
128130
{/*<Tag>123</Tag>*/}
129-
</>,
131+
</>
130132
}
131133
}
132134
],

app/renderer/src/main/src/utils/basic.tsx

+56-23
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import {XTerm} from "xterm-for-react";
44
import {ExecResult} from "../pages/invoker/schema";
55
import {showModal} from "./showModal";
66
import {failed} from "./notification";
7+
import {openExternalWebsite} from "./openWebsite";
78

89
export interface YakVersionProp {
910

@@ -48,22 +49,23 @@ export const YakVersion: React.FC<YakVersionProp> = (props) => {
4849

4950
return <div>
5051
<Badge dot={newVersion}>
51-
<Button size={"small"} type={"primary"} onClick={() => {
52-
if (!newVersion) {
53-
return
54-
}
55-
56-
showModal({
57-
title: "有新的 Yak 核心引擎可升级!",
58-
content: <>
59-
如果你现在不是很忙
60-
<br/>
61-
我们推荐您退出当前引擎,点击欢迎界面的
62-
<br/>
63-
"安装/升级 Yak 引擎" 来免费升级
64-
</>
65-
})
66-
}}>
52+
<Button size={"small"} type={"primary"}
53+
onClick={() => {
54+
if (!newVersion) {
55+
return
56+
}
57+
58+
showModal({
59+
title: "有新的 Yak 核心引擎可升级!",
60+
content: <>
61+
如果你现在不是很忙
62+
<br/>
63+
我们推荐您退出当前引擎,点击欢迎界面的
64+
<br/>
65+
"安装/升级 Yak 引擎" 来免费升级
66+
</>
67+
})
68+
}}>
6769
Yak-{version}
6870
</Button>
6971
</Badge>
@@ -72,21 +74,52 @@ export const YakVersion: React.FC<YakVersionProp> = (props) => {
7274

7375
export const YakitVersion: React.FC<YakVersionProp> = (props) => {
7476
const [version, setVersion] = useState<string>("dev")
77+
const [latestVersion, setLatestVersion] = useState("");
7578

7679
useEffect(() => {
77-
ipcRenderer.invoke("yakit-version").then(setVersion)
78-
return () => {
79-
ipcRenderer.removeAllListeners("yakit-version")
80-
}
80+
ipcRenderer.invoke("query-latest-yakit-version").then(nv => {
81+
setLatestVersion(nv)
82+
})
83+
ipcRenderer.invoke("yakit-version").then(v => setVersion(`v${v}`))
8184
}, [])
8285

8386
if (!version) {
8487
return <Spin tip={"正在加载 yakit 版本"}/>
8588
}
8689
const isDev = version.toLowerCase().includes("dev");
87-
return <Tag color={isDev ? "red" : "purple"}>
88-
Yakit-{version}
89-
</Tag>
90+
const newVersion = latestVersion !== "" && latestVersion !== version
91+
92+
if (!newVersion) {
93+
return <Tag color={isDev ? "red" : "geekblue"}>
94+
Yakit-{version}
95+
</Tag>
96+
}
97+
98+
return <div>
99+
<Badge dot={newVersion}>
100+
<Button size={"small"} type={"primary"} onClick={() => {
101+
if (!newVersion) {
102+
return
103+
}
104+
105+
showModal({
106+
title: "有新的 Yakit 版本可升级!",
107+
content: <>
108+
如果你现在不是很忙
109+
<br/>
110+
我们推荐您进入 <Button
111+
type={"primary"}
112+
onClick={() => {
113+
openExternalWebsite("https://github.com/yaklang/yakit/releases")
114+
}}
115+
>Yakit Github 发布界面</Button> 下载最新版并升级!
116+
</>
117+
})
118+
}}>
119+
Yakit-{version}
120+
</Button>
121+
</Badge>
122+
</div>
90123
};
91124

92125
export interface AutoUpdateYakModuleViewerProp {

scripts/delete-tag.sh

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
git tag -d $1 && git push origin -d $1

0 commit comments

Comments
 (0)