> 技术文档 > postman去除更新_postman关闭自动更新

postman去除更新_postman关闭自动更新

一、关闭自动更新目前有两种方案:
1.Hosts文件配置以下地址屏蔽连接:
以下配置粘贴到文件中,文件位置:C:\\Windows\\System32\\drivers\\etc

0.0.0.0         dl.pstmn.io
0.0.0.0         sync-v3.getpostman.com
0.0.0.0         getpostman.com
0.0.0.0         go.pstmn.io

保存后重新打开如下就代表已经成功。

2.目录写入权限控制,打开Postman目录右键文件夹属性,点击编辑,勾选写入拒绝,确定后更新文件就不能下载了。


不过以上方案有个缺点就是齿轮设置上有个小红点


本人有强烈的强迫症,看着红点就想点,所以就想方设法去掉,通过研究发现可以修改文件实现。下面说下修改方法,打开 Postman目录找到app-版本号\\resources\\app.asar文件

然后就是解压缩出来文件。
1.如果电脑上装有nodejs ,可以通过asar解压,未安装asar可以执行命令安装 npm install -g asar
安装完成后打开命令提示符,

执行解压命令,asar extract app.asar ./app

打包命令:asar pack ./app app.asar

2.通过asar文件查看、打包、解包工具来提取出来。https://pan.baidu.com/s/1vLxmTTZYUYnfWiz4XiXs9A(提取码:9l3e)

然后就开始修改之旅了,本人js小白,改的不好地方麻烦大佬们给指正以下。
修改文件在解压好的目录下\\js\\requester.js
本文以Postman 7.36.7为例,其他版本可能略有区别。

打开文件,找到以下位置

这段代码的大概是做了这样的一件事情,通过接口发送软件的版本请求postman地址,如果官网最新版本大于本地版本,则会返回最新的版本号和下载地址,状态码是200 。 如果软件版本号大于或者等于官网版本则会返回状态码204。
修改思路就是不用返回的状态,写死状态和版本号。

以下是我的修改:

    updateHandler() {
    // populate release notes for current version
    //this.fetchReleaseNotes();
    //this.checkForUpdates();
    this.noUpdateFound(); //添加此行
  },

  noUpdateFound: function () {
    this.downloadVersion = \'7.36.1\' // 添加此行
    this.set({
      status: \'updateNotAvailable\',
      data: null });

  },

 initialize: function () { this.set(\'isUpdateEnabled\', pm.app.get(\'isUpdateEnabled\')); // Disable if the flag is set but only if it is not a public facing channel // Used while running integration tests if (pm.env.DISABLE_UPDATES && !_.includes(PUBLIC_CHANNELS, window.RELEASE_CHANNEL)) { return; } if (!this.get(\'isUpdateEnabled\')) { pm.logger.info(\'Updater bailed! Running on Snap!\'); return; } // initialization should be idempotent if (this.get(\'initialized\')) { return; } this.set(\'initialized\', true); // migrate existing data if (pm.settings.getSetting(\'autoDownloadUpdateStatus\') === 0) { pm.settings.setSetting(\'autoDownloadUpdateStatus\', _constants_AppSettingsDefaults__WEBPACK_IMPORTED_MODULE_0__[\"default\"].autoDownload.MINOR); } this.updaterEventBus = pm.eventBus.channel(APP_UPDATE_EVENTS); //this.attachUpdaterEventsListeners();//删掉此行 //this.checkForVersionUpdate();//删掉此行 this.version = pm.app.get(\'version\'); this.appId = pm.app.get(\'installationId\'); this.userAgent = navigator.userAgent; this.platform = this.getPlatform(); this.arch = this.getArch(); this.updateServerDomain = postman_update_server_url;this.noUpdateFound();//添加此行并删除之后的 //setTimeout(() => { // navigator.onLine && this.updateHandler(); //}, 10000); // After 10 sec //setInterval(() => { // // If an update is already downloaded don\'t check for new updates // if (this.get(\'status\') === \'downloaded\') { // // Show the banner if user has not restarted app for a week // const hasCrossedNoUpdateTimeout = Date.now() - this.get(\'downloadedTimestamp\') > NO_UPDATE_BANNER_TIMEOUT, // isBannerAlreadyOpen = _.find(_controllers_Infobar__WEBPACK_IMPORTED_MODULE_11__[\"default\"].infoList, { _id: NOT_UPDATED_BANNER_ID }); // same banner is already shown, don\'t show another// // if (hasCrossedNoUpdateTimeout && !isBannerAlreadyOpen) { // _controllers_Infobar__WEBPACK_IMPORTED_MODULE_11__[\"default\"].add(NOT_UPDATED_MESG); // _controllers_Infobar__WEBPACK_IMPORTED_MODULE_11__[\"default\"].show(); // _modules_services_AnalyticsService__WEBPACK_IMPORTED_MODULE_6__[\"default\"].addEvent(\'app\', \'show_update_restart_banner\'); // }// // return; // }// // navigator.onLine && this.updateHandler(); //}, AUTO_UPDATE_TIMER); },

最后保存,需要删掉原先app.asar文件,重新把文件打包成app.asar或者直接修改目录名称为app也是可以的。

或者用工具重新打包

现在已经大功告成了,重新打开Postman 检查更新试试吧
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/haocm08/article/details/125821740