# 国密浏览器 **Repository Path**: beijingit/sm-browser ## Basic Information - **Project Name**: 国密浏览器 - **Description**: 国密浏览器 - **Primary Language**: Unknown - **License**: CC0-1.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-09-25 - **Last Updated**: 2024-09-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 帝测国密浏览器 > 北京帝测科技股份有限公司 > 技术研发部, 刘景磊, 微信号beijingit ## 技术栈 - [Electron](https://www.electronjs.org/zh/docs/latest/tutorial/electron-timelines) | [国密SSL实验室](https://www.gmssl.cn/) | [360易创](https://yichuang.360.net/book/_book/ability/ability2.html) - Electron 22.3.27, 版本 - Node.js 16.17.1, 内置 - Chromium 108.0.5359.215, 支持 Windows 7 SP1/8.1 ```sh # macOS 14.6.1 # npm info electron versions ['10.1.0','10.4.7', '16.0.9','16.2.8', '22.3.27',] # npm info node versions ['16.17.1','16.20.2',] # nvm list nvm use v16.20.2 # 阿里较新 npm config set registry https://registry.npmmirror.com npm config set disturl https://npmmirror.com/dist npm config set electron_mirror https://npmmirror.com/mirrors/electron/ # 华为较旧 npm config set registry https://repo.huaweicloud.com/repository/npm/ npm config set disturl https://repo.huaweicloud.com/nodejs/ npm config set electron_mirror https://repo.huaweicloud.com/electron/ npm config set phantomjs_cdnurl https://repo.huaweicloud.com/phantomjs/ npm config set electron_builder_binaries_mirror https://repo.huaweicloud.com/electron-builder-binaries/ # 删除缓存 sudo rm -rf /Users/it/Library/Caches/electron/ # 初始化 cd /Users/it/gitee/beijingit/sm-browser sudo npm install # 试运行 npm start ``` ## 打包 ### electron-builder - https://www.electron.build/ - https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html#//apple_ref/doc/uid/TP40009250-SW8 ```sh cd /Users/it/gitee/beijingit/sm-browser sudo chown -R 501:20 "/Users/it/.npm" npm install electron-builder --save-dev npm i electron-builder -D # npm run dist:win_x64 npm run dist:mac_x64 npm run dist:linux_x64 # asar list app.asar # icon 256x256 ``` ### Windows 示例 ```sh it@b660mac sm-browser % npm run dist:win_x64 > sm-browser@1.0.0 dist:win_x64 > electron-builder --win --x64 • electron-builder version=25.0.5 os=23.6.0 • loaded configuration file=package.json ("build" field) • writing effective config file=dist/builder-effective-config.yaml • executing @electron/rebuild electronVersion=22.3.27 arch=x64 buildFromSource=false appDir=./ • installing native dependencies arch=x64 • completed installing native dependencies • packaging platform=win32 arch=x64 electron=22.3.27 appOutDir=dist/win-unpacked • downloading url=https://npmmirror.com/mirrors/electron/v22.3.27/electron-v22.3.27-win32-x64.zip size=97 MB parts=8 • downloaded url=https://npmmirror.com/mirrors/electron/v22.3.27/electron-v22.3.27-win32-x64.zip duration=12.102s • updating asar integrity executable resource executablePath=/Users/it/gitee/beijingit/sm-browser/dist/win-unpacked/帝测国密浏览器.exe • downloading url=https://repo.huaweicloud.com/electron-builder-binaries/winCodeSign-2.6.0/winCodeSign-2.6.0.7z size=5.6 MB parts=1 • downloaded url=https://repo.huaweicloud.com/electron-builder-binaries/winCodeSign-2.6.0/winCodeSign-2.6.0.7z duration=8.435s • downloading url=https://repo.huaweicloud.com/electron-builder-binaries/wine-4.0.1-mac/wine-4.0.1-mac.7z size=19 MB parts=3 • downloaded url=https://repo.huaweicloud.com/electron-builder-binaries/wine-4.0.1-mac/wine-4.0.1-mac.7z duration=4.908s • building target=zip arch=x64 file=dist/帝测国密浏览器_setup_1.0.0.zip • building target=nsis file=dist/帝测国密浏览器_setup_1.0.0.exe archs=x64 oneClick=true perMachine=false • downloading url=https://repo.huaweicloud.com/electron-builder-binaries/nsis-3.0.4.1/nsis-3.0.4.1.7z size=1.3 MB parts=1 • downloaded url=https://repo.huaweicloud.com/electron-builder-binaries/nsis-3.0.4.1/nsis-3.0.4.1.7z duration=831ms • downloading url=https://repo.huaweicloud.com/electron-builder-binaries/nsis-resources-3.4.1/nsis-resources-3.4.1.7z size=731 kB parts=1 • downloaded url=https://repo.huaweicloud.com/electron-builder-binaries/nsis-resources-3.4.1/nsis-resources-3.4.1.7z duration=539ms • building block map blockMapFile=dist/帝测国密浏览器_setup_1.0.0.exe.blockmap ``` ### Linux 示例 ```sh sh ./gmsocks -a 0.0.0.0 -p 1080 it@b660mac sm-browser % npm run dist:linux_x64 > sm-browser@1.0.0 dist:linux_x64 > electron-builder --linux --x64 • electron-builder version=25.0.5 os=23.6.0 • loaded configuration file=package.json ("build" field) • writing effective config file=dist/builder-effective-config.yaml • executing @electron/rebuild electronVersion=22.3.27 arch=x64 buildFromSource=false appDir=./ • installing native dependencies arch=x64 • completed installing native dependencies • packaging platform=linux arch=x64 electron=22.3.27 appOutDir=dist/linux-unpacked • downloading url=https://npmmirror.com/mirrors/electron/v22.3.27/electron-v22.3.27-linux-x64.zip size=93 MB parts=8 • downloaded url=https://npmmirror.com/mirrors/electron/v22.3.27/electron-v22.3.27-linux-x64.zip duration=11.705s • building target=AppImage arch=x64 file=dist/帝测国密浏览器-1.0.0.AppImage • building target=zip arch=x64 file=dist/sm-browser-1.0.0.zip ``` ### macOS 示例 ```sh it@b660mac ~ % cd /Users/it/gitee/beijingit/sm-browser it@b660mac sm-browser % npm run dist:mac_x64 > sm-browser@1.0.0 dist:mac_x64 > electron-builder --mac --x64 • electron-builder version=25.0.5 os=23.6.0 • loaded configuration file=package.json ("build" field) • writing effective config file=dist/builder-effective-config.yaml • executing @electron/rebuild electronVersion=22.3.27 arch=x64 buildFromSource=false appDir=./ • installing native dependencies arch=x64 • completed installing native dependencies • packaging platform=darwin arch=x64 electron=22.3.27 appOutDir=dist/mac • downloading url=https://npmmirror.com/mirrors/electron/v22.3.27/electron-v22.3.27-darwin-x64.zip size=92 MB parts=8 • downloaded url=https://npmmirror.com/mirrors/electron/v22.3.27/electron-v22.3.27-darwin-x64.zip duration=21.186s • skipped macOS application code signing reason=cannot find valid "Developer ID Application" identity or custom non-Apple code signing certificate, it could cause some undefined behaviour, e.g. macOS localized description not visible, see https://electron.build/code-signing allIdentities= 0 identities found Valid identities only 0 valid identities found • building target=DMG arch=x64 file=dist/帝测国密浏览器-1.0.0.dmg • building target=macOS zip arch=x64 file=dist/帝测国密浏览器-1.0.0-mac.zip • building block map blockMapFile=dist/帝测国密浏览器-1.0.0.dmg.blockmap • building block map blockMapFile=dist/帝测国密浏览器-1.0.0-mac.zip.blockmap ``` ## 原始说明 **Clone and run for a quick way to see Electron in action.** This is a minimal Electron application based on the [Quick Start Guide](https://electronjs.org/docs/latest/tutorial/quick-start) within the Electron documentation. A basic Electron application needs just these files: - `package.json` - Points to the app's main file and lists its details and dependencies. - `main.js` - Starts the app and creates a browser window to render HTML. This is the app's **main process**. - `index.html` - A web page to render. This is the app's **renderer process**. - `preload.js` - A content script that runs before the renderer process loads. You can learn more about each of these components in depth within the [Tutorial](https://electronjs.org/docs/latest/tutorial/tutorial-prerequisites). ## To Use To clone and run this repository you'll need [Git](https://git-scm.com) and [Node.js](https://nodejs.org/en/download/) (which comes with [npm](http://npmjs.com)) installed on your computer. From your command line: ```bash # Work directory cd cd /Users/it/gitee/beijingit/ # Clone this repository git clone https://gitee.com/beijingit/sm-browser # Go into the repository cd sm-browser # Install dependencies npm install # Run the app npm start ``` Note: If you're using Linux Bash for Windows, [see this guide](https://www.howtogeek.com/261575/how-to-run-graphical-linux-desktop-applications-from-windows-10s-bash-shell/) or use `node` from the command prompt. ## Resources for Learning Electron - [electronjs.org/docs](https://electronjs.org/docs) - all of Electron's documentation - [Electron Fiddle](https://electronjs.org/fiddle) - Electron Fiddle, an app to test small Electron experiments ## License [CC0 1.0 (Public Domain)](LICENSE.md)