Browse Source
# Conflicts: # .github/workflows/build-and-release.yml # .github/workflows/test-and-upload.ymlbuild-arm64
王良
3 days ago
178 changed files with 3748 additions and 3249 deletions
@ -1,9 +1,9 @@
|
||||
### Ⅰ. 描述此PR的作用: |
||||
|
||||
|
||||
### Ⅱ. 此PR修复了哪个issue吗? |
||||
<!-- 如果是的话, 请在下一行写上 "fixes #xxx",比如:fixes #97 --> |
||||
|
||||
<!-- 如果是的话,请在下一行写上 "fixes #xxx",比如:fixes #97 --> |
||||
|
||||
### Ⅲ. 界面变化截屏 |
||||
|
||||
<!-- 如果存在界面上的变化,请截屏展示出来 --> |
||||
|
@ -0,0 +1,90 @@
|
||||
name: npm run electron |
||||
|
||||
on: |
||||
push: |
||||
branches: |
||||
- run |
||||
|
||||
jobs: |
||||
npm-run-electron: |
||||
runs-on: ${{ matrix.os }}-latest |
||||
strategy: |
||||
fail-fast: false |
||||
matrix: |
||||
os: |
||||
- windows |
||||
- ubuntu |
||||
- macos |
||||
node: |
||||
- 22 |
||||
steps: |
||||
- name: Checkout |
||||
uses: actions/checkout@v4.1.7 |
||||
|
||||
- name: 'Setup Node.js "${{ matrix.node }}.x" environment' |
||||
uses: actions/setup-node@v4 |
||||
with: |
||||
node-version: ${{ matrix.node }} |
||||
registry-url: https://npm.pkg.github.com/ |
||||
|
||||
- name: Setup pnpm |
||||
uses: pnpm/action-setup@v4 |
||||
|
||||
- name: Setup Python environment (Mac) Because of electron-builder install-app-deps requires Python setup tools |
||||
if: matrix.os == 'macos' |
||||
uses: actions/setup-python@v5 |
||||
with: |
||||
python-version: '3.10' |
||||
|
||||
- name: Get package info |
||||
id: package-info |
||||
uses: luizfelipelaviola/get-package-info@v1 |
||||
with: |
||||
path: ./packages/mitmproxy |
||||
|
||||
- name: Print |
||||
run: | |
||||
echo "version = ${{ steps.package-info.outputs.version }}"; |
||||
echo "github.ref_type = ${{ github.ref_type }}"; |
||||
echo "github.ref = ${{ github.ref }}"; |
||||
echo "github.ref_name = ${{ github.ref_name }}"; |
||||
|
||||
- name: 'npm -v | pnpm -v | python --version' |
||||
run: | |
||||
echo "======================================================================"; |
||||
echo "npm -v"; |
||||
echo "--------------------"; |
||||
npm -v; |
||||
|
||||
echo "======================================================================"; |
||||
echo "pnpm -v"; |
||||
echo "--------------------"; |
||||
pnpm -v; |
||||
|
||||
echo "======================================================================"; |
||||
echo "python --version"; |
||||
echo "--------------------"; |
||||
python --version; |
||||
|
||||
- name: pnpm install |
||||
run: | |
||||
echo "======================================================================"; |
||||
dir || ls -lah; |
||||
|
||||
echo "======================================================================"; |
||||
echo "pnpm install"; |
||||
echo "--------------------"; |
||||
pnpm install; |
||||
|
||||
- name: 'npm run electron' |
||||
run: | |
||||
echo "======================================================================"; |
||||
echo "cd packages/gui"; |
||||
echo "--------------------"; |
||||
cd packages/gui; |
||||
dir || ls -lah; |
||||
|
||||
echo "======================================================================"; |
||||
echo "npm run electron"; |
||||
echo "--------------------"; |
||||
npm run electron; |
@ -1,11 +1,21 @@
|
||||
# IntelliJ project files |
||||
.idea |
||||
*.iml |
||||
out |
||||
gen |
||||
|
||||
# vscode settings files |
||||
.vscode |
||||
|
||||
# Mac |
||||
.DS_Store |
||||
|
||||
# Node files |
||||
node_modules/ |
||||
*.lock |
||||
*.log |
||||
pnpm-lock.yaml |
||||
package-lock.json |
||||
|
||||
# Other files |
||||
out |
||||
gen |
||||
*.log |
||||
*.lnk |
@ -1,7 +0,0 @@
|
||||
cd ../ |
||||
|
||||
node -v |
||||
|
||||
npm install -g cnpm --registry=https://registry.npmmirror.com |
||||
|
||||
cnpm install -g lerna@6 |
@ -0,0 +1,5 @@
|
||||
cd ../ |
||||
|
||||
node -v |
||||
|
||||
npm install -g pnpm --registry=https://registry.npmmirror.com |
@ -1,16 +1,18 @@
|
||||
# 其他程序使用 |
||||
|
||||
## Java程序使用 |
||||
> 由[Enaium](https://github.com/Enaium) 提供,未做验证,可供参考 |
||||
> |
||||
需要先通过keytool安装证书 |
||||
`keytool -import -alias dev-sidecar -keystore "jdk路径\security\cacerts" -file 用户目录\.dev-sidecar\dev-sidecar.ca.crt`默认密码为`changeit` |
||||
启动时还需要设置参数 |
||||
`-Dhttp.proxyHost=localhost -Dhttp.proxyPort=31181 -Dhttps.proxyHost=localhost -Dhttps.proxyPort=31181` |
||||
Gradle还需在`用户目录/.gradle/gradle.properties`创建配置文件 |
||||
|
||||
> 由 [Enaium](https://github.com/Enaium) 提供,未做验证,可供参考 |
||||
> |
||||
> 需要先通过keytool安装证书 |
||||
> `keytool -import -alias dev-sidecar -keystore "jdk路径\security\cacerts" -file 用户目录\.dev-sidecar\dev-sidecar.ca.crt`默认密码为`changeit` |
||||
> 启动时还需要设置参数 |
||||
> `-Dhttp.proxyHost=localhost -Dhttp.proxyPort=31181 -Dhttps.proxyHost=localhost -Dhttps.proxyPort=31181` |
||||
> Gradle还需在`用户目录/.gradle/gradle.properties`创建配置文件 |
||||
|
||||
```properties |
||||
systemProp.http.proxyHost=localhost |
||||
systemProp.http.proxyPort=31181 |
||||
systemProp.https.proxyHost=localhost |
||||
systemProp.https.proxyPort=31181 |
||||
``` |
||||
``` |
||||
|
@ -1,21 +1,26 @@
|
||||
# 卸载与恢复网络 |
||||
|
||||
由于应用启动后会自动设置系统代理,正常退出时会关闭系统代理。 |
||||
当应用意外关闭,或者未正常退出后被卸载,此时会因为系统代理没有恢复从而导致完全上不了网。 |
||||
目前electron在windows系统上无法监听系统重启事件。更多相关资料 [electron issues](https://github.com/electron/electron/pull/24261) |
||||
当应用意外关闭,或者未正常退出后被卸载,此时会因为系统代理没有恢复从而导致完全上不了网。 |
||||
目前electron在windows系统上无法监听系统重启事件。更多相关资料 [electron issues](https://github.com/electron/electron/pull/24261) |
||||
|
||||
## 恢复代理设置 |
||||
|
||||
### 1、windows 代理关闭 |
||||
|
||||
如何打开查看windows代理设置: |
||||
* win10: 开始->设置->网络和Internet->最下方代理 |
||||
* win7: 开始->控制面板->网络和Internet->网络和共享中心->左下角Internet选项->连接选项卡->局域网设置 |
||||
|
||||
|
||||
- win10: 开始->设置->网络和Internet->最下方代理 |
||||
- win7: 开始->控制面板->网络和Internet->网络和共享中心->左下角Internet选项->连接选项卡->局域网设置 |
||||
|
||||
![windows](./proxy.png) |
||||
|
||||
### 2、mac 代理关闭 |
||||
|
||||
网络->网卡->代理->去掉http和https的两个勾 |
||||
|
||||
![](./mac-proxy.png) |
||||
|
||||
|
||||
### 3、Linux(Ubuntu) |
||||
|
||||
网络->代理->选择禁用 |
||||
|
@ -0,0 +1,28 @@
|
||||
import antfu from '@antfu/eslint-config' |
||||
|
||||
export default antfu( |
||||
{ |
||||
vue: { |
||||
vueVersion: 2, |
||||
}, |
||||
rules: { |
||||
'style/brace-style': ['error', '1tbs'], |
||||
'style/space-before-function-paren': ['error', 'always'], |
||||
'import/newline-after-import': 'off', |
||||
'import/first': 'off', |
||||
'perfectionist/sort-imports': 'off', |
||||
'node/prefer-global/buffer': 'off', |
||||
'node/prefer-global/process': 'off', |
||||
'no-console': 'off', |
||||
}, |
||||
ignores: [ |
||||
'**/build/*', |
||||
'**/dist_electron', |
||||
], |
||||
formatters: { |
||||
css: true, |
||||
html: true, |
||||
markdown: 'prettier', |
||||
}, |
||||
}, |
||||
) |
@ -1,18 +0,0 @@
|
||||
{ |
||||
"packages": [ |
||||
"packages/*" |
||||
], |
||||
"command": { |
||||
"publish": { |
||||
"ignoreChanges": [ |
||||
"*.md", |
||||
"config", |
||||
"doc" |
||||
] |
||||
}, |
||||
"bootstrap": { |
||||
"ignore": [] |
||||
} |
||||
}, |
||||
"version": "1.8.9" |
||||
} |
@ -1,11 +1,17 @@
|
||||
{ |
||||
"name": "dev-sidecar-parent", |
||||
"type": "module", |
||||
"private": false, |
||||
"license": "MPL-2.0", |
||||
"packageManager": "pnpm@9.13.2", |
||||
"author": "Greper", |
||||
"devDependencies": { |
||||
"lerna": "^6.6.2" |
||||
"license": "MPL-2.0", |
||||
"scripts": { |
||||
"lint": "eslint .", |
||||
"lint:fix": "eslint . --fix" |
||||
}, |
||||
"dependencies": { |
||||
"devDependencies": { |
||||
"@antfu/eslint-config": "^3.9.1", |
||||
"eslint": "^9.15.0", |
||||
"eslint-plugin-format": "^0.1.2" |
||||
} |
||||
} |
||||
|
@ -0,0 +1,373 @@
|
||||
Mozilla Public License Version 2.0 |
||||
================================== |
||||
|
||||
1. Definitions |
||||
-------------- |
||||
|
||||
1.1. "Contributor" |
||||
means each individual or legal entity that creates, contributes to |
||||
the creation of, or owns Covered Software. |
||||
|
||||
1.2. "Contributor Version" |
||||
means the combination of the Contributions of others (if any) used |
||||
by a Contributor and that particular Contributor's Contribution. |
||||
|
||||
1.3. "Contribution" |
||||
means Covered Software of a particular Contributor. |
||||
|
||||
1.4. "Covered Software" |
||||
means Source Code Form to which the initial Contributor has attached |
||||
the notice in Exhibit A, the Executable Form of such Source Code |
||||
Form, and Modifications of such Source Code Form, in each case |
||||
including portions thereof. |
||||
|
||||
1.5. "Incompatible With Secondary Licenses" |
||||
means |
||||
|
||||
(a) that the initial Contributor has attached the notice described |
||||
in Exhibit B to the Covered Software; or |
||||
|
||||
(b) that the Covered Software was made available under the terms of |
||||
version 1.1 or earlier of the License, but not also under the |
||||
terms of a Secondary License. |
||||
|
||||
1.6. "Executable Form" |
||||
means any form of the work other than Source Code Form. |
||||
|
||||
1.7. "Larger Work" |
||||
means a work that combines Covered Software with other material, in |
||||
a separate file or files, that is not Covered Software. |
||||
|
||||
1.8. "License" |
||||
means this document. |
||||
|
||||
1.9. "Licensable" |
||||
means having the right to grant, to the maximum extent possible, |
||||
whether at the time of the initial grant or subsequently, any and |
||||
all of the rights conveyed by this License. |
||||
|
||||
1.10. "Modifications" |
||||
means any of the following: |
||||
|
||||
(a) any file in Source Code Form that results from an addition to, |
||||
deletion from, or modification of the contents of Covered |
||||
Software; or |
||||
|
||||
(b) any new file in Source Code Form that contains any Covered |
||||
Software. |
||||
|
||||
1.11. "Patent Claims" of a Contributor |
||||
means any patent claim(s), including without limitation, method, |
||||
process, and apparatus claims, in any patent Licensable by such |
||||
Contributor that would be infringed, but for the grant of the |
||||
License, by the making, using, selling, offering for sale, having |
||||
made, import, or transfer of either its Contributions or its |
||||
Contributor Version. |
||||
|
||||
1.12. "Secondary License" |
||||
means either the GNU General Public License, Version 2.0, the GNU |
||||
Lesser General Public License, Version 2.1, the GNU Affero General |
||||
Public License, Version 3.0, or any later versions of those |
||||
licenses. |
||||
|
||||
1.13. "Source Code Form" |
||||
means the form of the work preferred for making modifications. |
||||
|
||||
1.14. "You" (or "Your") |
||||
means an individual or a legal entity exercising rights under this |
||||
License. For legal entities, "You" includes any entity that |
||||
controls, is controlled by, or is under common control with You. For |
||||
purposes of this definition, "control" means (a) the power, direct |
||||
or indirect, to cause the direction or management of such entity, |
||||
whether by contract or otherwise, or (b) ownership of more than |
||||
fifty percent (50%) of the outstanding shares or beneficial |
||||
ownership of such entity. |
||||
|
||||
2. License Grants and Conditions |
||||
-------------------------------- |
||||
|
||||
2.1. Grants |
||||
|
||||
Each Contributor hereby grants You a world-wide, royalty-free, |
||||
non-exclusive license: |
||||
|
||||
(a) under intellectual property rights (other than patent or trademark) |
||||
Licensable by such Contributor to use, reproduce, make available, |
||||
modify, display, perform, distribute, and otherwise exploit its |
||||
Contributions, either on an unmodified basis, with Modifications, or |
||||
as part of a Larger Work; and |
||||
|
||||
(b) under Patent Claims of such Contributor to make, use, sell, offer |
||||
for sale, have made, import, and otherwise transfer either its |
||||
Contributions or its Contributor Version. |
||||
|
||||
2.2. Effective Date |
||||
|
||||
The licenses granted in Section 2.1 with respect to any Contribution |
||||
become effective for each Contribution on the date the Contributor first |
||||
distributes such Contribution. |
||||
|
||||
2.3. Limitations on Grant Scope |
||||
|
||||
The licenses granted in this Section 2 are the only rights granted under |
||||
this License. No additional rights or licenses will be implied from the |
||||
distribution or licensing of Covered Software under this License. |
||||
Notwithstanding Section 2.1(b) above, no patent license is granted by a |
||||
Contributor: |
||||
|
||||
(a) for any code that a Contributor has removed from Covered Software; |
||||
or |
||||
|
||||
(b) for infringements caused by: (i) Your and any other third party's |
||||
modifications of Covered Software, or (ii) the combination of its |
||||
Contributions with other software (except as part of its Contributor |
||||
Version); or |
||||
|
||||
(c) under Patent Claims infringed by Covered Software in the absence of |
||||
its Contributions. |
||||
|
||||
This License does not grant any rights in the trademarks, service marks, |
||||
or logos of any Contributor (except as may be necessary to comply with |
||||
the notice requirements in Section 3.4). |
||||
|
||||
2.4. Subsequent Licenses |
||||
|
||||
No Contributor makes additional grants as a result of Your choice to |
||||
distribute the Covered Software under a subsequent version of this |
||||
License (see Section 10.2) or under the terms of a Secondary License (if |
||||
permitted under the terms of Section 3.3). |
||||
|
||||
2.5. Representation |
||||
|
||||
Each Contributor represents that the Contributor believes its |
||||
Contributions are its original creation(s) or it has sufficient rights |
||||
to grant the rights to its Contributions conveyed by this License. |
||||
|
||||
2.6. Fair Use |
||||
|
||||
This License is not intended to limit any rights You have under |
||||
applicable copyright doctrines of fair use, fair dealing, or other |
||||
equivalents. |
||||
|
||||
2.7. Conditions |
||||
|
||||
Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted |
||||
in Section 2.1. |
||||
|
||||
3. Responsibilities |
||||
------------------- |
||||
|
||||
3.1. Distribution of Source Form |
||||
|
||||
All distribution of Covered Software in Source Code Form, including any |
||||
Modifications that You create or to which You contribute, must be under |
||||
the terms of this License. You must inform recipients that the Source |
||||
Code Form of the Covered Software is governed by the terms of this |
||||
License, and how they can obtain a copy of this License. You may not |
||||
attempt to alter or restrict the recipients' rights in the Source Code |
||||
Form. |
||||
|
||||
3.2. Distribution of Executable Form |
||||
|
||||
If You distribute Covered Software in Executable Form then: |
||||
|
||||
(a) such Covered Software must also be made available in Source Code |
||||
Form, as described in Section 3.1, and You must inform recipients of |
||||
the Executable Form how they can obtain a copy of such Source Code |
||||
Form by reasonable means in a timely manner, at a charge no more |
||||
than the cost of distribution to the recipient; and |
||||
|
||||
(b) You may distribute such Executable Form under the terms of this |
||||
License, or sublicense it under different terms, provided that the |
||||
license for the Executable Form does not attempt to limit or alter |
||||
the recipients' rights in the Source Code Form under this License. |
||||
|
||||
3.3. Distribution of a Larger Work |
||||
|
||||
You may create and distribute a Larger Work under terms of Your choice, |
||||
provided that You also comply with the requirements of this License for |
||||
the Covered Software. If the Larger Work is a combination of Covered |
||||
Software with a work governed by one or more Secondary Licenses, and the |
||||
Covered Software is not Incompatible With Secondary Licenses, this |
||||
License permits You to additionally distribute such Covered Software |
||||
under the terms of such Secondary License(s), so that the recipient of |
||||
the Larger Work may, at their option, further distribute the Covered |
||||
Software under the terms of either this License or such Secondary |
||||
License(s). |
||||
|
||||
3.4. Notices |
||||
|
||||
You may not remove or alter the substance of any license notices |
||||
(including copyright notices, patent notices, disclaimers of warranty, |
||||
or limitations of liability) contained within the Source Code Form of |
||||
the Covered Software, except that You may alter any license notices to |
||||
the extent required to remedy known factual inaccuracies. |
||||
|
||||
3.5. Application of Additional Terms |
||||
|
||||
You may choose to offer, and to charge a fee for, warranty, support, |
||||
indemnity or liability obligations to one or more recipients of Covered |
||||
Software. However, You may do so only on Your own behalf, and not on |
||||
behalf of any Contributor. You must make it absolutely clear that any |
||||
such warranty, support, indemnity, or liability obligation is offered by |
||||
You alone, and You hereby agree to indemnify every Contributor for any |
||||
liability incurred by such Contributor as a result of warranty, support, |
||||
indemnity or liability terms You offer. You may include additional |
||||
disclaimers of warranty and limitations of liability specific to any |
||||
jurisdiction. |
||||
|
||||
4. Inability to Comply Due to Statute or Regulation |
||||
--------------------------------------------------- |
||||
|
||||
If it is impossible for You to comply with any of the terms of this |
||||
License with respect to some or all of the Covered Software due to |
||||
statute, judicial order, or regulation then You must: (a) comply with |
||||
the terms of this License to the maximum extent possible; and (b) |
||||
describe the limitations and the code they affect. Such description must |
||||
be placed in a text file included with all distributions of the Covered |
||||
Software under this License. Except to the extent prohibited by statute |
||||
or regulation, such description must be sufficiently detailed for a |
||||
recipient of ordinary skill to be able to understand it. |
||||
|
||||
5. Termination |
||||
-------------- |
||||
|
||||
5.1. The rights granted under this License will terminate automatically |
||||
if You fail to comply with any of its terms. However, if You become |
||||
compliant, then the rights granted under this License from a particular |
||||
Contributor are reinstated (a) provisionally, unless and until such |
||||
Contributor explicitly and finally terminates Your grants, and (b) on an |
||||
ongoing basis, if such Contributor fails to notify You of the |
||||
non-compliance by some reasonable means prior to 60 days after You have |
||||
come back into compliance. Moreover, Your grants from a particular |
||||
Contributor are reinstated on an ongoing basis if such Contributor |
||||
notifies You of the non-compliance by some reasonable means, this is the |
||||
first time You have received notice of non-compliance with this License |
||||
from such Contributor, and You become compliant prior to 30 days after |
||||
Your receipt of the notice. |
||||
|
||||
5.2. If You initiate litigation against any entity by asserting a patent |
||||
infringement claim (excluding declaratory judgment actions, |
||||
counter-claims, and cross-claims) alleging that a Contributor Version |
||||
directly or indirectly infringes any patent, then the rights granted to |
||||
You by any and all Contributors for the Covered Software under Section |
||||
2.1 of this License shall terminate. |
||||
|
||||
5.3. In the event of termination under Sections 5.1 or 5.2 above, all |
||||
end user license agreements (excluding distributors and resellers) which |
||||
have been validly granted by You or Your distributors under this License |
||||
prior to termination shall survive termination. |
||||
|
||||
************************************************************************ |
||||
* * |
||||
* 6. Disclaimer of Warranty * |
||||
* ------------------------- * |
||||
* * |
||||
* Covered Software is provided under this License on an "as is" * |
||||
* basis, without warranty of any kind, either expressed, implied, or * |
||||
* statutory, including, without limitation, warranties that the * |
||||
* Covered Software is free of defects, merchantable, fit for a * |
||||
* particular purpose or non-infringing. The entire risk as to the * |
||||
* quality and performance of the Covered Software is with You. * |
||||
* Should any Covered Software prove defective in any respect, You * |
||||
* (not any Contributor) assume the cost of any necessary servicing, * |
||||
* repair, or correction. This disclaimer of warranty constitutes an * |
||||
* essential part of this License. No use of any Covered Software is * |
||||
* authorized under this License except under this disclaimer. * |
||||
* * |
||||
************************************************************************ |
||||
|
||||
************************************************************************ |
||||
* * |
||||
* 7. Limitation of Liability * |
||||
* -------------------------- * |
||||
* * |
||||
* Under no circumstances and under no legal theory, whether tort * |
||||
* (including negligence), contract, or otherwise, shall any * |
||||
* Contributor, or anyone who distributes Covered Software as * |
||||
* permitted above, be liable to You for any direct, indirect, * |
||||
* special, incidental, or consequential damages of any character * |
||||
* including, without limitation, damages for lost profits, loss of * |
||||
* goodwill, work stoppage, computer failure or malfunction, or any * |
||||
* and all other commercial damages or losses, even if such party * |
||||
* shall have been informed of the possibility of such damages. This * |
||||
* limitation of liability shall not apply to liability for death or * |
||||
* personal injury resulting from such party's negligence to the * |
||||
* extent applicable law prohibits such limitation. Some * |
||||
* jurisdictions do not allow the exclusion or limitation of * |
||||
* incidental or consequential damages, so this exclusion and * |
||||
* limitation may not apply to You. * |
||||
* * |
||||
************************************************************************ |
||||
|
||||
8. Litigation |
||||
------------- |
||||
|
||||
Any litigation relating to this License may be brought only in the |
||||
courts of a jurisdiction where the defendant maintains its principal |
||||
place of business and such litigation shall be governed by laws of that |
||||
jurisdiction, without reference to its conflict-of-law provisions. |
||||
Nothing in this Section shall prevent a party's ability to bring |
||||
cross-claims or counter-claims. |
||||
|
||||
9. Miscellaneous |
||||
---------------- |
||||
|
||||
This License represents the complete agreement concerning the subject |
||||
matter hereof. If any provision of this License is held to be |
||||
unenforceable, such provision shall be reformed only to the extent |
||||
necessary to make it enforceable. Any law or regulation which provides |
||||
that the language of a contract shall be construed against the drafter |
||||
shall not be used to construe this License against a Contributor. |
||||
|
||||
10. Versions of the License |
||||
--------------------------- |
||||
|
||||
10.1. New Versions |
||||
|
||||
Mozilla Foundation is the license steward. Except as provided in Section |
||||
10.3, no one other than the license steward has the right to modify or |
||||
publish new versions of this License. Each version will be given a |
||||
distinguishing version number. |
||||
|
||||
10.2. Effect of New Versions |
||||
|
||||
You may distribute the Covered Software under the terms of the version |
||||
of the License under which You originally received the Covered Software, |
||||
or under the terms of any subsequent version published by the license |
||||
steward. |
||||
|
||||
10.3. Modified Versions |
||||
|
||||
If you create software not governed by this License, and you want to |
||||
create a new license for such software, you may create and use a |
||||
modified version of this License if you rename the license and remove |
||||
any references to the name of the license steward (except to note that |
||||
such modified license differs from this License). |
||||
|
||||
10.4. Distributing Source Code Form that is Incompatible With Secondary |
||||
Licenses |
||||
|
||||
If You choose to distribute Source Code Form that is Incompatible With |
||||
Secondary Licenses under the terms of this version of the License, the |
||||
notice described in Exhibit B of this License must be attached. |
||||
|
||||
Exhibit A - Source Code Form License Notice |
||||
------------------------------------------- |
||||
|
||||
This Source Code Form is subject to the terms of the Mozilla Public |
||||
License, v. 2.0. If a copy of the MPL was not distributed with this |
||||
file, You can obtain one at http://mozilla.org/MPL/2.0/. |
||||
|
||||
If it is not possible or desirable to put the notice in a particular |
||||
file, then You may include the notice in a location (such as a LICENSE |
||||
file in a relevant directory) where a recipient would be likely to look |
||||
for such a notice. |
||||
|
||||
You may add additional accurate notices of copyright ownership. |
||||
|
||||
Exhibit B - "Incompatible With Secondary Licenses" Notice |
||||
--------------------------------------------------------- |
||||
|
||||
This Source Code Form is "Incompatible With Secondary Licenses", as |
||||
defined by the Mozilla Public License, v. 2.0. |
@ -0,0 +1,23 @@
|
||||
{ |
||||
"name": "@docmirror/dev-sidecar-cli", |
||||
"version": "1.8.9", |
||||
"private": false, |
||||
"description": "给开发者的加速代理工具", |
||||
"author": "docmirror.cn", |
||||
"license": "MPL-2.0", |
||||
"keywords": [ |
||||
"dev-sidecar", |
||||
"github加速", |
||||
"google加速", |
||||
"代理" |
||||
], |
||||
"main": "src/index.js", |
||||
"bin": "./cli.js", |
||||
"scripts": { |
||||
"start": "node ./src" |
||||
}, |
||||
"dependencies": { |
||||
"@docmirror/dev-sidecar": "workspace:*", |
||||
"@docmirror/mitmproxy": "workspace:*" |
||||
} |
||||
} |
@ -1,19 +1,18 @@
|
||||
const fs = require('node:fs') |
||||
const DevSidecar = require('@docmirror/dev-sidecar') |
||||
const jsonApi = require('@docmirror/mitmproxy/src/json') |
||||
const DevSidecar = require('../index') |
||||
const fs = require('fs') |
||||
const log = require('../src/utils/util.log') |
||||
|
||||
// 启动服务
|
||||
const mitmproxyPath = './start/mitmproxy' |
||||
const mitmproxyPath = './mitmproxy' |
||||
async function startup () { |
||||
const banner = fs.readFileSync('./start/banner.txt') |
||||
const banner = fs.readFileSync('./banner.txt') |
||||
console.log(banner.toString()) |
||||
|
||||
const configPath = './start/user_config.json5' |
||||
const configPath = './user_config.json5' |
||||
if (fs.existsSync(configPath)) { |
||||
const file = fs.readFileSync(configPath) |
||||
const userConfig = jsonApi.parse(file.toString()) |
||||
log.info('读取 user_config.json5 成功:', configPath) |
||||
console.info('读取 user_config.json5 成功:', configPath) |
||||
DevSidecar.api.config.set(userConfig) |
||||
} |
||||
|
@ -0,0 +1,42 @@
|
||||
{ |
||||
"app": { |
||||
"autoStart": { |
||||
"enabled": true |
||||
}, |
||||
"mode": "default" |
||||
}, |
||||
"plugin": { |
||||
"node": { |
||||
"setting": { |
||||
"yarnRegistry": "null" |
||||
} |
||||
}, |
||||
"git": { |
||||
"enabled": true |
||||
}, |
||||
"overwall": { |
||||
"enabled": false, |
||||
"targets": { |
||||
"*gagedigital.com": true, |
||||
"*yonsz.net": true, |
||||
"*bootstrapcdn.com": true, |
||||
"*cloudflare.com": true, |
||||
"help.yonsz.net": true |
||||
} |
||||
} |
||||
}, |
||||
"server": { |
||||
"intercepts": { |
||||
"dev-sidecar.docmirror.cn": { |
||||
".*": { |
||||
"proxy": "dev-sidecar-preview.docmirror.cn" |
||||
} |
||||
}, |
||||
"test1111.gagedigital.com": { |
||||
".*": { |
||||
"proxy": "test1.gagedigital.com" |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
@ -1,83 +1,31 @@
|
||||
{ |
||||
"name": "@docmirror/dev-sidecar", |
||||
"version": "1.8.9", |
||||
"private": false, |
||||
"description": "给开发者的加速代理工具", |
||||
"main": "src/index.js", |
||||
"author": "docmirror.cn", |
||||
"license": "MPL-2.0", |
||||
"keywords": [ |
||||
"dev-sidecar", |
||||
"github加速", |
||||
"google加速", |
||||
"代理" |
||||
], |
||||
"author": "docmirror.cn", |
||||
"license": "MPL-2.0", |
||||
"private": false, |
||||
"main": "src/index.js", |
||||
"scripts": { |
||||
"start": "node ./start", |
||||
"test": "mocha" |
||||
}, |
||||
"dependencies": { |
||||
"@docmirror/mitmproxy": "^1.8.9", |
||||
"agentkeepalive": "^2.1.1", |
||||
"babel-preset-es2020": "^1.0.2", |
||||
"charset": "^1.0.0", |
||||
"child_process": "^1.0.2", |
||||
"colors": "^1.1.2", |
||||
"commander": "^2.9.0", |
||||
"debug": "^4.1.1", |
||||
"dns-over-http": "^0.2.0", |
||||
"dns-over-tls": "^0.0.8", |
||||
"fix-path": "^3.0.0", |
||||
"iconv-lite": "^0.4.13", |
||||
"is-browser": "^2.1.0", |
||||
"jschardet": "^1.4.1", |
||||
"json5": "^2.1.3", |
||||
"lodash": "^4.7.0", |
||||
"log4js": "^6.3.0", |
||||
"lru-cache": "^6.0.0", |
||||
"mkdirp": "^0.5.1", |
||||
"node-cmd": "^3.0.0", |
||||
"node-forge": "^0.8.2", |
||||
"iconv-lite": "^0.6.3", |
||||
"lodash": "^4.17.20", |
||||
"log4js": "^6.9.1", |
||||
"node-powershell": "^4.0.0", |
||||
"require-context": "^1.1.0", |
||||
"spawn-sync": "^2.0.0", |
||||
"through2": "^2.0.1", |
||||
"tunnel-agent": "^0.4.3", |
||||
"util": "^0.12.3", |
||||
"validator": "^13.1.17", |
||||
"winreg": "^1.2.4" |
||||
"winreg": "^1.2.5" |
||||
}, |
||||
"devDependencies": { |
||||
"@vue/cli-plugin-eslint": "^4.5.0", |
||||
"@vue/eslint-config-standard": "^5.1.2", |
||||
"babel-eslint": "^10.1.0", |
||||
"chai": "^4.3.4", |
||||
"eslint": "^6.7.2", |
||||
"eslint-plugin-import": "^2.20.2", |
||||
"eslint-plugin-node": "^11.1.0", |
||||
"eslint-plugin-promise": "^4.2.1", |
||||
"eslint-plugin-standard": "^4.0.0", |
||||
"eslint-plugin-vue": "^6.2.2", |
||||
"mocha": "^8.2.1" |
||||
}, |
||||
"eslintConfig": { |
||||
"root": true, |
||||
"env": { |
||||
"node": true |
||||
}, |
||||
"extends": [ |
||||
"plugin:vue/essential", |
||||
"@vue/standard" |
||||
], |
||||
"parserOptions": { |
||||
"parser": "babel-eslint" |
||||
}, |
||||
"rules": {} |
||||
}, |
||||
"browserslist": [ |
||||
"> 1%", |
||||
"last 2 versions", |
||||
"not dead" |
||||
], |
||||
"gitHead": "30ecf21cb001fb8d821e575d476ca0ffb4ff086e" |
||||
} |
||||
} |
||||
|
@ -1,226 +1,226 @@
|
||||
{ |
||||
"server": { |
||||
"compatible": { |
||||
"connect": { |
||||
"218.18.106.132:443": { |
||||
"ssl": true |
||||
} |
||||
}, |
||||
"request": { |
||||
"218.18.106.132:443": { |
||||
"rejectUnauthorized": false |
||||
} |
||||
} |
||||
}, |
||||
"intercepts": { |
||||
"github.com": { |
||||
"^(/[\\w-.]+){2,}/?(\\?.*)?$": { |
||||
"tampermonkeyScript": "https://gitee.com/wangliang181230/dev-sidecar/raw/scripts/tampermonkey.js", |
||||
"script": "https://gitee.com/wangliang181230/dev-sidecar/raw/scripts/GithubEnhanced-High-Speed-Download.user.js" |
||||
}, |
||||
"^(/[^/]+){2}/releases/download/.*$": { |
||||
"redirect": "ghp.ci/https://github.com", |
||||
"desc": "release文件加速下载重定向地址" |
||||
}, |
||||
"^(/[^/]+){2}/archive/.*\\.(zip|tar.gz)$": { |
||||
"redirect": "ghp.ci/https://github.com", |
||||
"desc": "release源代码加速下载重定向地址" |
||||
}, |
||||
"^((/[^/]+){2,})/raw((/[^/]+)+\\.(jpg|jpeg|png|gif))(\\?.*)?$": { |
||||
"sni": "baidu.com" // proxy拦截器不会使用 .* 中的sni配置,故补充此配置 |
||||
}, |
||||
"^((/[^/]+){2,})/raw((/[^/]+)+\\.js)(\\?.*)?$": { |
||||
"sni": "baidu.com" // proxy拦截器不会使用 .* 中的sni配置,故补充此配置 |
||||
} |
||||
}, |
||||
"api.github.com": { |
||||
".*": { |
||||
"sni": "baidu.com" |
||||
} |
||||
}, |
||||
"github.githubassets.com": { |
||||
".*": { |
||||
"sni": "baidu.com" |
||||
} |
||||
}, |
||||
"avatars.githubusercontent.com": { |
||||
".*": { |
||||
"sni": "baidu.com" |
||||
} |
||||
}, |
||||
"camo.githubusercontent.com": { |
||||
".*": { |
||||
"sni": "baidu.com" |
||||
} |
||||
}, |
||||
"collector.github.com": { |
||||
".*": { |
||||
"sni": "baidu.com" |
||||
} |
||||
}, |
||||
"www.gstatic.com": { |
||||
"/recaptcha/.*": { |
||||
"proxy": "www.recaptcha.net" |
||||
} |
||||
} |
||||
}, |
||||
"preSetIpList": { |
||||
"github.com": [ |
||||
"4.237.22.38", |
||||
"20.26.156.215", |
||||
"20.27.177.113", |
||||
"20.87.245.0", |
||||
"20.200.245.247", |
||||
"20.201.28.151", |
||||
"20.205.243.166", |
||||
"140.82.113.3", |
||||
"140.82.114.4", |
||||
"140.82.116.3", |
||||
"140.82.116.4", |
||||
"140.82.121.3", |
||||
"140.82.121.4" |
||||
], |
||||
"hub.docker.com": null // 1.8.2版本中,该域名的预设IP有问题,现在远程配置中删除 |
||||
}, |
||||
"dns": { |
||||
"mapping": { |
||||
"*.jetbrains.com": "quad9", |
||||
"*.azureedge.net": "quad9", |
||||
"*.stackoverflow.com": "quad9" |
||||
}, |
||||
"speedTest": { |
||||
"interval": 300000 |
||||
} |
||||
}, |
||||
"whiteList": { |
||||
"*.icloud.com": true, |
||||
"*.lenovo.net": true |
||||
} |
||||
}, |
||||
"proxy": { |
||||
"remoteDomesticDomainAllowListFileUrl": "https://raw.kkgithub.com/pluwen/china-domain-allowlist/main/allow-list.sorl", |
||||
"excludeIpList": { |
||||
// Github文件上传所使用的域名,被DS代理会导致文件上传经常失败,从系统代理中排除掉 |
||||
"objects-origin.githubusercontent.com": true, |
||||
// Github通过Actions上传的文件,下载时所需的域名,从系统代理中排除掉,否则下载会失败 |
||||
"*.windows.net": true, |
||||
// Github下载release文件的高速镜像地址 |
||||
"*.ghproxy.net": true, |
||||
"*.ghp.ci": true, |
||||
"*.kkgithub.com": true, |
||||
|
||||
// Github建站域名 |
||||
"*.github.io": true, |
||||
|
||||
// bilibili相关 |
||||
"*.bilicomic.com": true, |
||||
|
||||
// 中国移动云盘登录API |
||||
"[2049:8c54:813:10c::140]": true, |
||||
"[2409:8a0c:a442:ff40:a51f:4b9c:8b41:25ea]": true, |
||||
"[2606:2800:147:120f:30c:1ba0:fc6:265a]": true, |
||||
// 移动云盘相关 |
||||
"*.cmicapm.com": true, |
||||
|
||||
// cloudflare:排除以下域名,cloudflare的人机校验会更快,成功率更高。 |
||||
"*.cloudflare.com": true, |
||||
"*.cloudflare-cn.com": true, |
||||
|
||||
// VS相关 |
||||
"*.microsoftonline.com": true, // 此域名不排除的话,部分功能将出现异常 |
||||
"*.msecnd.net": true, |
||||
"*.msedge.net": true, |
||||
|
||||
// 卡巴斯基升级域名 |
||||
"*kaspersky*.com": true, |
||||
"*.upd.kaspersky.com": true, |
||||
|
||||
// sandbox沙盒域名 |
||||
"*.sandboxie-plus.com": true, |
||||
|
||||
// 无忧论坛 |
||||
"*.wuyou.net": true, |
||||
|
||||
// python建图包域名(浏览器) |
||||
"*.pyecharts.org": true, |
||||
|
||||
// 教育网站 |
||||
"*.bcloudlink.com": true, |
||||
|
||||
// 奇迹秀(资源) |
||||
"*.qijishow.com": true, |
||||
|
||||
// Z-Library |
||||
"*.z-lib.fo": true, |
||||
|
||||
// Finalshell(Linux学习网) |
||||
"*.finalshell.com": true, |
||||
|
||||
// MineBBS(我的世界中文论坛) |
||||
"*.minebbs.com": true, |
||||
|
||||
// 我的世界插件网 |
||||
"*.spigotmc.org": true, |
||||
|
||||
// bd测试 |
||||
"*.virustotal.com": true, |
||||
|
||||
// 未知 |
||||
"*.youdemai.com": true, |
||||
"*.casualthink.com": true, |
||||
"44.239.165.12": true, |
||||
"3.164.110.117": true |
||||
} |
||||
}, |
||||
"plugin": { |
||||
"overwall": { |
||||
"targets": { |
||||
"*.github.com": true, |
||||
"*github*.com": true, |
||||
"*.nodejs.org": true, |
||||
"*.npmjs.com": true, |
||||
"*.wikimedia.org": true, |
||||
"*.v2ex.com": true, |
||||
"*.azureedge.net": true, |
||||
"*.cloudfront.net": true, |
||||
"*.bing.com": true, |
||||
"*.discourse-cdn.com": true, |
||||
"*.gravatar.com": true, |
||||
"*.docker.com": true, |
||||
"*.vueuse.org": true, |
||||
"*.elastic.co": true, |
||||
"*.optimizely.com": true, |
||||
"*.stackpathcdn.com": true, |
||||
"*.fastly.net": true, |
||||
"*.cloudflare.com": true, |
||||
"*.233v2.com": true, |
||||
"*.v2fly.org": true, |
||||
"*.telegram.org": true, |
||||
"*.amazon.com": true, |
||||
"*.googleapis.com": true, |
||||
"*.google-analytics.com": true, |
||||
"*.cloudflareinsights.com": true, |
||||
"*.intlify.dev": true, |
||||
"*.segment.io": true, |
||||
"*.shields.io": true, |
||||
"*.jsdelivr.net": true, |
||||
"*.z-library.sk": true, |
||||
"*.zlibrary*.se": true, |
||||
|
||||
// 维基百科 |
||||
"*.wikipedia-on-ipfs.org": true, |
||||
|
||||
// ChatGPT |
||||
"*.oaiusercontent.com": true, // 在ChatGPT中生成文件并下载所需的域名 |
||||
|
||||
// Pixiv相关 |
||||
"*.pixiv.org": true, |
||||
"*.fanbox.cc": true, |
||||
"*.onesignal.com": true // pixiv站点,会加载该域名下的js脚本 |
||||
}, |
||||
"pac": { |
||||
"pacFileUpdateUrl": "https://raw.kkgithub.com/gfwlist/gfwlist/master/gfwlist.txt" |
||||
} |
||||
} |
||||
} |
||||
"server": { |
||||
"compatible": { |
||||
"connect": { |
||||
"218.18.106.132:443": { |
||||
"ssl": true |
||||
} |
||||
}, |
||||
"request": { |
||||
"218.18.106.132:443": { |
||||
"rejectUnauthorized": false |
||||
} |
||||
} |
||||
}, |
||||
"intercepts": { |
||||
"github.com": { |
||||
"^(/[\\w-.]+){2,}/?(\\?.*)?$": { |
||||
"tampermonkeyScript": "https://gitee.com/wangliang181230/dev-sidecar/raw/scripts/tampermonkey.js", |
||||
"script": "https://gitee.com/wangliang181230/dev-sidecar/raw/scripts/GithubEnhanced-High-Speed-Download.user.js" |
||||
}, |
||||
"^(/[^/]+){2}/releases/download/.*$": { |
||||
"redirect": "ghp.ci/https://github.com", |
||||
"desc": "release文件加速下载重定向地址" |
||||
}, |
||||
"^(/[^/]+){2}/archive/.*\\.(zip|tar.gz)$": { |
||||
"redirect": "ghp.ci/https://github.com", |
||||
"desc": "release源代码加速下载重定向地址" |
||||
}, |
||||
"^((/[^/]+){2,})/raw((/[^/]+)+\\.(jpg|jpeg|png|gif))(\\?.*)?$": { |
||||
"sni": "baidu.com" // proxy拦截器不会使用 .* 中的sni配置,故补充此配置 |
||||
}, |
||||
"^((/[^/]+){2,})/raw((/[^/]+)+\\.js)(\\?.*)?$": { |
||||
"sni": "baidu.com" // proxy拦截器不会使用 .* 中的sni配置,故补充此配置 |
||||
} |
||||
}, |
||||
"api.github.com": { |
||||
".*": { |
||||
"sni": "baidu.com" |
||||
} |
||||
}, |
||||
"github.githubassets.com": { |
||||
".*": { |
||||
"sni": "baidu.com" |
||||
} |
||||
}, |
||||
"avatars.githubusercontent.com": { |
||||
".*": { |
||||
"sni": "baidu.com" |
||||
} |
||||
}, |
||||
"camo.githubusercontent.com": { |
||||
".*": { |
||||
"sni": "baidu.com" |
||||
} |
||||
}, |
||||
"collector.github.com": { |
||||
".*": { |
||||
"sni": "baidu.com" |
||||
} |
||||
}, |
||||
"www.gstatic.com": { |
||||
"/recaptcha/.*": { |
||||
"proxy": "www.recaptcha.net" |
||||
} |
||||
} |
||||
}, |
||||
"preSetIpList": { |
||||
"github.com": [ |
||||
"4.237.22.38", |
||||
"20.26.156.215", |
||||
"20.27.177.113", |
||||
"20.87.245.0", |
||||
"20.200.245.247", |
||||
"20.201.28.151", |
||||
"20.205.243.166", |
||||
"140.82.113.3", |
||||
"140.82.114.4", |
||||
"140.82.116.3", |
||||
"140.82.116.4", |
||||
"140.82.121.3", |
||||
"140.82.121.4" |
||||
], |
||||
"hub.docker.com": null // 1.8.2版本中,该域名的预设IP有问题,现在远程配置中删除 |
||||
}, |
||||
"dns": { |
||||
"mapping": { |
||||
"*.jetbrains.com": "quad9", |
||||
"*.azureedge.net": "quad9", |
||||
"*.stackoverflow.com": "quad9" |
||||
}, |
||||
"speedTest": { |
||||
"interval": 300000 |
||||
} |
||||
}, |
||||
"whiteList": { |
||||
"*.icloud.com": true, |
||||
"*.lenovo.net": true |
||||
} |
||||
}, |
||||
"proxy": { |
||||
"remoteDomesticDomainAllowListFileUrl": "https://raw.kkgithub.com/pluwen/china-domain-allowlist/main/allow-list.sorl", |
||||
"excludeIpList": { |
||||
// Github文件上传所使用的域名,被DS代理会导致文件上传经常失败,从系统代理中排除掉 |
||||
"objects-origin.githubusercontent.com": true, |
||||
// Github通过Actions上传的文件,下载时所需的域名,从系统代理中排除掉,否则下载会失败 |
||||
"*.windows.net": true, |
||||
// Github下载release文件的高速镜像地址 |
||||
"*.ghproxy.net": true, |
||||
"*.ghp.ci": true, |
||||
"*.kkgithub.com": true, |
||||
|
||||
// Github建站域名 |
||||
"*.github.io": true, |
||||
|
||||
// bilibili相关 |
||||
"*.bilicomic.com": true, |
||||
|
||||
// 中国移动云盘登录API |
||||
"[2049:8c54:813:10c::140]": true, |
||||
"[2409:8a0c:a442:ff40:a51f:4b9c:8b41:25ea]": true, |
||||
"[2606:2800:147:120f:30c:1ba0:fc6:265a]": true, |
||||
// 移动云盘相关 |
||||
"*.cmicapm.com": true, |
||||
|
||||
// cloudflare:排除以下域名,cloudflare的人机校验会更快,成功率更高。 |
||||
"*.cloudflare.com": true, |
||||
"*.cloudflare-cn.com": true, |
||||
|
||||
// VS相关 |
||||
"*.microsoftonline.com": true, // 此域名不排除的话,部分功能将出现异常 |
||||
"*.msecnd.net": true, |
||||
"*.msedge.net": true, |
||||
|
||||
// 卡巴斯基升级域名 |
||||
"*kaspersky*.com": true, |
||||
"*.upd.kaspersky.com": true, |
||||
|
||||
// sandbox沙盒域名 |
||||
"*.sandboxie-plus.com": true, |
||||
|
||||
// 无忧论坛 |
||||
"*.wuyou.net": true, |
||||
|
||||
// python建图包域名(浏览器) |
||||
"*.pyecharts.org": true, |
||||
|
||||
// 教育网站 |
||||
"*.bcloudlink.com": true, |
||||
|
||||
// 奇迹秀(资源) |
||||
"*.qijishow.com": true, |
||||
|
||||
// Z-Library |
||||
"*.z-lib.fo": true, |
||||
|
||||
// Finalshell(Linux学习网) |
||||
"*.finalshell.com": true, |
||||
|
||||
// MineBBS(我的世界中文论坛) |
||||
"*.minebbs.com": true, |
||||
|
||||
// 我的世界插件网 |
||||
"*.spigotmc.org": true, |
||||
|
||||
// bd测试 |
||||
"*.virustotal.com": true, |
||||
|
||||
// 未知 |
||||
"*.youdemai.com": true, |
||||
"*.casualthink.com": true, |
||||
"44.239.165.12": true, |
||||
"3.164.110.117": true |
||||
} |
||||
}, |
||||
"plugin": { |
||||
"overwall": { |
||||
"targets": { |
||||
"*.github.com": true, |
||||
"*github*.com": true, |
||||
"*.nodejs.org": true, |
||||
"*.npmjs.com": true, |
||||
"*.wikimedia.org": true, |
||||
"*.v2ex.com": true, |
||||
"*.azureedge.net": true, |
||||
"*.cloudfront.net": true, |
||||
"*.bing.com": true, |
||||
"*.discourse-cdn.com": true, |
||||
"*.gravatar.com": true, |
||||
"*.docker.com": true, |
||||
"*.vueuse.org": true, |
||||
"*.elastic.co": true, |
||||
"*.optimizely.com": true, |
||||
"*.stackpathcdn.com": true, |
||||
"*.fastly.net": true, |
||||
"*.cloudflare.com": true, |
||||
"*.233v2.com": true, |
||||
"*.v2fly.org": true, |
||||
"*.telegram.org": true, |
||||
"*.amazon.com": true, |
||||
"*.googleapis.com": true, |
||||
"*.google-analytics.com": true, |
||||
"*.cloudflareinsights.com": true, |
||||
"*.intlify.dev": true, |
||||
"*.segment.io": true, |
||||
"*.shields.io": true, |
||||
"*.jsdelivr.net": true, |
||||
"*.z-library.sk": true, |
||||
"*.zlibrary*.se": true, |
||||
|
||||
// 维基百科 |
||||
"*.wikipedia-on-ipfs.org": true, |
||||
|
||||
// ChatGPT |
||||
"*.oaiusercontent.com": true, // 在ChatGPT中生成文件并下载所需的域名 |
||||
|
||||
// Pixiv相关 |
||||
"*.pixiv.org": true, |
||||
"*.fanbox.cc": true, |
||||
"*.onesignal.com": true // pixiv站点,会加载该域名下的js脚本 |
||||
}, |
||||
"pac": { |
||||
"pacFileUpdateUrl": "https://raw.kkgithub.com/gfwlist/gfwlist/master/gfwlist.txt" |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
@ -1,11 +1,5 @@
|
||||
const server = require('./server') |
||||
|
||||
const proxy = require('./proxy') |
||||
|
||||
const plugin = require('./plugin') |
||||
|
||||
module.exports = { |
||||
server, |
||||
proxy, |
||||
plugin |
||||
server: require('./server'), |
||||
proxy: require('./proxy'), |
||||
plugin: require('./plugin'), |
||||
} |
||||
|
@ -1,8 +1,6 @@
|
||||
const node = require('./node') |
||||
const git = require('./git') |
||||
const overwall = require('./overwall') |
||||
const pip = require('./pip') |
||||
|
||||
module.exports = { |
||||
node, git, pip, overwall |
||||
node: require('./node'), |
||||
git: require('./git'), |
||||
pip: require('./pip'), |
||||
overwall: require('./overwall'), |
||||
} |
||||
|
@ -1,14 +1,4 @@
|
||||
const log4js = require('log4js') |
||||
const config = require('../config/index') |
||||
function getDefaultConfigBasePath () { |
||||
return config.server.setting.userBasePath |
||||
} |
||||
const level = process.env.NODE_ENV === 'development' ? 'debug' : 'info' |
||||
const path = require('path') |
||||
const filename = path.join(getDefaultConfigBasePath(), '/logs/core.log') |
||||
log4js.configure({ |
||||
appenders: { std: { type: 'stdout' }, file: { type: 'file', pattern: 'yyyy-MM-dd', daysToKeep: 3, filename } }, |
||||
categories: { default: { appenders: ['file', 'std'], level: level } } |
||||
}) |
||||
const log4js = require('./util.logger') |
||||
|
||||
const logger = log4js.getLogger('core') |
||||
module.exports = logger |
||||
|
@ -0,0 +1,30 @@
|
||||
const path = require('node:path') |
||||
const log4js = require('log4js') |
||||
const config = require('../config/index') |
||||
|
||||
const level = process.env.NODE_ENV === 'development' ? 'debug' : 'info' |
||||
|
||||
function getDefaultConfigBasePath () { |
||||
return config.server.setting.userBasePath |
||||
} |
||||
|
||||
const coreLogFilename = path.join(getDefaultConfigBasePath(), '/logs/core.log') |
||||
const guiLogFilename = path.join(getDefaultConfigBasePath(), '/logs/gui.log') |
||||
const serverLogFilename = path.join(getDefaultConfigBasePath(), '/logs/server.log') |
||||
|
||||
log4js.configure({ |
||||
appenders: { |
||||
std: { type: 'stdout' }, |
||||
core: { type: 'file', pattern: 'yyyy-MM-dd', daysToKeep: 3, filename: coreLogFilename }, |
||||
gui: { type: 'file', pattern: 'yyyy-MM-dd', daysToKeep: 3, filename: guiLogFilename }, |
||||
server: { level: 'debug', type: 'file', pattern: 'yyyy-MM-dd', daysToKeep: 3, filename: serverLogFilename }, |
||||
}, |
||||
categories: { |
||||
default: { appenders: ['std'], level }, |
||||
core: { appenders: ['core', 'std'], level }, |
||||
gui: { appenders: ['gui', 'std'], level }, |
||||
server: { appenders: ['server', 'std'], level }, |
||||
}, |
||||
}) |
||||
|
||||
module.exports = log4js |
@ -1,42 +0,0 @@
|
||||
{ |
||||
app: { |
||||
autoStart: { |
||||
enabled: true, |
||||
}, |
||||
mode: 'default', |
||||
}, |
||||
plugin: { |
||||
node: { |
||||
setting: { |
||||
yarnRegistry: 'null', |
||||
}, |
||||
}, |
||||
git: { |
||||
enabled: true, |
||||
}, |
||||
overwall: { |
||||
enabled: false, |
||||
targets: { |
||||
'*gagedigital.com': true, |
||||
'*yonsz.net': true, |
||||
'*bootstrapcdn.com': true, |
||||
'*cloudflare.com': true, |
||||
'help.yonsz.net': true, |
||||
}, |
||||
}, |
||||
}, |
||||
server: { |
||||
intercepts: { |
||||
'dev-sidecar.docmirror.cn': { |
||||
'.*': { |
||||
proxy: 'dev-sidecar-preview.docmirror.cn', |
||||
}, |
||||
}, |
||||
'test1111.gagedigital.com': { |
||||
'.*': { |
||||
proxy: 'test1.gagedigital.com', |
||||
}, |
||||
} |
||||
}, |
||||
} |
||||
} |
@ -1,13 +1,13 @@
|
||||
const expect = require('chai').expect |
||||
// eslint-disable-next-line no-undef
|
||||
describe('test', function () { |
||||
describe('test', () => { |
||||
// eslint-disable-next-line no-undef
|
||||
it('regexp', function () { |
||||
it('regexp', () => { |
||||
const test = '^/[^/]+/[^/]+(/releases(/.*)?)?$' |
||||
const reg = new RegExp(test) |
||||
|
||||
const ret = reg.test('/docmirror/dev-sidecar/releases/tag') |
||||
// eslint-disable-next-line no-unused-expressions
|
||||
|
||||
expect(ret).be.ok |
||||
}) |
||||
}) |
||||
|
@ -1,24 +1,29 @@
|
||||
# dev-sidecar-gui |
||||
|
||||
## Project setup |
||||
|
||||
``` |
||||
yarn install |
||||
``` |
||||
|
||||
### Compiles and hot-reloads for development |
||||
|
||||
``` |
||||
yarn serve |
||||
``` |
||||
|
||||
### Compiles and minifies for production |
||||
|
||||
``` |
||||
yarn build |
||||
``` |
||||
|
||||
### Lints and fixes files |
||||
|
||||
``` |
||||
yarn lint |
||||
``` |
||||
|
||||
### Customize configuration |
||||
|
||||
See [Configuration Reference](https://cli.vuejs.org/config/). |
||||
|
@ -1,5 +1,5 @@
|
||||
module.exports = { |
||||
presets: [ |
||||
'@vue/cli-plugin-babel/preset' |
||||
] |
||||
'@vue/babel-preset-jsx', |
||||
], |
||||
} |
||||
|
@ -1,12 +1,14 @@
|
||||
import Sudoer from 'electron-sudo' |
||||
import DevSidecar from '@docmirror/dev-sidecar' |
||||
import Sudoer from 'electron-sudo' |
||||
|
||||
export default { |
||||
async open () { |
||||
const options = { name: '设置loopback' } |
||||
const sudoer = new Sudoer(options) |
||||
const exeFile = DevSidecar.api.shell.extraPath.getEnableLoopbackPath() |
||||
await sudoer.exec( |
||||
exeFile, { env: { PARAM: 'VALUE' } } |
||||
exeFile, |
||||
{ env: { PARAM: 'VALUE' } }, |
||||
) |
||||
} |
||||
}, |
||||
} |
||||
|
@ -1,21 +1,21 @@
|
||||
export default { |
||||
install (context) { |
||||
const { ipcMain, dialog, log } = context |
||||
ipcMain.on('file-selector', function (event, message) { |
||||
ipcMain.on('file-selector', (event, message) => { |
||||
if (message.key === 'open') { |
||||
dialog.showOpenDialog({ |
||||
properties: ['openFile'], |
||||
...message |
||||
}).then(result => { |
||||
...message, |
||||
}).then((result) => { |
||||
if (result.canceled) { |
||||
event.sender.send('file-selector', { key: 'canceled' }) |
||||
} else { |
||||
event.sender.send('file-selector', { key: 'selected', value: result.filePaths }) |
||||
} |
||||
}).catch(err => { |
||||
}).catch((err) => { |
||||
log.error('选择文件失败:', err) |
||||
}) |
||||
} |
||||
}) |
||||
} |
||||
}, |
||||
} |
||||
|
@ -1,14 +1,5 @@
|
||||
const log4js = require('log4js') |
||||
const DevSidecar = require('@docmirror/dev-sidecar') |
||||
const getDefaultConfigBasePath = function () { |
||||
return DevSidecar.api.config.get().server.setting.userBasePath |
||||
} |
||||
const level = process.env.NODE_ENV === 'development' ? 'debug' : 'info' |
||||
const path = require('path') |
||||
const filename = path.join(getDefaultConfigBasePath(), '/logs/gui.log') |
||||
log4js.configure({ |
||||
appenders: { std: { type: 'stdout' }, file: { type: 'file', pattern: 'yyyy-MM-dd', daysToKeep: 3, filename } }, |
||||
categories: { default: { appenders: ['file', 'std'], level } } |
||||
}) |
||||
const log4js = require('@docmirror/dev-sidecar/src/utils/util.logger') |
||||
|
||||
const logger = log4js.getLogger('gui') |
||||
|
||||
module.exports = logger |
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue