亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

Electron打包三件套:electron-builder、NSIS與winCodeSign實(shí)戰(zhàn)解析

Electron打包三件套:electron-builder、NSIS與winCodeSign實(shí)戰(zhàn)解析 簡(jiǎn)介這是一套面向Electron桌面應(yīng)用開發(fā)者的打包依賴環(huán)境全家桶專門解決新下載的Electron項(xiàng)目在構(gòu)建安裝包時(shí)因依賴不完整而頻繁報(bào)錯(cuò)的問題。壓縮包內(nèi)集齊三件核心組件electron-v8.5.5-win32-x64提供應(yīng)用主程序運(yùn)行環(huán)境nsis-3.0.4.2負(fù)責(zé)生成Windows安裝引導(dǎo)程序winCodeSign-2.6.0則用于代碼簽名與證書校驗(yàn)三者均為Windows下的兼容版本可整體解壓后復(fù)制到C:\Users\用戶名\AppData\Local\electron\Cache目錄下直接調(diào)用無(wú)需手動(dòng)逐一下載匹配版本。資源整體為7z壓縮格式體積約356.44MB內(nèi)含三個(gè)組件對(duì)應(yīng)的完整文件集合解壓后即可按目錄結(jié)構(gòu)使用。對(duì)于剛接觸Electron打包的初級(jí)開發(fā)者或需要快速搭建打包環(huán)境的工程師這套文件能顯著降低環(huán)境配置難度避免因缺失簽名工具或NSIS模板導(dǎo)致的反復(fù)失敗。目前已有1548人學(xué)習(xí)下載適合作為本地打包環(huán)境的備件庫(kù)。1. 周五下午你卡在三個(gè)綠色文件夾上Electron 打包全家桶到底在裝什么周五下午急著發(fā)一版 exe 出去electron-builder 在日志里安靜地寫“Downloading electron-v8.5.5-win32-x64.zip”進(jìn)度條繞了十分鐘你才在緩存目錄里看到三個(gè)帶版本號(hào)的文件夾electron-v8.5.5-win32-x64、nsis-3.0.4.2、winCodeSign-2.6.0打包才真正跑起來(lái)。這就是常說的 Electron 打包全家桶Electron 本體負(fù)責(zé)運(yùn)行時(shí)NSIS 負(fù)責(zé)把應(yīng)用卷成安裝程序winCodeSign 藏著一組改圖標(biāo)、寫版本號(hào)、打數(shù)字簽名的工具。很多用 electron 技術(shù)棧的人都被這三個(gè)包折磨過——不知道它們從哪來(lái)、缺了會(huì)怎樣、版本為什么不能亂動(dòng)。這篇就拆開講清楚版本關(guān)系、最小配置和實(shí)際踩過的坑適合正在用 electron-builder 在 Windows 上出安裝包、被體積和簽名問題反復(fù)折騰的開發(fā)者。2. 版本對(duì)應(yīng)關(guān)系與離線依賴先把鏡像、緩存和三個(gè)包的依賴鏈捋順2.1 為什么是這幾個(gè)版本electron-builder 的版本鎖定邏輯把這三個(gè)版本號(hào)當(dāng)成“黑匣子”是最常見的狀態(tài)。它們其實(shí)不是你自己指定的而是 electron-builder 在打包時(shí)按內(nèi)部鎖定的版本去下載的electron-v8.5.5-win32-x64 對(duì)應(yīng)你項(xiàng)目里裝的 Electron 運(yùn)行時(shí)nsis-3.0.4.2 是 electron-builder 定制的 NSIS 引擎winCodeSign-2.6.0 則是一套 Windows 簽名工具集。我一般會(huì)先查清一件事electron-builder 的版本和 NSIS、winCodeSign 資源包是一一對(duì)應(yīng)死的升級(jí) electron-builder 可能導(dǎo)致緩存里多出多個(gè)不同版本的 nsis 和 winCodeSign新舊混用時(shí)會(huì)出一些非常奇怪的“玄學(xué)報(bào)錯(cuò)”。這個(gè)鎖定邏輯帶來(lái)的直接結(jié)果就是誰(shuí)先裝誰(shuí)后裝并不重要打包時(shí) electron-builder 會(huì)去遠(yuǎn)程倉(cāng)庫(kù)拉一個(gè)“帶版本號(hào)前綴的壓縮包”解壓后放進(jìn)緩存目錄等待調(diào)用。如果你團(tuán)隊(duì)的構(gòu)建機(jī)上已經(jīng)有人跑過一次打包第二次打包根本不需要重新下載。但換一臺(tái)新電腦或者升級(jí)了 electron-builder 版本這部分下載時(shí)間就會(huì)原封不動(dòng)地還給你。為了不讓團(tuán)隊(duì)成員各自去等一次網(wǎng)絡(luò)下載我在團(tuán)隊(duì)內(nèi)部約定緩存目錄作為構(gòu)建產(chǎn)物的一部分進(jìn)行備份新機(jī)器先恢復(fù)緩存再打包。以下是 Windows 上 electron-builder 的默認(rèn)緩存路徑不同系統(tǒng)不一樣平臺(tái)緩存目錄Windows%LOCALAPPDATA%\electron-builder\CachemacOS~/Library/Caches/electron-builderLinux~/.cache/electron-builder緩存目錄里會(huì)按依賴名分文件夾electron 壓縮包放在 electron 目錄nsis 工具放在 nsis 目錄winCodeSign 放在 winCodeSign 目錄。你在打包日志里看到 “Downloading” 字樣就是在補(bǔ)齊緩存看到 “Packaging” 字樣說明依賴已經(jīng)齊了。判斷標(biāo)準(zhǔn)就這么簡(jiǎn)單。2.2 三個(gè)包在打包中分別扮演什么角色Electron 本體壓縮包解決的是“運(yùn)行時(shí)”問題。它內(nèi)置了 Chromium 和 Node.js你的 JavaScript 代碼在打包后會(huì)被塞進(jìn)一個(gè) asar 歸檔由這個(gè)本體加載執(zhí)行。之所以單獨(dú)強(qiáng)調(diào) win32-x64是因?yàn)?electron-builder 對(duì)平臺(tái)架構(gòu)比較敏感——同一臺(tái)機(jī)器如果要同時(shí)出 32 位和 64 位安裝包會(huì)分別下載兩個(gè)不同架構(gòu)的 Electron 壓縮包體積直接翻倍。NSIS 3.0.4.2 是安裝程序引擎。electron-builder 沒有自己重新發(fā)明安裝包格式而是基于 NSIS 做了一個(gè)定制版它把應(yīng)用文件壓成一個(gè) 7z 歸檔再把 NSIS 的 stub 和這個(gè)歸檔拼起來(lái)生成你看到的 Setup.exe。整個(gè)安裝過程就是 NSIS 在解壓、寫注冊(cè)表、創(chuàng)建快捷方式、注冊(cè)卸載項(xiàng)。所以 NSIS 的版本直接影響安裝包的界面行為比如是否允許選安裝路徑、是否顯示安裝進(jìn)度條、是否需要管理員權(quán)限。winCodeSign-2.6.0 里面是一組可執(zhí)行工具最常見的是 signtool.exe 和 rcedit.exe。rcedit 負(fù)責(zé)改 exe 的圖標(biāo)、版本號(hào)、文件描述等資源段signtool 負(fù)責(zé)給 exe 打 Authenticode 簽名。你配置了 certificateFile 和證書密碼時(shí)winCodeSign 就會(huì)被調(diào)用沒配置證書時(shí)它也負(fù)責(zé)把默認(rèn)圖標(biāo)和版本信息寫進(jìn) exe。很多人以為代碼簽名是“證書的事”其實(shí)簽名動(dòng)作本身完全依賴這個(gè)工具包。2.3 加速依賴下載的兩種做法以及緩存目錄的離線用途網(wǎng)絡(luò)環(huán)境直接影響打包體驗(yàn)尤其是 Electron 壓縮包動(dòng)不動(dòng)就上百 MB。我常用的做法是設(shè)置鏡像源環(huán)境變量set ELECTRON_MIRRORhttps://npmmirror.com/mirrors/electron/ set ELECTRON_BUILDER_BINARIES_MIRRORhttps://npmmirror.com/mirrors/electron-builder-binaries/第一行讓 electron 本體從國(guó)內(nèi)鏡像下載第二行讓 nsis、winCodeSign 從 electron-builder-binaries 鏡像下載。兩個(gè)變量是獨(dú)立的只配其中一個(gè)的話另一個(gè)仍然走官方源所以建議同時(shí)設(shè)置。鏡像源的選擇不用太糾結(jié)只要確認(rèn)路徑能直接拼出“electron-v8.5.5-win32-x64.zip”和“nsis-3.0.4.2.7z”這樣的文件結(jié)構(gòu)就行。離線構(gòu)建則是另一個(gè)思路在能正常打包的機(jī)器上把 %LOCALAPPDATA%\electron-builder\Cache 整個(gè)目錄拷貝到新機(jī)器對(duì)應(yīng)位置再打包時(shí)會(huì)直接命中緩存日志里完全看不見 Downloading 字樣。我?guī)屯绿幚磉^多次“打包卡在下載”的問題最后幾乎都是歸還緩存放行的。注意一點(diǎn)緩存目錄的歸屬是當(dāng)前用戶級(jí)的如果 CI 或新機(jī)器用了不同賬號(hào)路徑要相應(yīng)調(diào)整。3. 最小打包配置跑通用 electron-builder 在 Windows 上產(chǎn)出第一個(gè) exe3.1 初始化工程并安裝核心依賴electron 版本怎么鎖先從一個(gè)干凈的目錄開始。這里假設(shè)項(xiàng)目名就叫 electron-pack-demoNode.js 版本不低于 14因?yàn)?electron-builder 對(duì)老版本 Node 支持有限。初始化并安裝依賴mkdir electron-pack-demo cd electron-pack-demo npm init -y npm install --save-dev electron8.5.5 electron-builder把 electron 固定在 8.5.5 是因?yàn)閳F(tuán)隊(duì)項(xiàng)目的運(yùn)行時(shí)版本要和緩存的 electron-v8.5.5-win32-x64 對(duì)齊。electron-builder 會(huì)自動(dòng)探測(cè)當(dāng)前項(xiàng)目里 electron 的版本然后拼出下載文件名所以如果你裝的是 electron 9.x緩存里就會(huì)出現(xiàn)另一個(gè)版本號(hào)的壓縮包。同一個(gè)項(xiàng)目里不要混用否則每次打包可能都在下載新東西。安裝完成后package.json 里至少要有 main 字段指向應(yīng)用的入口文件。最簡(jiǎn)單的方式是新建一個(gè) main.jsconst { app, BrowserWindow } require(electron); app.whenReady().then(() { const win new BrowserWindow({ width: 1024, height: 768, webPreferences: { contextIsolation: true } }); win.loadFile(index.html); });這段代碼的邏輯是等 Electron 應(yīng)用就緒后創(chuàng)建一個(gè) 1024x768 的主窗口并加載本地 index.html。窗口參數(shù)里的 contextIsolation 保持默認(rèn)開啟避免后續(xù)升級(jí) Electron 時(shí)出現(xiàn)渲染進(jìn)程沙箱警告。index.html 里隨便寫一個(gè)標(biāo)題打包時(shí)它會(huì)被一起收進(jìn) asar。3.2 electron-builder 的配置項(xiàng)解析win、nsis、files 三段配置electron-builder 有兩種配置方式寫在 package.json 的 build 字段里或者單獨(dú)建 electron-builder.yml。我習(xí)慣用 package.json因?yàn)樯僖粋€(gè)文件而且讀取優(yōu)先級(jí)不容易搞混。下面是一個(gè)最小可用的配置文件{ name: electron-pack-demo, version: 1.0.0, description: electron packaging demo, main: main.js, scripts: { pack: electron-builder --win }, build: { appId: com.example.electronpackdemo, productName: ElectronPackDemo, files: [ main.js, index.html, package.json ], win: { target: [ { target: nsis, arch: [x64] } ], icon: build/icon.ico }, nsis: { oneClick: false, allowToChangeInstallationDirectory: true, createDesktopShortcut: true, shortcutName: ElectronPackDemo } } }配置分為三層files 決定哪些文件進(jìn) asarwin 決定目標(biāo)平臺(tái)和架構(gòu)nsis 決定安裝包行為。files 里只列入口文件和頁(yè)面資源node_modules 不需要手寫electron-builder 會(huì)自動(dòng)分析 main.js 里 require 的模塊并打包進(jìn)去。win 里把 target 精確到 nsinstal 和 x64出包結(jié)果就只會(huì)有 64 位的 NSIS 安裝包。icon 字段的路徑是相對(duì)項(xiàng)目根目錄的要求是 .ico 格式至少包含 256x256 尺寸。如果沒有準(zhǔn)備圖標(biāo)第一次跑通可以暫時(shí)刪掉這一行electron-builder 會(huì)用默認(rèn) Electron 圖標(biāo)但后續(xù)發(fā)布前必須換掉否則產(chǎn)品名旁邊永遠(yuǎn)是個(gè)外星人頭像。3.3 第一次打包與產(chǎn)物目錄驗(yàn)證在項(xiàng)目根目錄執(zhí)行打包命令npm run pack由于剛才配置了國(guó)內(nèi)鏡像源這一步不會(huì)等待太久但第一次仍會(huì)下載 nsis-3.0.4.2 和 winCodeSign-2.6.0。日志里依次出現(xiàn) “downloading”、“extracting” 和 “building” 三個(gè)階段。構(gòu)建完成后項(xiàng)目根目錄會(huì)出現(xiàn)一個(gè) dist 文件夾里面有兩個(gè)文件尾綴帶 “Setup” 的是安裝程序尾綴帶 “Blockmap” 的是增量更新映射文件。我建議拿到產(chǎn)物后先手動(dòng)安裝一遍而不是直接丟給測(cè)試。安裝過程中重點(diǎn)觀察剛才配置的 allowToChangeInstallationDirectory 是否生效——如果你看到安裝界面底部沒有“選擇目錄”按鈕說明 nsis 配置沒被正確讀取。常見原因是 package.json 里 build 字段寫在了 scripts 之前位置不影響解析但有些編輯器會(huì)把 JSON 格式校驗(yàn)標(biāo)紅導(dǎo)致你以為配置無(wú)效實(shí)際問題出在引號(hào)或逗號(hào)上。跑完第一次打包后去看緩存目錄如果 nsis 和 winCodeSign 文件夾已經(jīng)躺在那了說明全家桶下載完畢下次打包可以直接斷網(wǎng)測(cè)試。4. NSIS 安裝包定制卸載邏輯、安裝路徑與權(quán)限的坑4.1 nsis-3.0.4.2 在 electron-builder 里怎么被調(diào)用上一章我們完成了最小打包這一章開始定制 NSIS 安裝行為。先明確一件事NSIS 不是 electron-builder 寫的腳本語(yǔ)言而是一整套安裝程序制作框架。electron-builder 做的是把 NSIS 的 makensis 編譯器、預(yù)置安裝腳本模板和你配置的 nsis 參數(shù)拼在一起生成一個(gè)帶 UI 的 Setup.exe。你平時(shí)看到的“下一步”“安裝”“完成”按鈕全部來(lái)自 NSIS 的現(xiàn)代 UI 組件。nsis-3.0.4.2 這個(gè)版本號(hào)其實(shí)很少有人單獨(dú)下載它因?yàn)?electron-builder 會(huì)在打包時(shí)自動(dòng)去 electron-builder-binaries 鏡像拉取一個(gè)壓縮包解壓后臨時(shí)調(diào)用。它內(nèi)部包含兩個(gè)關(guān)鍵文件makensis.exe 是編譯器Stubs/ 目錄里是各種安裝程序外殼。你在配置里寫 oneClick、allowToChangeInstallationDirectory最后都會(huì)被翻譯成傳給 makensis 的指令參數(shù)。我在定制安裝包時(shí)堅(jiān)持一個(gè)原則優(yōu)先改 electron-builder 的 nsis 配置項(xiàng)不要輕易改 NSIS 腳本模板。因?yàn)?electron-builder 每次升級(jí)都可能更換模板文件你手改的腳本在下次升級(jí)后會(huì)失效或被覆蓋。除非是改安裝界面的啟動(dòng)畫面圖片或修改安裝完成后是否自動(dòng)運(yùn)行這種偏門需求否則配置項(xiàng)足夠用。4.2 定制安裝程序安裝路徑、桌面圖標(biāo)與卸載行為最常用的定制需求有三個(gè)安裝目錄可手選、桌面快捷方式開關(guān)、卸載時(shí)是否清除用戶數(shù)據(jù)。下面是一組我在實(shí)際項(xiàng)目里會(huì)用到的配置nsis: { oneClick: false, perMachine: false, allowElevation: true, allowToChangeInstallationDirectory: true, installerIcon: build/installer.ico, uninstallerIcon: build/uninstaller.ico, installerHeaderIcon: build/header.ico, createDesktopShortcut: true, createStartMenuShortcut: true, shortcutName: ElectronPackDemo, deleteAppDataOnUninstall: false, runAfterFinish: true }逐個(gè)說明oneClick 改為 false 會(huì)啟用“輔助安裝向?qū)А蹦J桨惭b器先展示歡迎頁(yè)和目錄選擇頁(yè)而不是一鍵裝完。perMachine 設(shè)為 false 表示按用戶級(jí)安裝不需要管理員權(quán)限裝到當(dāng)前用戶的 AppData 目錄如果設(shè)為 true安裝包會(huì)請(qǐng)求管理員權(quán)限并安裝到 Program Files。allowElevation 控制的是安裝器是否允許動(dòng)態(tài)請(qǐng)求 UAC 提權(quán)。perMachine 為 false 時(shí)這個(gè)選項(xiàng)一般跟著 false 走避免安裝器一半權(quán)限一半沒權(quán)限的割裂狀態(tài)。deleteAppDataOnUninstall 是很多人會(huì)忽略的坑如果設(shè)為 true用戶在卸載時(shí)會(huì)連本地?cái)?shù)據(jù)庫(kù)和登錄狀態(tài)一起刪掉對(duì)于工具類應(yīng)用我建議設(shè)為 false讓用戶數(shù)據(jù)保留至少在卸載時(shí)給一個(gè)提示選項(xiàng)。runAfterFinish 控制安裝完成后是否立即啟動(dòng)應(yīng)用這個(gè)看產(chǎn)品習(xí)慣不設(shè)默認(rèn)是 true。安裝路徑的選擇邏輯也值得注意當(dāng) perMachine 為 false 時(shí)electron-builder 會(huì)把默認(rèn)安裝路徑設(shè)置到當(dāng)前用戶的 AppData\Local\ProgramsproductName 目錄下。這種做法的好處是即使用戶不是管理員也能安裝壞處是某些安全類軟件會(huì)對(duì)用戶目錄下自啟動(dòng)的可執(zhí)行文件特別敏感。我自己做過對(duì)比同樣是未簽名安裝包裝到 Program Files 的觸發(fā)攔截概率比裝到用戶目錄低一些這是實(shí)測(cè)體會(huì)不一定算規(guī)則。4.3 安裝包體積優(yōu)化與安裝速度的權(quán)衡安裝包體積是逃不過的話題。electron-v8.5.5-win32-x64 壓縮包解壓后接近 200MBNSIS 引擎會(huì)把整個(gè)應(yīng)用目錄壓成一個(gè) 7z 歸檔。壓縮級(jí)別越高Setup.exe 越小但安裝時(shí)解壓越慢。electron-builder 提供了一組壓縮參數(shù)nsis: { compression: lzma, differentialPackage: true, unpackDirName: app-unpacked }compression 支持 zip、lzma、bzip2 三種。默認(rèn)是 lzma壓縮率最高但打包時(shí)間也最長(zhǎng)。如果你的應(yīng)用里有很多二進(jìn)制資源比如原生模塊或 ffmpeg 庫(kù)zlib 會(huì)更穩(wěn)因?yàn)?lzma 在個(gè)別殺毒軟件的實(shí)時(shí)掃描下有可能被誤判。differentialPackage 設(shè)為 true 會(huì)生成一個(gè)體積很小的增量補(bǔ)丁包方便后續(xù)版本升級(jí)時(shí)只下載差異部分。除了壓縮算法體積優(yōu)化要靠排除文件。files 配置里有一個(gè)規(guī)律我覺得值得記住被 asar 收錄的文件越多安裝包越接近全量復(fù)制而 electron-builder 默認(rèn)會(huì)把 app-builder 依賴、測(cè)試腳本、.md 文檔都打進(jìn)去。我通常會(huì)在 files 里明確排除不必要的內(nèi)容files: [ main.js, index.html, package.json, !assets/screenshots/**, !test/**, !**/*.map ]map 文件對(duì)線上應(yīng)用沒有任何用處卻會(huì)讓體積多出幾十 MB這一條建議直接加。screenshots 這類靜態(tài)資源如果不被運(yùn)行時(shí)讀取也建議排除。每做一次排除操作對(duì)比一下 dist 目錄下 Setup.exe 的體積變化慢慢就能對(duì)“哪些文件值得進(jìn)安裝包”形成肌肉記憶。5. winCodeSign-2.6.0 代碼簽名避坑為什么簽完名還是被攔截5.1 簽名在打包流程里的位置與必要性winCodeSign 在整個(gè)打包流程里承擔(dān)兩件事改 exe 資源和打 Authenticode 簽名。它的位置在 NSIS 制作安裝包之前——electron-builder 先調(diào)用 rcedit 修改應(yīng)用的 exe 圖標(biāo)和版本信息接著調(diào)用 signtool 給 exe 簽名最后才把簽名后的 exe 傳給 NSIS 封裝成安裝程序。所以如果你在打包日志里看到 winCodeSign 目錄被讀取但隨后出現(xiàn) “skipped signing”說明簽名步驟被跳過了。簽名不是可有可無(wú)的東西。Windows 10 以上系統(tǒng)對(duì)來(lái)自網(wǎng)絡(luò)的可執(zhí)行文件有“Mark of the Web”檢測(cè)未簽名或簽名無(wú)法驗(yàn)證的 exe 會(huì)觸發(fā) SmartScreen 的藍(lán)色警告框上面寫著“Windows 已保護(hù)你的電腦”。真實(shí)的產(chǎn)品分發(fā)走這條路是必選項(xiàng)不是加分項(xiàng)。我有一次給內(nèi)部工具打包懶得配證書結(jié)果同事安裝時(shí) Windows Defender 直接提示風(fēng)險(xiǎn)最后還不是得回去補(bǔ)簽名配置重打。winCodeSign-2.6.0 里包含的工具可以獨(dú)立于 electron-builder 使用。遇到簽名問題需要排查時(shí)我會(huì)直接去看緩存目錄里的 winCodeSign 文件夾找到 signtool.exe 手動(dòng)執(zhí)行驗(yàn)證命令比反復(fù)打包試錯(cuò)快得多。5.2 自簽名證書練手但別指望它過 SmartScreen正式的代碼簽名證書需要去 CA 機(jī)構(gòu)購(gòu)買一年花費(fèi)不小。在正式證書到手之前可以用自簽名證書先把簽名鏈路完整跑通。Windows 上生成自簽名證書用 PowerShell 一條命令New-SelfSignedCertificate -Type CodeSigningCert -Subject CNElectronPackDemo Test -CertStoreLocation Cert:\CurrentUser\My -NotAfter (Get-Date).AddYears(1)執(zhí)行后會(huì)生成一張有效期為 1 年的代碼簽名證書并自動(dòng)導(dǎo)入當(dāng)前用戶的證書庫(kù)。要把它導(dǎo)出成 electron-builder 能讀的 pfx 格式需要再用兩條命令$cert Get-ChildItem Cert:\CurrentUser\My | Where-Object { $_.Subject -like *ElectronPackDemo* } $password ConvertTo-SecureString your-password -AsPlainText -Force Export-PfxCertificate -Cert $cert -FilePath build/cert.pfx -Password $password然后在 build.win 配置里引用win: { certificateFile: build/cert.pfx, certificatePassword: your-password }自簽名證書能讓打包日志里出現(xiàn) “signed with sha256” 字樣安裝的時(shí)候也能看到發(fā)布者名字但用戶機(jī)器的證書信任鏈里沒有你的自簽名根證書SmartScreen 照樣彈警告。這條鏈路最大的價(jià)值在于驗(yàn)證 electron-builder 讀證書、算哈希、打簽名的流程沒毛病正式證書拿到手后替換 pfx 文件就行。5.3 三個(gè)坑證書找不到、時(shí)間戳失敗、雙簽名缺失坑 1打包日志顯示 “skipped signing”安裝包發(fā)布者為“未知”?,F(xiàn)象打包流程正常結(jié)束產(chǎn)物也能跑但右鍵查看 exe 屬性數(shù)字簽名標(biāo)簽頁(yè)空白或顯示“該文件的數(shù)字簽名無(wú)效”。原因certificateFile 配置沒生效。最常見的是路徑寫錯(cuò)——electron-builder 解析相對(duì)路徑時(shí)基于項(xiàng)目根目錄如果你把 pfx 放在 build 目錄下卻寫成了 build/build/cert.pfx 就會(huì)找不到。還有個(gè)隱蔽情況electron-builder 讀取的是 win 塊下的 certificateFile不是根級(jí)配置。解決把證書路徑改成絕對(duì)路徑測(cè)試一遍確認(rèn)能讀到后再改回相對(duì)路徑。如果使用的是環(huán)境變量傳入證書密碼檢查 CI 或當(dāng)前 shell 里環(huán)境變量是否真的存在???2簽了名但 SmartScreen 仍顯示“未知發(fā)布者”。現(xiàn)象安裝包已經(jīng)帶簽名屬性里能看到發(fā)布者名字但彈窗還是全藍(lán)色警告。原因簽名有效不代表信任鏈建立。SmartScreen 看的是“證書是否來(lái)自受信任的根證書頒發(fā)機(jī)構(gòu)”以及“證書印章是否被足夠多的用戶接受過”。自簽名證書和剛買的 OV 證書都會(huì)遇到這個(gè)問題OV 證書的情況是部分用戶點(diǎn)擊“更多信息”可以繼續(xù)但信任建立需要時(shí)間。解決更換為 EV 代碼簽名證書它會(huì)把簽名印章做到本地可信根里SmartScreen 警告能直接消掉。如果暫時(shí)沒有 EV 證書OV 證書配合穩(wěn)定的時(shí)間戳服務(wù)器也能減少一部分?jǐn)r截但不要指望 100% 消除。坑 3簽名時(shí)報(bào) “The timestamp service is not available” 或安裝包在無(wú)網(wǎng)環(huán)境安裝時(shí)簽名校驗(yàn)失敗?,F(xiàn)象打包日志里出現(xiàn)時(shí)間戳服務(wù)器連接失敗或者安裝包在聯(lián)網(wǎng)環(huán)境正常、到客戶內(nèi)網(wǎng)就提示簽名損壞。原因electron-builder 簽名時(shí)會(huì)向時(shí)間戳服務(wù)器發(fā)請(qǐng)求把簽名時(shí)刻記錄到簽名數(shù)據(jù)里保證證書過期后簽名仍然有效。客戶內(nèi)網(wǎng)斷外網(wǎng)時(shí)Windows 無(wú)法驗(yàn)證時(shí)間戳。解決在 win 配置里顯式指定時(shí)間戳服務(wù)器win: { certificateFile: build/cert.pfx, certificatePassword: your-password, signtoolOptions: { signAndTimestamp: true } }或者更直接的做法是手動(dòng)重新簽名時(shí)加上/tr參數(shù)指定時(shí)間戳地址。實(shí)際上electron-builder 默認(rèn)會(huì)對(duì) exe 做時(shí)間戳但構(gòu)建機(jī)網(wǎng)絡(luò)不好時(shí)可能靜默跳過。我在一次離線構(gòu)建中發(fā)現(xiàn)簽名完整但時(shí)間戳缺失后來(lái)固定了時(shí)間戳服務(wù)器地址這類問題基本絕跡。以上三條是簽名環(huán)節(jié)最容易遇到的。記住一個(gè)原則簽名日志里的關(guān)鍵字是 evidence看到 “Signed” 和 “Timestamp” 兩個(gè)輸出同時(shí)出現(xiàn)才算真正完成缺一個(gè)都算翻車。6. 讓 Electron 打包成為可復(fù)用的流水線緩存復(fù)用與簽名自檢打包這件事一旦變得依賴網(wǎng)絡(luò)下載和本地緩存就天然不適合手工反復(fù)操作。我最后的習(xí)慣是給項(xiàng)目加一個(gè)驗(yàn)證腳本打包完成后自動(dòng)檢查安裝包的簽名狀態(tài)Get-AuthenticodeSignature -FilePath dist\ElectronPackDemo Setup 1.0.0.exe | Select-Object Status, StatusMessage, TimeStamperCertificate輸出里 Status 必須是 ValidTimeStamperCertificate 不能為空。如果 Status 是 UnknownError基本可以斷定是簽名或時(shí)間戳沒打上不用等測(cè)試反饋就能提前發(fā)現(xiàn)。把這個(gè)命令寫進(jìn) CI 流水線的后置步驟比默默發(fā)版再被用戶提醒要省心得多。另一個(gè)復(fù)用技巧是把緩存目錄納入備份策略。我在團(tuán)隊(duì)內(nèi)部約定新入職同事的機(jī)器先同步一次 %LOCALAPPDATA%\electron-builder\Cache之后打包的時(shí)間能穩(wěn)定控制在 3 分鐘左右而不需要反復(fù)等待幾十 MB 的下載。緩存一旦就位electron-v8.5.5-win32-x64、nsis-3.0.4.2、winCodeSign-2.6.0 三個(gè)包就是本地常駐資源打包變成了真正的離線流程。做 Electron 打包時(shí)間久了最大的教訓(xùn)是版本和證書這兩樣?xùn)|西不能靠“感覺”。版本鎖不準(zhǔn)緩存就開始膨脹慢則多下載幾個(gè)包快則升級(jí)后報(bào)一個(gè)看不懂的編譯錯(cuò)證書管理不嚴(yán)肅密碼寫進(jìn)配置里再推到共享倉(cāng)庫(kù)等于把簽名鑰匙交給了所有人。我自己在這方面吃過虧——密碼從 package.json 挪到環(huán)境變量只花了我十分鐘卻把一個(gè)隱患徹底關(guān)掉了。個(gè)人開發(fā)時(shí)那種“怎么方便怎么來(lái)”的松弛感帶到打包流水線上關(guān)鍵時(shí)刻會(huì)咬人。希望這些經(jīng)驗(yàn)幫到你讓你在遇到這三個(gè)綠色文件夾時(shí)心里有底。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲欧美一区二区网址| 欧美久久九九| 亚州五月| 夜夜肏2021| 午夜性生活av免费在线看| 97免费视频网| av在线一区二区三区| 人人妻人人色一区二区三区| 久久av网| 精品少妇后入一区二区三区四区人妻巨乳 | 人妻天天爽| 国产伦精品一区二区三区在线观| 日韩三级在线观看网站| 国产97视频| 亚洲男人天堂网久久| 黄色av网站在线播放| 亚洲精品97中文字幕| 91美女中出| 国产亚洲色停停久久99精品91| 六月婷婷五月丁香| 欧美人妻精品一区二区| 亚洲操人| 一区二区三区黄色片a| 亚洲人妻精品一区二区| 五月天亚洲网| 亚州五月| 粉嫩小泬久久久一区二区| 成人三级片无码| 国产精品蜜臀久久久久无码AV| 免费男人的天堂| 97视频7| 欧美国产日韩清纯唯美| 97人人操人人摸人人爱| www.亚洲成人一区| 丁香九月婷婷| 97在线观看免费视频| 日本高清一本二本免费不卡| 蜜桃午夜视频一区二区| 国产丰满少妇久久久精品影院| 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 国产精品久久久久久久毛片1| 日韩有码中文字幕女同性恋| 久久夜夜| 天天干夜夜一操| 岛国福利在线精品播放| 国产品精品自在在线午夜免费| 怡红院久久老司机| 东京热毛片调教| 操死我了啊啊啊| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 香一区二区三区| 丁香五月天啪啪| 婷婷激情五月天小说网| 91超碰人人操| 婷婷色婷婷| 91精品黄在线观看| 五月丁香啪啪网| 国产福利小视频高清在线观看| 国产精品黑人一区二区三区| а√天堂资源官网在线资源| 欧美性生活男人的天堂| 日日日日做夜夜夜夜无码| 久久性爱视频99| 亚洲欧美黄| 欧美色交| 97超碰人妻| 欧美精品久久96人妻无码| 免费精品国偷自产在线在线| 色婷婷九月天天综合| 欧美十八禁在线看| 国产熟女少妇一区| 91殴美大片| 密臀视频一区二区三区| 欧美日韩另类字幕中文| 国产99999| 亚洲欧美自拍偷拍| 精品国产一级久久| 久久久亚洲精品电影免费看| 夜草欧美| 嗯嗯不要 视频| 97超碰9| …亚洲黄色厕厕女女在线播…| 麻豆天美传媒毛片| 人人射人人操人人摸| 国产精品免费视频不卡| 国产又大又粗又长视频在线| 蜜桃传媒视频第一区入口在线看| 99久久精品欧美国产| 色欲无码人妻日韩欧美精品| 日韩中文字幕二区| 欧美亚洲丝袜人妻制服99| 禁止观看美女黄| 超碰1997| 97在线视频网站| 日本精品中文字幕视频| 人人天天干干| 操学生天天| 日本一卡二区在线| 超碰人妻久久| 色婷婷综合视频| 亚洲欧美一区二区三区在钱蜜桃 | 久久久久九九九| 中国大陆国产高清AⅤ毛片| 视频分类 国内精品| 97精品国产97久久久| 亚洲日韩欧美一区二区| 中文AV制服乱伦| 国产免费一区二区在线A片视频| 久久久久久亚洲精品不卡人乳| 色娱乐色呦呦夜夜夜夜av| 九九九精品一区二区无码| 蜜区区视频79 | 国产熟妇 码视频户外直播 | 国产情色第一第二页在线观看| 色香伊人| 亚洲精品国产无码高清| 最新加勒比丝袜在线| 淫乱图区 | 四虎永久在线精品免费网址| 国产97av| 91三级理论片播放器| 观看免费区二区三区二| 69天堂| 久久老子无码午夜伦不卡| 久久一二区四| 大地资源在线观看中文第二页| 蜜桃精品一区二区三区ww| 99re黄 | 最新亚洲风情电影| 被窝影院午夜看片无码| 1956日韩精品| 精品熟妇视频一区二区| 中国大陆国产高清AⅤ毛片| 亚洲中文人妻色| 婷婷综合伊人一区| 99r九九| 男人的天堂VA| 国模一区二区三区| 啊啊啊啊啊啊在线| 国产剧情一区在线观看| 尤物视频视频官网| 偷拍超碰| 亚洲欧美在线观看无码| 国产熟妇一区二区| 国产一级不卡在线观看| 亚洲综合校园春色| 午夜大香蕉| 久久精品28| 色色色999| 日本操大逼| 一区超碰一区| 91丝袜美女视频| 一区二区偷拍拍视频| 久久久久久中文| 亚洲成人福利电影免费| 亚洲另类色综合网站| 欧美国产日韩高清在线| 中文一区二区三区影院| 精品美女少妇一区二区三区| 美女午夜福利免费视频| 精品国产乱码久久久影院| 国产精品视频白浆免费| 南澳成人一级片在线播放| 久草五月| 日本影视久久免费| 亚洲天天影视色综合| 日韩乱中文| 中文字幕精品专区搜索结果91| 18禁超污无遮挡无码免费网| 加勒比伊人| 日本日日色视频| 国产精品探花在线| 亚洲自拍97| 九月AV| 国产极品精品美女视频| 综合久久9| 欧美日韩青操| 女一区二区| 亚洲美女色图| 人、人、摸,人、人、草| 色香天天| 丝袜美腿校园春色| 91亚洲黑人| 亚洲牲交| 久久久久久久久女黄| 丁香五月色| 在线观看高清AV| 天天天肏屄肏屄肏屄欧美欧美| 欧美欲色| www.婷婷六月天| av无码av无码专区| 97免费在线观看视频| 亚洲视频一二区| 天天干天天干天天| 亚洲精品视频在线播放| 无码高清操逼网址| 国产又粗又长视频| 美女网站黄页| 99re9这里只有精品| 粉嫩av在线一区二区| 20cm女自慰在线日韩欧美| 色五月AV在线| www.av不卡中文字幕| 狠狠 91| 日韩美女操b| 日本不卡一区| 大香蕉一级黄色片久久| 天天操天天舔| 日本大香蕉综合网红本杳社区| 无码直播久久久| 777超碰| 综合网97| 亚州色国| 97超碰久久色| 日噜夜夜夜夜夜夜夜夜夜夜爽爽爽爽爽爽爽爽爽爽爽爽 | 熟女欧美日韩综合婷婷| 刺激性视频黄页| 91九九| 亚洲第一在线视频| 97人妻免费中文字幕| 免费A片三p视频| 亚洲黄色AV电影| 久久久久人| 98精品国产乱码久久久久久| 9999九九九久久久| 激情小说亚洲图片| 试看60秒| 我想要啊 啊 啊| 精品国产久久乱码| 天天操天天日青青草超碰av| 亚洲影视第一页| 裸体1区| 级品肉射| 97久久天天综合色天天综合色电影| 少妇与黑人高潮在线| 白丝AV网站| 欧美一二三区四五区| 偷拍网站久久男女男| 一区二区偷拍拍视频| 五月综合久久| 九九九网页| 99AV| 天天谢天天干| 国产AV久久野战精品| 久久毛卡| 国内精品久久久久影院亚洲| av大香蕉| 亚洲 se图 欧美电影| 操人妻逼91| 情色五月天久久久| 亚洲性综合| 久草色在线观看| 99热婷婷一区二区三| 精品日日人妻| 九九综合九九综合| 思思热er精品视频| 思思99热| 国精综合一二三区影视| 97中文字幕一区| 国产精品3| 东北老熟女| 女人综合网| a亚洲欧美色欲| 噜噜噜在线视频| 少妇一区二区三区高速| 亚洲超碰在线| 成人女人国产| 久热99999| A级在线视频| 综合亚洲欧美精品日韩?v| 亚洲导航深夜福利| www.狠狠干.coom| 青青草白白色| 国产91 丝袜在线播放| 人人摸人人叼| 精品国产三级av韩国在线| 亚洲综合中文字幕有码| 伊人久久大香蕉线AV五月天| 熟女少妇视频| 高跟丝袜AV专区国产| 久久精品国产精品亚洲艾通辽熟妇 | 男人天堂久久精品不卡| 亚洲人体视频在线观看| 人妻天堂综合网| 91精品久久久久久久久久| 国产精品久久久久久久久久久久久久| 清纯唯美亚洲综合| 久久婷婷视频| 欧美综合网站999| 欧美呦呦性爱| 白嫩嫩一区| 人人妻天天做天天爽| 久久久性| 日本天天人人狠狠在线日美女| 男人精品天堂一区| 中文字幕日韩专区精品系列| 超碰公开久久网| 天天性射网| 日韩国产欧美伦理在线| 久久一二区四| AV女资源| 校园春色之综合网| 97在线看| 又黑又大又粗| 国产免费内射视频| 人妻-91porn| 蜜臀久久99'精品久久久| 2023天天操夜夜操| 97国产天堂岛| 少妇人妻好深太紧了vr91| 91人妻丝袜无码| 四虎免费在线播放| 久久 国产精品 一区| 91劲爆| 国产一级操B视频| www.91欧美| 人妻无一区二区三区| 欧美亚洲第1页| 日产操逼| 亚洲色图欧美另类在线| 亚洲色图亚洲无码强奸乱伦| 少妇内射视频| 乱伦熟女区| 欧美综合自拍亚洲综合图| 操逼视频亚洲| 人人操人人操人妻人| 国产成年女人免费视频播放a| 九九久久首页| 1级午夜影院费免区| 少妇与黑人高潮在线| 综合伊人激情| 啊啊啊啊啊啊啊在线| 啪啪免费| 熟妇女伦乱视频| 超碰资源亚洲97| site:sinbotex.com| 女同性恋一区二区三区精品视频| 操逼视频国产无套| 东京热99999| 色九月| 东京热,男人的天堂| 日韩精品一二三四| 国产精品亚洲无码| 久久激情四射婷婷丁香五月天| 人妻熟女av国产网站| 超碰 欧美| 久久久久精| 啪啪啪东京| 亚洲丰满很很操| 国产精品电影| 永久免费av无码网站国产app | 97超碰欧美手机| 91是天天| 国产精品久久久久久片| 肏逼视频日本| 极品出轨视频网站| 亚洲精品一二三四区| 淫荡少妇免费| 中文字幕人妻资源在线| 黑人精品欧美一区二区蜜桃| 天天夜夜久久| 国产免费永久精品无码| 蜜臀无码视频在线观看| 国产精品3| 成人午夜无码视频| 国产女同视频在线播放| 超碰人妻久久| 操逼无毒无码免费视频| 丰满人妻一区二区三区在线| 97色碰| 中文字幕奈奈美被公侵犯| 激情另类激情| 久久九操在线观看| 91激情网| 伊人青青一区成人视频在线观看区| 精品久久久久av影院| 欧美亚洲情色| 97se综合| 国产亚卅97| 久草成人福利导航| 人妻加勒比东京热| 日本99视频| 黄色区免费观看中文字幕| 国产午夜精品理论片一二三区区| 天天干夜夜鈤| 蜜臀99久久精品| 日韩中文字幕2020| 三上制服丝AV| 欧美在线伊人色| 鲁鲁色综合网| 中文字暮97| 亚洲高清无码免费观看视频| 人妻在线视频| 亚洲AV无线| 影音先锋少妇| 国产一区自拍欧美日韩| 強姦亂倫a| 国产一级内射高清视频| 国产精品视频在线观看| 国产激情在线| 国内外激情在线| 91久久精品美女高潮喷水| 级品肉射| 国产情色第一第二页在线观看| 国产五码丝袜屁眼| 热天堂一区二区| 中文字幕日韩综合| 97亚洲综合电影| 91网站18在线观看| 日韩美女久久一区二区三区| 欧美亚男人的天堂| 精品久一区免费| 白丝AV网站| 久久一留热品黄| 精品国产一区二区三区久久久蜜臀| baisiav| 熟女啪啪视频| 91在线欧色| 大香蕉手机在线视频| 麻豆2区1区天美| 色妺妺在线视频| 99操视频| 久久这里只精品99re66图| 一级日本牲交大片好爽在线看| 日小BB小视频| 中国一区二区亚洲人妻| 欧美在线视频99| 乱人伦 国语对白:视频直接看| 国产精品色| 97玖玖人妻| 欧美韩国你懂得在线| 98福利在线视频| julia ann久久| 精品人妻av区天天看片| 26UUU欧美日本| 激情 欧美 亚洲 小说| 欧美强奸乱| 91碰碰| 嗯啊啊啊轻点视频 | 欧美中文字幕一区 | 自怕偷自怕亚洲精品| 美女一区二区国产精品| 熟女人妻av在线资源,黄色的资源| 色色99| 欧美午夜色妇色鬼| 亚洲成人帖图| 欧美日韩*字幕一区| 国产精品美女久久久久AⅤ国产馆| 黄色视频特级毛片| 国产精品乱码久久久久久久久久久久| 美日韩一二三区| 欧美高清16| 小视频国产| 屌逼麻豆| 中文字幕精品专区搜索结果91| 96麻豆精品一区二区三区| WWW啪啪的com| 夜夜爽爽爽| 青青草玖玖爱| 97在线看| 玖玖婷婷五月天| www.高清无码诱惑一区.com| 天天狂操夜夜狂日| 日韩精品亚洲专区在线影视| 5252色欧美在线| 色97干| 黄片不用下载在线观看| 日日黄色三级网站| 国产精品久久久啊| 9九九九九视频在线观看| 日本不卡一区二区三区| 日韩性爱免费观看视频| 好淫网一二三视区| 国产精品剧情| 久久久久9| 亚洲怡春院| 翔田千里AⅤHD无码| 综合网欧美在线| 91欧洲入口| 青娱乐国产精品| 亚洲熟女综合| 欧美视频一| 日韩另类色图| 欧美啪啪色吧在线| 久久久久成人蜜桃精品| 大香蕉草草| 亚洲欧美日韩综合在线尤物| 五月天人妻综合| 嫩草一区二区在线观看| 伊人久日| 99无码视频| 91N综合网| 91狠狠综合久久久| 中文字幕AV中出| 国产高潮AA片免费看| 福利天天都操| 婷婷综合五月| 人妻欧美| 刺激性视频黄页| 思思热国产高清| 99热婷婷| 欧美色涩| 国内操逼视频二区| 欧美性爱中文字幕无线码| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 久久国产精品,久久国产| 热思思免费视频| 在线视频一区二区传媒| 亚洲精品性爱片| 国产五码丝袜屁眼| 东京热视频网| 亚洲诱惑天堂 | 九九九九九九成人| 亚洲色图殴美色图激情乱伦| 91欧美性| 亚洲经典啪啪| 91美女视频在线观看| 亚洲综合婷婷| 久久亚洲国产成人| 91操人| 日本亚洲熟女视频| 亚洲九九九| 884t在线| 国产精品无码AV网站| 超碰97久| 屌妞视频久久久久久久久久久久| 久久久久久久亚洲Av无码| 日韩无码服务区| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 欧美操人视频| 刺激性视频黄页| 亚洲AV无码AV吞精久久久久| 久久久久久十| 一本一首道人妻少妇免费久久| 加勒比久久综合网高清| 中文操逼字幕| 国产精品久久久无码AV网站| 精品一区二区三区麻豆| 日韩人妻精品中文字幕| 五月丁香亭亭| 亚洲中文国际强奸字幕| 天天日天天干天天操| 久久精品中文| 久久久久久久久久久97| 无遮挡猛进视频免费无限观看| 91精品国产91久久青草| 福利大香蕉| 久久久999网站| 偷看洗澡一二三区美女| 亚洲欧美色图小说| 啊啊嗯嗯好爽| 欧成人在线| 91天美传媒在线观看| 婷婷五月天小说| 欧美亚洲美少妇一区二区| 51久久夜色精品国产麻豆| 综合网亚洲| 大香蕉av在线| 欧洲亚洲人妻无码久久三区四区| 日韩成人性日韩成人性爱视频在线免费观看 | ,成人免费啪啪视频| 99久久无色码| 日本中文字幕不卡视频| 日少妇亚洲版| 中文字幕精品一区二区精| 大屁股国产在线视频| 每日更新AV| #NAME?| 精品人妻中文字幕4399| 蜜桃传媒一区二区亚洲| 韩日性爱av| 亚洲欧美综合图片| 2024年最新色情网站在线观看| 亚洲 日韩 欧美 国产综合体| 蜜臀久久99精品久久久久久婷婷| 欧美美女在线高潮999| 亚洲va有码在线天堂| 超碰久在线天天做| 久久色一区| 国产精品蜜乳AV| 97爱综合| 性爱AV天堂| 人妻少妇色综合| 国产亚洲精品美女久久久久久2021| 亚洲熟妇综合久久久久久| 日本曲间由美性生活片| 欧美日韩 强奸乱伦| 麻豆久久精品亚洲精品88| 九九九九九九视频| 日韩熟女精品无码专区一区二区 | 91日韩在线| 台湾成人无码AV| 欧差乱伦二三| 日韩一级欧美一级国产一级台湾| 精品久久97| 少妇色综合| 久久久一区二区三区四曲免费听| 亚洲精品啪视频| 亚洲麻豆av一区二区| 99在线观看视频在线高清| 中文字幕78| 欧美高潮在线| 国产有码一区| 手机不卡视频不卡在线一二三区| 极品美女嘿咻| 色综合超碰超| 大香蕉伊人网WWWn0n| 超碰成人免费| 亚洲操逼无码| 青娱乐国产精品| www.99中文字幕| 国产精品嫩草影院免费| 爽 好舒服 无码刺激久久| 操逼日韩无码| 草b在线 | 美女诱惑一区| 日本羞羞的视频在线播放| 超碰精品日韩欧美国产| 成人精品在线免费视频| 亚洲色交| 一区操逼| 亚洲中文日韩欧美大香蕉视频| 最新中文字幕精品在线| 日韩中文字幕视频在线观看| 色妺妺在线视频| 日韩99神马视频播放| 九99久久| 国产久久久久久| 国产一区二区三区免费视频在性观看 | 亚欧成人综合影院| 乱伦系列一区二区| 亚洲综合在线第一页| 国产精品视频在线观看| 中文AV制服乱伦| 日本熟妇人妻中出视频| 色婷婷综合久久久久中文一区二区| 欧日韩在线观看| 思思热一热婷婷热一热| 91在线美女| 校园春色欧美| 日韩小电影| 成人免费福利网站国产| 九九九综合精品| 亚洲第一页综合在线| 久久久久久网址| 日本在线视频导航| 嗯嗯嗯啊啊啊干死我吧| 超碰在线欧美性爱激情| 欧美三级一级| 欧美伊人电影| 久久综合激情| 亚州色阁| 亚洲导航深夜福利| 婷婷另类小说| 国产成人99久久亚洲综合| av中文字幕在线熟女| 97在线播放 | 温婉少妇玩3p| 日韩精品人妻中文字有码在线| 人人看黄色视频| 91N欧美| 91高潮| 亚洲18禁| 国产在线播放成人免费| 欧美日韩情色一区二区| 99re免费| 亚洲色图 欧美热图 清纯唯美 另类自拍| 97国产精选| 日本在线激情一区二区三区| 91久| 8050午夜少妇无码| 欧美综合1性辶| 91婷婷| 97干在线视频| 国产成人主播| 韩国黄色片精品久久久| 日日夜夜精品视频| 婷婷五月天无码 | 97国产精品| 天天看高清麻豆| 国产伦精品一区二区三区在线观| 亚洲色天堂九9| 国内毛片无码一级毛片| 绯色一区二区三区不卡少妇| 久久超碰、| 久久久精品无码亚免费| 亚洲人成在线放东京热| 97超碰人操| 夜夜操天| 国产黄色av大片网站| 久久久97| 日韩专区久久久| 岛国小电影| 草草网站影院白丝内射| 超碰色图| 91色伦| 久久伊人网视频一区二区三区 | 风月影院男女十八禁| 熟女啪啪视频| 色婷婷小说| 欧美十八禁导航成人| 久久久久久无码人妻中文字幕| 亚洲少妇喷视频看| 亚洲无线码一区国产欧美国| 亚洲人体视频在线观看| 中文字幕激情小说| 丝袜色综合| 欧美日韩大陆黑人少妇99| 精品免费一区二区三区在线亚洲人成| 五月婷婷综合网| 97碰在线视频| 日本在线播放不卡一区| 91色人妻| 激情抓乳插进去啪啪啪日韩 | 国产AV激情无码久久无码| 亚洲伊人成综合成人网| 国产熟妇 码视频户外直播| 综合久久99| 疯操AV| 思思视频免费看网站| 亚欧色图在线激情| 男人的天堂 在线一区| 偷拍 亚洲 欧美| 中文字幕久久婷婷丁香五月天| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 久久久久人| 日韩本不卡视频在线观看 | 国产日逼视频| 国产精品久久久久无码A√| av强奸乱轮| 日本精品成人无码| 欧州色图区| 欧美性暴力猛交XXXX| 91欧美性| 97欧美资源| 97视频在线播放| 亚洲精品乱码线路中文字幕| av在线免费一区二区| av日韩在线观看电影| 99超碰碰| 久久久久久网址| 日本无码1| 日韩本不卡视频在线观看| 91网站18禁| 爱干爱射网啊啊啊| 精品成人动漫一区二区| 情色大香蕉| 色一射色一射| 无色无码| 99色网| 日韩黄色成人性爱| 亚洲情色中文字幕一区| 日本 欧美 亚中文字幕| 蜜桃一区二区三区| 久久久久9999| 久久九九网| 亚洲欧美国产中文字幕| 综合网欧美| 99热99在线播放激情| 五月天丁香欧洲日韩| 蜜臀一二三区| 日韩性爱毛片操骚逼| 天天看少妇| 欧美丝袜91| 国产乱色国产精品免费视| 91neishe| 精品欧美老熟女一二区| 久久精品99| 四虎在线免费视频| 三级日韩一区二区三区| 亚洲欧美天| 久久人人舔人人爽舔人人av片| 青草青青久久久久久国产| 亚洲美女高潮喷水视频| 日本国产高清色www视频在线| 久久嫩草国产成人一区| 亚洲图片色图欧美另类| 99热 按摩 日韩| 9国产超碰| 日本999精品| 国产一区二区成人av在线播放| 私色综合网| 91人人操| 亚洲黄日韩无码专区| 91老司机在线| 91撸色网 玖玖网 欧美| 国产伦精品一区二区三区在线观| 999精品女人| 9999九九九久久久| 情色AV电影| 国产精品无码在线| 成人26uuu| 好吊色综合| 亚洲另类色综合网站| 欧洲亚洲人妻无码中字久久三区四区 | 欧美刺激色黄片免费看| 少妇厨房愉情理伦片bd在线观看| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 国产伦精品一区二区三区在线观| 久久日韩精品一区二区| 啊啊啊想要| 欧美高清91| 精品久久久一本一道| 中文在线久久字幕| 久久一留热品黄| 日本天天人人狠狠在线日美女| 欧美黄色大香蕉一区二区| 凸凹视频在线观看| 国产97视频免费观看| 亚洲最新中文字幕免费| 园内精品自拍视频在线播放| 国产一进一出视频网站| 亚洲第一免费视频| 97欧美性爱| 欧美麻豆成人同性GⅤ在线| 综合自拍| 99热这里是精品| 色婷婷亚洲婷婷| 精品少妇后入一区二区三区四区人妻巨乳 | 精品一区99999| 麻豆a'v电影| 嗯嗯啊啊啊好爽| 酒色综合网| 97人人夜夜精品视频| 国产成人综合在线播放| 成视频在线观看免费看| 午夜天堂精品久久久久91| 久草视频制服诱惑| 桃色人妻在线视频| 99少妇内射| 少妇啪啪自拍| 丁香九月激情| 久久久久ab| 日本三级精品| 国产精品久久久久久照片| 亚洲精品a人片在线观看视| 精品少妇后入一区二区三区四区人妻巨乳 | 91 综合网| 国产一区二区免费福利片| 日本日皮视频逼| 亚洲中文人妻色| 99re在线视频国产| 97精品| 啪啪资源网| 天堂资源欧美| 少妇精品| 夜夜影视四色| 精品国产一区二区三区久久久蜜臀| 91欧美性| 日韩字幕一区| renqi久久久久久久久久久久| 久久超碰免费的| 国内伊人久久久久久网站视频| 欧美强奸乱能| 欧美情色贴图| 69XX一中文字幕人妻91| 丁香五月色情| 噜噜瑟| 日本精品一区二区中文字幕| 精品少妇人妻| 草草网站影院白丝内射| 成人一区二区三区四区| 99久久久久久亚洲精品不卡| 青娱乐av在线| 亚洲国产另类在线中文| 黑丝91视频| 大屁股人妻女教师撅着屁股| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 欧美岛国精品在线观看| 四虎永久在线精品免费网址| 97Ai亚洲| 久久中文色图| 中文字幕一区二区日韩网| 欧美精品久久| 国产成人bd在线观看| 黑丝制服中文字幕| 日韩三级一区| 内射老妇BBWX0C0CK| 国产日韩久久| 亚洲色诱惑| 丰满人妻一区二区三区色-百度| 中文字幕一区 二区三四五 区日 日骚| 色香天天| 91激情网| 亚洲人成网www| www.99色| 九九人妻| 久久理论字幕视频| 色呦呦呦在线观看视频| 日韩欧视频| 丝袜综合| 天天干,天天日| 青娱乐二区免费| 天堂精品一区| 国产欧美美女免费观看视频| 综合五月婷婷亚洲一区| 天天综合青苹果| 超碰97在线中文| 久久久影院| 超碰在线成人| 精品国产丝袜一区二区三区乱码 | 五月婷婷久久综合| 日韩精品 视频一区二区| 午夜超碰| 大香蕉伊人75| 九九九九九九免费视频| 情色五月天网| 九热大香蕉| 欧美色图亚州激情| Av色五月| 久久最新免费视频23| 色99色| 婷婷久草| 熟女被操视频网址| 动漫爆乳3D奶水一区在线观看| 91色人妻| 精品9999| 综合天天。| 亚川综合视频| 试看60秒 爽| 国产精品噜噜噜日日日| 91丝袜人妻| 啊啊啊慢点| 91色欧美| 69一区二区三区| 亚洲色图欧美激情| 91bbb| 激情五月天婷婷| 四虎影库国产精品免费| 97欧美综合| 九九热九九热| 国产白嫩精品久久| 97超碰色屌| 淫淫综合网| 2020中文字幕| 动漫爆乳3D奶水一区在线观看 | 亚洲另类综合欧美| 亚洲drav色图| 小说区 图片区色 综合区| 高跟丝袜AV专区国产| 成人无码专区精品视频| 女优大全 - 91n| 中文字幕亚洲在线一区| 蜜屁Av| 欧美高清18A片| 天堂蜜桃无码视频一区二区| 九九这里只有精品| 日本免费人成视频播放120秒| 色香阁在线| 搡老女人老熟女91| 91oumei| 亚洲精品97久久| 婷婷五月成人| 97伊人| 伊人99热| 久久天堂| se吧提供91精品国产91久久久久久| 免费一级视频特黄色大片| 国内精品久9| 婷婷综合激情| 青青久久艹| yirendaxiangjiashipin| 超碰免费在线| 第四色色综合91| 91精片| 亚洲av无码成电影在线播放| 老熟女搡BBBB搡BBBB视频| 大香蕉啪啪啪| 亚洲中文字幕av| 日韩av影片在线观看| 加勒比伊人综合| 乳欲人妻办公室奶水| 欧洲精品在线播放| 人妻精品视频一区二区三区 | 久久久久久久| 91GD.COM| 一区二区三区麻豆| 人妻22p| 五月天婷婷社区| 国产精品一二三区福利| 999亚洲国产视频| 岛国AV一区二区电影| 中出欧美| 亚洲国产一级黄色视频| 97亚洲综合电影| 高清无码学生妹高潮| A级毛片在线看免费| 天美一二三在线观看Av| 青青草公开在线免费不卡视频| 福利伊人玖玖国产| 亚洲 欧美 第一页 | 夜夜嗷嗷一区二区| 先锋色眉乱伦资源| 91国产丝袜白虎| 亚洲一区深夜| 92性色国产午夜福利在线661| 国产精品久久久久久久久久久久久久久久久久| 免费A片三p视频| 91视频综合在线| 奸色色 男人天堂 天天射| A级毛片在线看免费| 国产精品大屁股999| 人妻日日夜夜精品| 欧美一区二区三区日韩| 好吊色综合| 97国产综合欧美| 夜夜嗨AV蜜臀av| 日韩免费看黄片| 欧美精品成人一区二区在线观看| 91影视亚洲| 激情终合网| 女优免费一区二区永久| 国产亚洲精品美女久久久m| 人人摸人人入| 91宗合网| nuu12国产麻豆精品| 热久久九九热| 九九热免费国产视频婷婷伊人| 亚洲精品一区二区三区在线播放| 99久久无码| 久操精品| 国产熟女无套内射| 91色夜| 97国产精选| 国产熟女高潮一区二区三区| 99热 按摩 日韩| 熟妇最新先锋一二三区| 超碰久热| 亚洲男人天堂Av| 日日夜夜天天| 亚洲婷婷五月天| 亚洲五月天激情| 大香蕉伊人久久| 日本午夜福利影院| 99色婷婷| 久都青青视频| 久久嫩草国产成人一区| 人人超碰在线观看黄| 麻豆精品A片免费观看| 超碰97玖玖爱| 97精选久久| 4tube欧美女厕所| 殴美性天天| 久操91视频| 啪啪视频亚洲第一| 一区二区三区激情在线观看| 亚洲欧美日韩夜夜| 人妻少妇精品一区二区三区| 久久国产精品91| 亚洲欧美国产中文字幕| 日本道日本道中文字幕日本道最新日本道在线观看 | 97色欧洲| 美女被啪到深处抽搐视频| 国产乱伦亚洲| 婷婷亚洲综合| 色月天AV导航| 婷婷五月天色网| 在线播放成人高清免费视频| 少妇人妻太紧太深av| 丁香五月性爱| 9久精品视频在线观看| 黑人性欧美| av在线播放国产一区| 久9视频| 中文久久一区| 日韩有码专区| 中文字幕亚洲热播人妻| 久操高青| 欧美日韩国产精品久久色婷婷| 日韩一级欧美一级国产一级台湾 | 啊啊啊草死我| 亚洲黄色a级片| 久久111| 色妇综合网| 婷婷综合在线| 97超碰中文字幕| 日韩在线一区高清在线| 久久九九一区二区三区成人| 亚洲色电影在线| 91干熟女| 国产吹潮女在线观看| 人妻丰满熟妇一区二区三| 色色99| 熟女人妻精品一区二区视频| 国产精品午夜高潮呻吟久久av| 嗯嗯啊啊好大好爽| 成人影院永久免费观看网址| 91青视频| 肏逼视频日本| 人妻久热在线| 久久超碰国产一区二区三区| 国产精品老熟女一区二区| 欧成人精品一区二区三区| 精品国产一区二区三区av在线资源| 97久久超碰国产精品| 99自拍视频在线观看| 天天久久久久久| 大香蕉手机视频| 国产精品扒开腿做爽爽爽视频| 爽爽淫人网| 国产成人91一区二区三区| 天天看片天天爽| 亚洲图片色图欧美另类| 欧美亚洲宗合色性图| 中文字幕 国产 精品 | 久久AV无码网址| 中文字幕三四五区| yiren97| 欧洲一级性爱视频在线观看| 韩日欧亚a级| 天天看人人操屄犊摸阴| 亚洲一区二区性爱电影| 欧美成人精品欧美一级乱黄一区二…| 亚洲日本成人动漫| 免费自拍三级综合| 欧美 日韩第一性色| 91原创在线观看| av无码av无码专区| 干超碰碰熟女| 日本精品一区二区三| 丝袜夫妻自拍| 婷婷视频在线免费观看| 免费操逼91| 国产自偷| 亚洲综合69| 日日干夜夜操视频h| 99色在线视频| 中国东北熟女老太婆内谢| 日韩特级毛片免费观看全集| 自拍第一页| 啊啊啊啊啊啊啊啊啊在线观看| 欧美熟爽综合| 天天日天天操心| 日韩中文字幕在线视频观看| 久热在线精品免费观看| 天天色综亚洲91污| 日韩一区二区精彩视频| 日本综合色图| 91少妇人妻| 中韩中文字幕在线观看| 激情文学亚洲| 九九热九九| 美女高潮国产高清| 啊啊啊啊无码| 熟女熟妇一区二区三四区| 青青草国产一区二区三区| 亚洲图片 激情小说| 久久久久久久六六 | 天天搞在线综合网| 18禁的网站在线| 日韩精品黄片免费观看| 亚洲日韩美女中文字幕乱| 日本东京热加勒比久久| 国产探花精品在线| 日韩亚洲国产视频| 伊人久操| 欧美|91色综合| 中文字幕少妇色| 一本久久精品中文字| 国产精品白丝AV|