Skip to content

Commit

Permalink
refactor: remove check frpc
Browse files Browse the repository at this point in the history
  • Loading branch information
chenfan0 committed Oct 30, 2024
1 parent b9d5fa0 commit 9fcaca1
Show file tree
Hide file tree
Showing 2 changed files with 73 additions and 75 deletions.
140 changes: 70 additions & 70 deletions src/main/download-dep/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,15 @@ export const downloadDepProgressInfo: IDownloadDepProgressInfo = {
}

const isMac = os.platform() === 'darwin'
const isArm = ['arm64', 'arm'].includes(os.arch())
// const isArm = ['arm64', 'arm'].includes(os.arch())

const ffmpegMacUrl = 'https://gitlab.com/chenfan0/ffmpeg-resource/-/raw/main/ffmpeg-mac.zip'
const ffmpegWinUrl = 'https://gitlab.com/chenfan0/ffmpeg-resource/-/raw/main/ffmpeg-win.zip'

const frpMacArmUrl = 'https://gitlab.com/chenfan0/ffmpeg-resource/-/raw/main/frp-mac-arm64.zip'
const frpMacAmdUrl = 'https://gitlab.com/chenfan0/ffmpeg-resource/-/raw/main/frp-mac-amd64.zip'
const frpWinArmUrl = 'https://gitlab.com/chenfan0/ffmpeg-resource/-/raw/main/frp-win-arm64.zip'
const frpWinAmdUrl = 'https://gitlab.com/chenfan0/ffmpeg-resource/-/raw/main/frp-win-amd64.zip'
// const frpMacArmUrl = 'https://gitlab.com/chenfan0/ffmpeg-resource/-/raw/main/frp-mac-arm64.zip'
// const frpMacAmdUrl = 'https://gitlab.com/chenfan0/ffmpeg-resource/-/raw/main/frp-mac-amd64.zip'
// const frpWinArmUrl = 'https://gitlab.com/chenfan0/ffmpeg-resource/-/raw/main/frp-win-arm64.zip'
// const frpWinAmdUrl = 'https://gitlab.com/chenfan0/ffmpeg-resource/-/raw/main/frp-win-amd64.zip'

