Skip to content

Commit c75fa81

Browse files
SYM01dependabot[bot]transifex-integration[bot]
authored
Support Firefox, and fix some UX issues (#26)
* update github action * minor change to System profile * Build(deps): Bump nanoid from 3.3.7 to 3.3.8 (#21) Bumps [nanoid](https://github.com/ai/nanoid) from 3.3.7 to 3.3.8. - [Release notes](https://github.com/ai/nanoid/releases) - [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md) - [Commits](ai/nanoid@3.3.7...3.3.8) --- updated-dependencies: - dependency-name: nanoid dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Avoid blocking 401 authentication request (#22) (#23) * fix 401 issue (#22) * enablle github action on develop branch * Support Firefox (#18) * Adapt firefox * support firefore auto publish * support firefox, and optimized UX * [i18n] Updates for file public/_locales/en/messages.json (#25) * [i18n] Translate messages.json in pt_BR 100% reviewed source file: 'messages.json' on 'pt_BR'. * [i18n] Translate messages.json in zh_CN 100% reviewed source file: 'messages.json' on 'zh_CN'. * [i18n] Translate messages.json in zh_TW 100% reviewed source file: 'messages.json' on 'zh_TW'. * [i18n] Translate messages.json in pt_BR 100% reviewed source file: 'messages.json' on 'pt_BR'. * update English i18n msg --------- Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com> Co-authored-by: SYM01 <33443792+SYM01@users.noreply.github.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
1 parent f8bac82 commit c75fa81

37 files changed

+3188
-1331
lines changed

.github/workflows/build.yml

+45-16
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88
branches:
99
- main
1010
tags:
11-
- 'v*.*.*'
11+
- "v*.*.*"
1212
pull_request:
1313
branches:
1414
- main
@@ -28,8 +28,8 @@ jobs:
2828
- name: Setup Node.js
2929
uses: actions/setup-node@v4
3030
with:
31-
node-version: 'latest'
32-
cache: 'npm'
31+
node-version: "latest"
32+
cache: "npm"
3333
cache-dependency-path: package-lock.json
3434

3535
- name: Install dependencies
@@ -39,22 +39,27 @@ jobs:
3939
if: ${{ github.ref_type == 'tag' }}
4040
run: echo "CRX_VER=${{ github.ref_name }}" >> $GITHUB_ENV
4141

42-
- name: Output version
43-
run: echo "Current version ${{ env.CRX_VER }}"
42+
- name: Preparing
43+
run: |
44+
echo "Current version ${{ env.CRX_VER }}"
45+
mkdir "${{ github.workspace }}/release/"
46+
git archive --format tar.gz HEAD -o "${{ github.workspace }}/release/source.tar.gz"
4447
45-
- name: Rebuild the dist directory
46-
run: npm run build
48+
- name: Build Chrome Extension
49+
run: |
50+
npm run build
51+
cd "${{ github.workspace }}/dist/" && zip -r "${{ github.workspace }}/release/crx.zip" ./
4752
48-
- name: Pack artifacts
53+
- name: Build Firefox Add-ons
4954
run: |
50-
mkdir ./release/
51-
cd ./dist/ && zip -r ../release/crx.zip ./
55+
npm run build:firefox
56+
cd "${{ github.workspace }}/dist/" && zip -r "${{ github.workspace }}/release/firefox.zip" ./
5257
5358
- name: Upload artifact
5459
uses: actions/upload-artifact@v4
5560
with:
5661
name: Proxyverse
57-
path: ./release/*
62+
path: ${{ github.workspace }}/release/*
5863

5964
release-github:
6065
name: Publish on Github Release
@@ -68,13 +73,12 @@ jobs:
6873
uses: actions/download-artifact@v4
6974
with:
7075
name: Proxyverse
71-
path: ./release/
76+
path: ${{ github.workspace }}/release/
7277

7378
- name: Upload to release page
7479
uses: softprops/action-gh-release@v2
7580
with:
76-
files: ./release/*
77-
81+
files: ${{ github.workspace }}/release/*
7882

7983
release-edge:
8084
name: Publish on Edge
@@ -88,12 +92,37 @@ jobs:
8892
uses: actions/download-artifact@v4
8993
with:
9094
name: Proxyverse
91-
path: ./release/
95+
path: ${{ github.workspace }}/release/
9296

9397
- name: Upload to MS Edge
9498
uses: wdzeng/edge-addon@v2
9599
with:
96100
product-id: 6fa97660-6c21-41e4-87e6-06a88509753f
97-
zip-path: ./release/crx.zip
101+
zip-path: ${{ github.workspace }}/release/crx.zip
98102
client-id: ${{ secrets.EDGE_CLIENT_ID }}
99103
api-key: ${{ secrets.EDGE_API_KEY }}
104+
105+
release-firefox:
106+
name: Publish on Firefox
107+
if: ${{ github.ref_type == 'tag' }}
108+
runs-on: ubuntu-latest
109+
needs:
110+
- build
111+
112+
steps:
113+
- name: Download artifact
114+
uses: actions/download-artifact@v4
115+
with:
116+
name: Proxyverse
117+
path: ${{ github.workspace }}/release/
118+
119+
- name: Upload to Firefox
120+
uses: wdzeng/firefox-addon@v1
121+
with:
122+
addon-guid: proxyverse@byte.vet
123+
xpi-path: ${{ github.workspace }}/release/firefox.zip
124+
source-file-path: ${{ github.workspace }}/release/source.tar.gz
125+
license: MIT
126+
self-hosted: false
127+
jwt-issuer: ${{ secrets.FIREFOX_JWT_ISSUER }}
128+
jwt-secret: ${{ secrets.FIREFOX_JWT_SECRET }}

.github/workflows/test.yml

+5-5
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ name: Test
66
on:
77
push:
88
branches:
9-
- main
9+
- main
1010
pull_request:
1111
branches:
12-
- main
13-
- develop
12+
- main
13+
- develop
1414

1515
jobs:
1616
test:
@@ -22,8 +22,8 @@ jobs:
2222
- name: Setup Node.js
2323
uses: actions/setup-node@v4
2424
with:
25-
node-version: 'latest'
26-
cache: 'npm'
25+
node-version: "latest"
26+
cache: "npm"
2727
cache-dependency-path: package-lock.json
2828

2929
- name: Install dependencies

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ dist.zip
1313
dist-ssr
1414
coverage
1515
*.local
16+
stats.html
1617

1718
# Editor directories and files
1819
.vscode/*

README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,14 @@ It's still in the early development stage, and more features are still on the w
1515
- [x] Support more languages
1616
- [ ] Support customized preference
1717
- [ ] Support Safari
18-
- [ ] Support Firefox
18+
- [x] Support Firefox
1919

2020

2121
# How to download?
2222

2323
- [Chrome](https://chromewebstore.google.com/detail/proxyverse/igknmaflmijecdmjpcgollghmipkfbho)
2424
- [Microsoft Edge](https://microsoftedge.microsoft.com/addons/detail/bpjcpinklkdfabcncofogcaigmmgjjbj)
25+
- [Firefox](https://addons.mozilla.org/en-US/firefox/addon/proxyverse/)
2526

2627

2728
# Making a Contribution

auto-imports.d.ts

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
/* eslint-disable */
2+
/* prettier-ignore */
3+
// @ts-nocheck
4+
// noinspection JSUnusedGlobalSymbols
5+
// Generated by unplugin-auto-import
6+
// biome-ignore lint: disable
7+
export {}
8+
declare global {
9+
10+
}

components.d.ts

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
/* eslint-disable */
2+
// @ts-nocheck
3+
// Generated by unplugin-vue-components
4+
// Read more: https://github.com/vuejs/core/pull/3399
5+
export {}
6+
7+
/* prettier-ignore */
8+
declare module 'vue' {
9+
export interface GlobalComponents {
10+
AButton: typeof import('@arco-design/web-vue')['Button']
11+
AButtonGroup: typeof import('@arco-design/web-vue')['ButtonGroup']
12+
ACheckbox: typeof import('@arco-design/web-vue')['Checkbox']
13+
ACollapse: typeof import('@arco-design/web-vue')['Collapse']
14+
ACollapseItem: typeof import('@arco-design/web-vue')['CollapseItem']
15+
AColorPicker: typeof import('@arco-design/web-vue')['ColorPicker']
16+
ADgroup: typeof import('@arco-design/web-vue')['Dgroup']
17+
ADivider: typeof import('@arco-design/web-vue')['Divider']
18+
ADoption: typeof import('@arco-design/web-vue')['Doption']
19+
ADropdown: typeof import('@arco-design/web-vue')['Dropdown']
20+
AForm: typeof import('@arco-design/web-vue')['Form']
21+
AFormItem: typeof import('@arco-design/web-vue')['FormItem']
22+
AInput: typeof import('@arco-design/web-vue')['Input']
23+
AInputGroup: typeof import('@arco-design/web-vue')['InputGroup']
24+
AInputNumber: typeof import('@arco-design/web-vue')['InputNumber']
25+
AInputPassword: typeof import('@arco-design/web-vue')['InputPassword']
26+
ALayout: typeof import('@arco-design/web-vue')['Layout']
27+
ALayoutContent: typeof import('@arco-design/web-vue')['LayoutContent']
28+
ALayoutFooter: typeof import('@arco-design/web-vue')['LayoutFooter']
29+
ALayoutHeader: typeof import('@arco-design/web-vue')['LayoutHeader']
30+
ALayoutSider: typeof import('@arco-design/web-vue')['LayoutSider']
31+
ALink: typeof import('@arco-design/web-vue')['Link']
32+
AMenu: typeof import('@arco-design/web-vue')['Menu']
33+
AMenuItem: typeof import('@arco-design/web-vue')['MenuItem']
34+
AModal: typeof import('@arco-design/web-vue')['Modal']
35+
APageHeader: typeof import('@arco-design/web-vue')['PageHeader']
36+
APopconfirm: typeof import('@arco-design/web-vue')['Popconfirm']
37+
ARadio: typeof import('@arco-design/web-vue')['Radio']
38+
ARadioGroup: typeof import('@arco-design/web-vue')['RadioGroup']
39+
ASelect: typeof import('@arco-design/web-vue')['Select']
40+
ASpace: typeof import('@arco-design/web-vue')['Space']
41+
ATable: typeof import('@arco-design/web-vue')['Table']
42+
ATextarea: typeof import('@arco-design/web-vue')['Textarea']
43+
ATooltip: typeof import('@arco-design/web-vue')['Tooltip']
44+
ATypographyText: typeof import('@arco-design/web-vue')['TypographyText']
45+
AutoSwitchInput: typeof import('./src/components/configs/AutoSwitchInput.vue')['default']
46+
AutoSwitchPacPreview: typeof import('./src/components/configs/AutoSwitchPacPreview.vue')['default']
47+
ProfileConfig: typeof import('./src/components/ProfileConfig.vue')['default']
48+
ProfileSelector: typeof import('./src/components/configs/ProfileSelector.vue')['default']
49+
ProxyServerInput: typeof import('./src/components/configs/ProxyServerInput.vue')['default']
50+
RouterLink: typeof import('vue-router')['RouterLink']
51+
RouterView: typeof import('vue-router')['RouterView']
52+
ScriptInput: typeof import('./src/components/configs/ScriptInput.vue')['default']
53+
ThemeSwitcher: typeof import('./src/components/controls/ThemeSwitcher.vue')['default']
54+
}
55+
}

manifest.json

+3-10
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,6 @@
1717
"type": "module"
1818
},
1919

20-
"host_permissions": [
21-
"<all_urls>"
22-
],
23-
"permissions": [
24-
"storage",
25-
"proxy",
26-
"webRequest",
27-
"webRequestAuthProvider"
28-
]
29-
}
20+
"host_permissions": ["<all_urls>"],
21+
"permissions": ["storage", "proxy", "webRequest", "webRequestAuthProvider"]
22+
}

0 commit comments

Comments
 (0)