feat: ubuntu support

pull/192/head
xiaojunnuo 2021-08-14 21:03:14 -07:00
parent cc46292cd9
commit 6586b67249
7 changed files with 85 additions and 7128 deletions

7078
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -6,6 +6,5 @@
"devDependencies": { "devDependencies": {
"lerna": "^3.22.1" "lerna": "^3.22.1"
}, },
"dependencies": { "dependencies": {}
}
} }

View File

@ -40,22 +40,23 @@
"vue-router": "^3.4.8" "vue-router": "^3.4.8"
}, },
"devDependencies": { "devDependencies": {
"@vue/cli-plugin-babel": "~4.5.0",
"@vue/cli-plugin-eslint": "~4.5.0",
"@vue/cli-service": "~4.5.0",
"@vue/eslint-config-standard": "^5.1.2", "@vue/eslint-config-standard": "^5.1.2",
"babel-eslint": "^10.1.0",
"electron": "10.4.2",
"electron-devtools-installer": "^3.1.0",
"electron-icon-builder": "^1.0.2", "electron-icon-builder": "^1.0.2",
"eslint": "^6.7.2",
"eslint-plugin-import": "^2.20.2", "eslint-plugin-import": "^2.20.2",
"eslint-plugin-node": "^11.1.0", "eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^4.2.1", "eslint-plugin-promise": "^4.2.1",
"eslint-plugin-standard": "^4.0.0", "eslint-plugin-standard": "^4.0.0",
"eslint-plugin-vue": "^6.2.2",
"json5-loader": "^4.0.1", "json5-loader": "^4.0.1",
"vue-cli-plugin-electron-builder": "^2.0.0-rc.4",
"@vue/cli-plugin-babel": "~4.5.0",
"@vue/cli-plugin-eslint": "~4.5.0",
"@vue/cli-service": "~4.5.0",
"babel-eslint": "^10.1.0",
"electron": "^13.0.0",
"electron-devtools-installer": "^3.1.0",
"eslint": "^6.7.2",
"eslint-plugin-vue": "^6.2.2",
"vue-cli-plugin-electron-builder": "~2.1.1",
"vue-template-compiler": "^2.6.11" "vue-template-compiler": "^2.6.11"
}, },
"eslintConfig": { "eslintConfig": {

View File

@ -107,6 +107,7 @@ function createWindow () {
title: 'DevSidecar', title: 'DevSidecar',
webPreferences: { webPreferences: {
enableRemoteModule: true, enableRemoteModule: true,
contextIsolation: false,
// preload: path.join(__dirname, 'preload.js'), // preload: path.join(__dirname, 'preload.js'),
// Use pluginOptions.nodeIntegration, leave this alone // Use pluginOptions.nodeIntegration, leave this alone
// See nklayman.github.io/vue-cli-plugin-electron-builder/guide/security.html#node-integration for more info // See nklayman.github.io/vue-cli-plugin-electron-builder/guide/security.html#node-integration for more info

View File

@ -1509,7 +1509,7 @@
"@types/node@^14.6.2": "@types/node@^14.6.2":
version "14.17.9" version "14.17.9"
resolved "https://registry.nlark.com/@types/node/download/@types/node-14.17.9.tgz?cache=0&sync_timestamp=1628719497956&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-14.17.9.tgz#b97c057e6138adb7b720df2bd0264b03c9f504fd" resolved "https://registry.nlark.com/@types/node/download/@types/node-14.17.9.tgz#b97c057e6138adb7b720df2bd0264b03c9f504fd"
integrity sha1-uXwFfmE4rbe3IN8r0CZLA8n1BP0= integrity sha1-uXwFfmE4rbe3IN8r0CZLA8n1BP0=
"@types/normalize-package-data@^2.4.0": "@types/normalize-package-data@^2.4.0":
@ -1823,6 +1823,24 @@
optionalDependencies: optionalDependencies:
vue-loader-v16 "npm:vue-loader@^16.0.0-beta.7" vue-loader-v16 "npm:vue-loader@^16.0.0-beta.7"
"@vue/cli-shared-utils@^4.5.6":
version "4.5.13"
resolved "https://registry.nlark.com/@vue/cli-shared-utils/download/@vue/cli-shared-utils-4.5.13.tgz?cache=0&sync_timestamp=1628579241293&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40vue%2Fcli-shared-utils%2Fdownload%2F%40vue%2Fcli-shared-utils-4.5.13.tgz#acd40f31b4790f1634292bdaa5fca95dc1e0ff50"
integrity sha1-rNQPMbR5DxY0KSvapfypXcHg/1A=
dependencies:
"@hapi/joi" "^15.0.1"
chalk "^2.4.2"
execa "^1.0.0"
launch-editor "^2.2.1"
lru-cache "^5.1.1"
node-ipc "^9.1.1"
open "^6.3.0"
ora "^3.4.0"
read-pkg "^5.1.1"
request "^2.88.2"
semver "^6.1.0"
strip-ansi "^6.0.0"
"@vue/cli-shared-utils@^4.5.7": "@vue/cli-shared-utils@^4.5.7":
version "4.5.7" version "4.5.7"
resolved "https://registry.npm.taobao.org/@vue/cli-shared-utils/download/@vue/cli-shared-utils-4.5.7.tgz?cache=0&sync_timestamp=1602060136132&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcli-shared-utils%2Fdownload%2F%40vue%2Fcli-shared-utils-4.5.7.tgz" resolved "https://registry.npm.taobao.org/@vue/cli-shared-utils/download/@vue/cli-shared-utils-4.5.7.tgz?cache=0&sync_timestamp=1602060136132&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fcli-shared-utils%2Fdownload%2F%40vue%2Fcli-shared-utils-4.5.7.tgz"
@ -3876,7 +3894,7 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5:
shebang-command "^1.2.0" shebang-command "^1.2.0"
which "^1.2.9" which "^1.2.9"
cross-spawn@^7.0.0: cross-spawn@^7.0.0, cross-spawn@^7.0.3:
version "7.0.3" version "7.0.3"
resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.3.tgz" resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.3.tgz"
integrity sha1-9zqFudXUHQRVUcF34ogtSshXKKY= integrity sha1-9zqFudXUHQRVUcF34ogtSshXKKY=
@ -4651,7 +4669,7 @@ electron-updater@^4.3.5:
lodash.isequal "^4.5.0" lodash.isequal "^4.5.0"
semver "^7.3.2" semver "^7.3.2"
electron@^13.1.9: electron@^13.0.0:
version "13.1.9" version "13.1.9"
resolved "https://registry.nlark.com/electron/download/electron-13.1.9.tgz#668e2632b81e9fa21edfd32876282d3e2ff7fd76" resolved "https://registry.nlark.com/electron/download/electron-13.1.9.tgz#668e2632b81e9fa21edfd32876282d3e2ff7fd76"
integrity sha1-Zo4mMrgen6Ie39ModigtPi/3/XY= integrity sha1-Zo4mMrgen6Ie39ModigtPi/3/XY=
@ -5160,19 +5178,19 @@ execa@^3.3.0:
signal-exit "^3.0.2" signal-exit "^3.0.2"
strip-final-newline "^2.0.0" strip-final-newline "^2.0.0"
execa@^4.0.0: execa@^5.0.0:
version "4.0.3" version "5.1.1"
resolved "https://registry.npm.taobao.org/execa/download/execa-4.0.3.tgz" resolved "https://registry.nlark.com/execa/download/execa-5.1.1.tgz?cache=0&sync_timestamp=1622825396605&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fexeca%2Fdownload%2Fexeca-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
integrity sha1-CjTau61tZhAL1vLFdshmlAPzF/I= integrity sha1-+ArZy/Qpj3vR1MlVXCHpN0HEEd0=
dependencies: dependencies:
cross-spawn "^7.0.0" cross-spawn "^7.0.3"
get-stream "^5.0.0" get-stream "^6.0.0"
human-signals "^1.1.1" human-signals "^2.1.0"
is-stream "^2.0.0" is-stream "^2.0.0"
merge-stream "^2.0.0" merge-stream "^2.0.0"
npm-run-path "^4.0.0" npm-run-path "^4.0.1"
onetime "^5.1.0" onetime "^5.1.2"
signal-exit "^3.0.2" signal-exit "^3.0.3"
strip-final-newline "^2.0.0" strip-final-newline "^2.0.0"
exif-parser@^0.1.12: exif-parser@^0.1.12:
@ -5752,6 +5770,11 @@ get-stream@^5.0.0, get-stream@^5.1.0:
dependencies: dependencies:
pump "^3.0.0" pump "^3.0.0"
get-stream@^6.0.0:
version "6.0.1"
resolved "https://registry.npm.taobao.org/get-stream/download/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
integrity sha1-omLY7vZ6ztV8KFKtYWdSakPL97c=
get-value@^2.0.3, get-value@^2.0.6: get-value@^2.0.3, get-value@^2.0.6:
version "2.0.6" version "2.0.6"
resolved "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz" resolved "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz"
@ -6252,6 +6275,11 @@ human-signals@^1.1.1:
resolved "https://registry.npm.taobao.org/human-signals/download/human-signals-1.1.1.tgz" resolved "https://registry.npm.taobao.org/human-signals/download/human-signals-1.1.1.tgz"
integrity sha1-xbHNFPUK6uCatsWf5jujOV/k36M= integrity sha1-xbHNFPUK6uCatsWf5jujOV/k36M=
human-signals@^2.1.0:
version "2.1.0"
resolved "https://registry.nlark.com/human-signals/download/human-signals-2.1.0.tgz?cache=0&sync_timestamp=1624364695595&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhuman-signals%2Fdownload%2Fhuman-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
integrity sha1-3JH8ukLk0G5Kuu0zs+ejwC9RTqA=
icon-gen@^2.0.0: icon-gen@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.npmjs.org/icon-gen/-/icon-gen-2.0.0.tgz" resolved "https://registry.npmjs.org/icon-gen/-/icon-gen-2.0.0.tgz"
@ -8028,7 +8056,7 @@ npm-run-path@^2.0.0:
dependencies: dependencies:
path-key "^2.0.0" path-key "^2.0.0"
npm-run-path@^4.0.0: npm-run-path@^4.0.0, npm-run-path@^4.0.1:
version "4.0.1" version "4.0.1"
resolved "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-4.0.1.tgz" resolved "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-4.0.1.tgz"
integrity sha1-t+zR5e1T2o43pV4cImnguX7XSOo= integrity sha1-t+zR5e1T2o43pV4cImnguX7XSOo=
@ -8179,7 +8207,7 @@ onetime@^2.0.0:
dependencies: dependencies:
mimic-fn "^1.0.0" mimic-fn "^1.0.0"
onetime@^5.1.0: onetime@^5.1.0, onetime@^5.1.2:
version "5.1.2" version "5.1.2"
resolved "https://registry.npm.taobao.org/onetime/download/onetime-5.1.2.tgz?cache=0&sync_timestamp=1597005345612&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fonetime%2Fdownload%2Fonetime-5.1.2.tgz" resolved "https://registry.npm.taobao.org/onetime/download/onetime-5.1.2.tgz?cache=0&sync_timestamp=1597005345612&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fonetime%2Fdownload%2Fonetime-5.1.2.tgz"
integrity sha1-0Oluu1awdHbfHdnEgG5SN5hcpF4= integrity sha1-0Oluu1awdHbfHdnEgG5SN5hcpF4=
@ -10001,7 +10029,7 @@ shortid@^2.2.14:
dependencies: dependencies:
nanoid "^2.1.0" nanoid "^2.1.0"
signal-exit@^3.0.0, signal-exit@^3.0.2: signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3:
version "3.0.3" version "3.0.3"
resolved "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.3.tgz" resolved "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.3.tgz"
integrity sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw= integrity sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw=
@ -11267,14 +11295,15 @@ vm-browserify@^1.0.1:
resolved "https://registry.npm.taobao.org/vm-browserify/download/vm-browserify-1.1.2.tgz?cache=0&sync_timestamp=1589682787766&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvm-browserify%2Fdownload%2Fvm-browserify-1.1.2.tgz" resolved "https://registry.npm.taobao.org/vm-browserify/download/vm-browserify-1.1.2.tgz?cache=0&sync_timestamp=1589682787766&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvm-browserify%2Fdownload%2Fvm-browserify-1.1.2.tgz"
integrity sha1-eGQcSIuObKkadfUR56OzKobl3aA= integrity sha1-eGQcSIuObKkadfUR56OzKobl3aA=
vue-cli-plugin-electron-builder@^2.0.0-rc.4: vue-cli-plugin-electron-builder@~2.1.1:
version "2.0.0-rc.4" version "2.1.1"
resolved "https://registry.npm.taobao.org/vue-cli-plugin-electron-builder/download/vue-cli-plugin-electron-builder-2.0.0-rc.4.tgz" resolved "https://registry.nlark.com/vue-cli-plugin-electron-builder/download/vue-cli-plugin-electron-builder-2.1.1.tgz#de8bed25b32e73e28dd08061dd2a3c6bfff73227"
integrity sha1-yBknngD+Z3GRL18EaO4m8nl1Cls= integrity sha1-3ovtJbMuc+KN0IBh3So8a//3Mic=
dependencies: dependencies:
"@vue/cli-shared-utils" "^4.5.6"
chokidar "^3.0.2" chokidar "^3.0.2"
electron-builder "^22.2.0" electron-builder "^22.2.0"
execa "^4.0.0" execa "^5.0.0"
friendly-errors-webpack-plugin "^1.7.0" friendly-errors-webpack-plugin "^1.7.0"
fs-extra "^9.0.1" fs-extra "^9.0.1"
lodash.merge "^4.6.1" lodash.merge "^4.6.1"

View File

@ -54,7 +54,6 @@ function connect (req, cltSocket, head, hostname, port, dnsConfig, sniRegexpMap)
const start = new Date().getTime() const start = new Date().getTime()
let isDnsIntercept = null let isDnsIntercept = null
const replaceSni = matchUtil.matchHostname(sniRegexpMap, hostname) const replaceSni = matchUtil.matchHostname(sniRegexpMap, hostname)
console.log('replaceSni', replaceSni, sniRegexpMap)
try { try {
const options = { const options = {
port, port,

View File

@ -1,33 +1,25 @@
Arguments: Arguments:
/usr/local/bin/node /usr/local/bin/yarn install /usr/bin/node /usr/local/bin/yarn install
PATH: PATH:
/usr/local/lib/ruby/gems/3.0.0/bin:/usr/local/opt/ruby/bin:/usr/local/opt/openssl@1.1/bin:/usr/local/sbin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/Users/daiboning/.npm-global/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/Users/daiboning/Desktop/codes/dev-sidecar/node_modules/.bin /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Yarn version: Yarn version:
1.22.10 1.22.11
Node version: Node version:
14.15.4 14.17.5
Platform: Platform:
darwin x64 linux x64
Trace: Trace:
Error: https://registry.npm.taobao.org/string.prototype.trimend/download/string.prototype.trimend-1.0.2.tgz?cache=0&sync_timestamp=1603219618123&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimend%2Fdownload%2Fstring.prototype.trimend-1.0.2.tgz: tunneling socket could not be established, cause=connect ECONNREFUSED 127.0.0.1:1181 Error: ENOENT: no such file or directory, copyfile '/home/xiaojunnuo/.cache/yarn/v6/npm-webpack-4.44.2-6bfe2b0af055c8b2d1e90ed2cd9363f841266b72-integrity/node_modules/webpack/declarations/plugins/BannerPlugin.d.ts' -> '/home/xiaojunnuo/Codes/dev-sidecar/packages/mitmproxy/node_modules/webpack/declarations/plugins/BannerPlugin.d.ts'
at ClientRequest.onError (/usr/local/lib/node_modules/yarn/lib/cli.js:152235:17)
at Object.onceWrapper (events.js:422:26)
at ClientRequest.emit (events.js:315:20)
at Socket.socketErrorListener (_http_client.js:469:9)
at Socket.emit (events.js:315:20)
at emitErrorNT (internal/streams/destroy.js:106:8)
at emitErrorCloseNT (internal/streams/destroy.js:74:3)
at processTicksAndRejections (internal/process/task_queues.js:80:21)
npm manifest: npm manifest:
{ {
"name": "@docmirror/mitmproxy", "name": "@docmirror/mitmproxy",
"version": "1.4.0", "version": "1.5.1",
"description": "", "description": "",
"main": "src/index.js", "main": "src/index.js",
"keywords": [ "keywords": [
@ -56,6 +48,7 @@ npm manifest:
"node-cmd": "^3.0.0", "node-cmd": "^3.0.0",
"node-forge": "^0.8.2", "node-forge": "^0.8.2",
"require-context": "^1.1.0", "require-context": "^1.1.0",
"stream-throttle": "^0.1.3",
"through2": "^2.0.1", "through2": "^2.0.1",
"tunnel-agent": "^0.4.3", "tunnel-agent": "^0.4.3",
"util": "^0.12.3", "util": "^0.12.3",
@ -92,7 +85,7 @@ npm manifest:
"last 2 versions", "last 2 versions",
"not dead" "not dead"
], ],
"gitHead": "660c77e4279c1499f771270941526614f927bdf1" "gitHead": "3566cd6d33cbe782d91e408d6f174dd826b2790f"
} }
yarn manifest: yarn manifest:
@ -2104,7 +2097,7 @@ Lockfile:
dependencies: dependencies:
delayed-stream "~1.0.0" delayed-stream "~1.0.0"
commander@^2.20.0, commander@^2.9.0: commander@^2.2.0, commander@^2.20.0, commander@^2.9.0:
version "2.20.3" version "2.20.3"
resolved "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1603599636161&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" resolved "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1603599636161&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
integrity sha1-/UhehMA+tIgcIHIrpIA16FMa6zM= integrity sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=
@ -3898,6 +3891,11 @@ Lockfile:
prelude-ls "~1.1.2" prelude-ls "~1.1.2"
type-check "~0.3.2" type-check "~0.3.2"
limiter@^1.0.5:
version "1.1.5"
resolved "https://registry.npm.taobao.org/limiter/download/limiter-1.1.5.tgz#8f92a25b3b16c6131293a0cc834b4a838a2aa7c2"
integrity sha1-j5KiWzsWxhMSk6DMg0tKg4oqp8I=
lines-and-columns@^1.1.6: lines-and-columns@^1.1.6:
version "1.1.6" version "1.1.6"
resolved "https://registry.npm.taobao.org/lines-and-columns/download/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" resolved "https://registry.npm.taobao.org/lines-and-columns/download/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
@ -5387,6 +5385,14 @@ Lockfile:
resolved "https://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" resolved "https://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d"
integrity sha1-1wiCgVWasneEJCebCHfaPDktWj0= integrity sha1-1wiCgVWasneEJCebCHfaPDktWj0=
stream-throttle@^0.1.3:
version "0.1.3"
resolved "https://registry.npm.taobao.org/stream-throttle/download/stream-throttle-0.1.3.tgz#add57c8d7cc73a81630d31cd55d3961cfafba9c3"
integrity sha1-rdV8jXzHOoFjDTHNVdOWHPr7qcM=
dependencies:
commander "^2.2.0"
limiter "^1.0.5"
streamroller@^2.2.4: streamroller@^2.2.4:
version "2.2.4" version "2.2.4"
resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-2.2.4.tgz#c198ced42db94086a6193608187ce80a5f2b0e53" resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-2.2.4.tgz#c198ced42db94086a6193608187ce80a5f2b0e53"