async function checkFileExist(filepath: string) {
return fsp
Expand All @@ -49,16 +49,16 @@ export function checkFfprobeExist(dirname: string) {
return checkFileExist(ffprobePath)
}

export function checkFrpcExist(dirname: string) {
const frpPath = isMac
? isArm
? path.resolve(dirname, 'frp-mac-arm64/frpc')
: path.resolve(dirname, 'frp-mac-amd64/frpc')
: isArm
? path.resolve(dirname, 'frp-win-arm64/frpc.exe')
: path.resolve(dirname, 'frp-win-amd64/frpc.exe')
return checkFileExist(frpPath)
}
// export function checkFrpcExist(dirname: string) {
// const frpPath = isMac
// ? isArm
// ? path.resolve(dirname, 'frp-mac-arm64/frpc')
// : path.resolve(dirname, 'frp-mac-amd64/frpc')
// : isArm
// ? path.resolve(dirname, 'frp-win-arm64/frpc.exe')
// : path.resolve(dirname, 'frp-win-amd64/frpc.exe')
// return checkFileExist(frpPath)
// }

async function makeSureFfmpegDependenciesExist(dirname: string) {
const [ffmpegExist, ffprobeExist] = await Promise.all([
Expand Down Expand Up @@ -112,62 +112,62 @@ async function makeSureFfmpegDependenciesExist(dirname: string) {
return p
}

async function makeSureFrpDependenciesExist(dirname: string) {
const frpExist = await checkFrpcExist(dirname)
if (frpExist) {
return true
}

let _resolve: (value: unknown) => void, _reject: (reason?: any) => void
const p = new Promise((resolve, reject) => {
_resolve = resolve
_reject = reject
})

const downloadUrl = isMac
? isArm
? frpMacArmUrl
: frpMacAmdUrl
: isArm
? frpWinArmUrl
: frpWinAmdUrl

downloadDepProgressInfo.downloading = true
download(downloadUrl, dirname, { extract: true })
.on('request', (req) => {
downloadReq = req
})
.on('downloadProgress', ({ percent }) => {
downloadDepProgressInfo.title = 'FRPC'
downloadDepProgressInfo.progress = percent
log(`frpc download progress: ${percent}`)
})
.on('error', (error) => {
downloadDepProgressInfo.showRetry = true
downloadDepProgressInfo.downloading = false
downloadDepProgressInfo.progress = 0
log(error.message)
_reject()
})
.then(() => {
downloadDepProgressInfo.title = ''
downloadDepProgressInfo.downloading = false
downloadDepProgressInfo.progress = 0

_resolve(true)
})
.catch(() => {
downloadDepProgressInfo.title = ''
downloadDepProgressInfo.showRetry = true
downloadDepProgressInfo.downloading = false
downloadDepProgressInfo.progress = 0
_reject()
})

return p
}
// async function makeSureFrpDependenciesExist(dirname: string) {
// const frpExist = await checkFrpcExist(dirname)
// if (frpExist) {
// return true
// }

// let _resolve: (value: unknown) => void, _reject: (reason?: any) => void
// const p = new Promise((resolve, reject) => {
// _resolve = resolve
// _reject = reject
// })

// const downloadUrl = isMac
// ? isArm
// ? frpMacArmUrl
// : frpMacAmdUrl
// : isArm
// ? frpWinArmUrl
// : frpWinAmdUrl

// downloadDepProgressInfo.downloading = true
// download(downloadUrl, dirname, { extract: true })
// .on('request', (req) => {
// downloadReq = req
// })
// .on('downloadProgress', ({ percent }) => {
// downloadDepProgressInfo.title = 'FRPC'
// downloadDepProgressInfo.progress = percent
// log(`frpc download progress: ${percent}`)
// })
// .on('error', (error) => {
// downloadDepProgressInfo.showRetry = true
// downloadDepProgressInfo.downloading = false
// downloadDepProgressInfo.progress = 0
// log(error.message)
// _reject()
// })
// .then(() => {
// downloadDepProgressInfo.title = ''
// downloadDepProgressInfo.downloading = false
// downloadDepProgressInfo.progress = 0

// _resolve(true)
// })
// .catch(() => {
// downloadDepProgressInfo.title = ''
// downloadDepProgressInfo.showRetry = true
// downloadDepProgressInfo.downloading = false
// downloadDepProgressInfo.progress = 0
// _reject()
// })

// return p
// }

export async function makeSureDependenciesExist(dirname: string) {
await makeSureFfmpegDependenciesExist(dirname)
await makeSureFrpDependenciesExist(dirname)
// await makeSureFrpDependenciesExist(dirname)
}
8 changes: 3 additions & 5 deletions src/main/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ import { setFfmpegAndFfprobePath } from './ffmpeg'
import {
checkFfmpegExist,
checkFfprobeExist,
checkFrpcExist,
downloadDepProgressInfo,
makeSureDependenciesExist,
downloadReq
Expand Down Expand Up @@ -228,13 +227,12 @@ function showNotification(title: string, body: string) {

async function handleMakeSureDependenciesExist() {
const userDataPath = app.getPath('userData')
const [isFFmpegExist, isFfprobeExist, isFrpcExist] = await Promise.all([
const [isFFmpegExist, isFfprobeExist] = await Promise.all([
checkFfmpegExist(userDataPath),
checkFfprobeExist(userDataPath),
checkFrpcExist(userDataPath)
checkFfprobeExist(userDataPath)
])

if (!isFFmpegExist || !isFfprobeExist || !isFrpcExist) {
if (!isFFmpegExist || !isFfprobeExist) {
startDownloadDepTimerWhenFirstDownloadDepStart()
}

Expand Down

0 comments on commit 9fcaca1

Please sign in to comment.