pinggy 0.2.3 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/publish-binaries.yml +102 -107
- package/Makefile +2 -2
- package/dist/index.cjs +1202 -984
- package/dist/index.d.cts +30 -10
- package/dist/index.d.ts +30 -10
- package/dist/index.js +1171 -199
- package/ent.plist +14 -0
- package/package.json +31 -14
- package/scripts/pre_pkg_processing.js +74 -0
- package/src/cli/buildConfig.ts +10 -13
- package/src/cli/defaults.ts +1 -2
- package/src/cli/{starCli.tsx → starCli.ts} +51 -80
- package/src/index.ts +0 -6
- package/src/remote_management/handler.ts +3 -1
- package/src/remote_management/remoteManagement.ts +0 -3
- package/src/remote_management/remote_schema.ts +11 -10
- package/src/tui/blessed/TunnelTui.ts +298 -0
- package/src/tui/blessed/components/DisplayUpdaters.ts +118 -0
- package/src/tui/blessed/components/KeyBindings.ts +134 -0
- package/src/tui/blessed/components/Modals.ts +216 -0
- package/src/tui/blessed/components/UIComponents.ts +306 -0
- package/src/tui/blessed/components/index.ts +4 -0
- package/src/tui/blessed/headerFetcher.ts +35 -0
- package/src/tui/blessed/index.ts +2 -0
- package/src/tui/blessed/qrCodeGenerator.ts +20 -0
- package/src/tui/blessed/webDebuggerConnection.ts +100 -0
- package/src/tui/{hooks → ink/hooks}/useReqResHeaders.ts +1 -1
- package/src/tui/{hooks → ink/hooks}/useWebDebugger.ts +2 -2
- package/src/tui/{index.tsx → ink/index.tsx} +12 -2
- package/src/tui/spinner/spinner.ts +64 -0
- package/src/tunnel_manager/TunnelManager.ts +158 -79
- package/src/types.ts +2 -0
- package/src/utils/printer.ts +15 -21
- package/src/utils/util.ts +5 -0
- package/tsconfig.json +1 -1
- package/dist/tui-AZUFY7T2.js +0 -584
- package/src/utils/esmOnlyPackageLoader.ts +0 -29
- /package/src/tui/{asciArt.ts → ink/asciArt.ts} +0 -0
- /package/src/tui/{hooks → ink/hooks}/useQrCodes.ts +0 -0
- /package/src/tui/{hooks → ink/hooks}/useTerminalSize.ts +0 -0
- /package/src/tui/{hooks → ink/hooks}/useTerminalStats.ts +0 -0
- /package/src/tui/{layout → ink/layout}/Borders.tsx +0 -0
- /package/src/tui/{layout → ink/layout}/Container.tsx +0 -0
- /package/src/tui/{sections → ink/sections}/DebuggerDetailModal.tsx +0 -0
- /package/src/tui/{sections → ink/sections}/KeyBindings.tsx +0 -0
- /package/src/tui/{sections → ink/sections}/QrCodeSection.tsx +0 -0
- /package/src/tui/{sections → ink/sections}/StatsSection.tsx +0 -0
- /package/src/tui/{sections → ink/sections}/URLsSection.tsx +0 -0
- /package/src/tui/{utils → ink/utils}/utils.ts +0 -0
|
@@ -4,6 +4,10 @@ on:
|
|
|
4
4
|
release:
|
|
5
5
|
types: [created]
|
|
6
6
|
|
|
7
|
+
env:
|
|
8
|
+
RELEASE_TAG: ${{ github.event.release.tag_name }}
|
|
9
|
+
|
|
10
|
+
|
|
7
11
|
jobs:
|
|
8
12
|
Ubuntu:
|
|
9
13
|
name: Build on ${{ matrix.name }} and upload to GitHub Release
|
|
@@ -33,90 +37,26 @@ jobs:
|
|
|
33
37
|
- name: Build (tsup)
|
|
34
38
|
run: npm run build
|
|
35
39
|
|
|
36
|
-
- name: Run
|
|
37
|
-
|
|
40
|
+
- name: Run pkg build for x64
|
|
41
|
+
if: ${{ matrix.name == 'Ubuntu-x64' }}
|
|
42
|
+
run: npm run pack:linux-x64
|
|
38
43
|
|
|
39
|
-
- name:
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
MACOS_CERTIFICATE_PWD: ${{ secrets.MACOS_CERTIFICATE_PWD }}
|
|
43
|
-
run: |
|
|
44
|
-
# Create temporary keychain
|
|
45
|
-
KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
|
|
46
|
-
KEYCHAIN_PASSWORD=$(openssl rand -base64 32)
|
|
47
|
-
|
|
48
|
-
# Decode certificate and import to keychain
|
|
49
|
-
echo "$MACOS_CERTIFICATE" | base64 --decode > certificate.p12
|
|
50
|
-
security create-keychain -p "$KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH"
|
|
51
|
-
security set-keychain-settings -lut 21600 "$KEYCHAIN_PATH"
|
|
52
|
-
security unlock-keychain -p "$KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH"
|
|
53
|
-
security import certificate.p12 -k "$KEYCHAIN_PATH" -P "$MACOS_CERTIFICATE_PWD" -T /usr/bin/codesign
|
|
54
|
-
security list-keychain -d user -s "$KEYCHAIN_PATH"
|
|
55
|
-
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "$KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH"
|
|
56
|
-
|
|
57
|
-
# Clean up certificate file
|
|
58
|
-
rm certificate.p12
|
|
59
|
-
|
|
60
|
-
- name: Code Sign Binary
|
|
61
|
-
env:
|
|
62
|
-
DEVELOPER_ID: ${{ secrets.MACOS_DEVELOPER_ID }}
|
|
63
|
-
run: |
|
|
64
|
-
FILE=$(ls bin)
|
|
65
|
-
echo "Code signing: $FILE"
|
|
66
|
-
codesign --force --options runtime --sign "$DEVELOPER_ID" --timestamp "bin/$FILE"
|
|
67
|
-
codesign --verify --verbose "bin/$FILE"
|
|
68
|
-
|
|
69
|
-
- name: Notarize Binary (Optional)
|
|
70
|
-
env:
|
|
71
|
-
APPLE_ID: ${{ secrets.APPLE_ID }}
|
|
72
|
-
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }}
|
|
73
|
-
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
|
|
74
|
-
run: |
|
|
75
|
-
FILE=$(ls bin)
|
|
76
|
-
|
|
77
|
-
# Create a zip for notarization
|
|
78
|
-
ditto -c -k --keepParent "bin/$FILE" "bin/$FILE.zip"
|
|
79
|
-
|
|
80
|
-
# Submit for notarization
|
|
81
|
-
xcrun notarytool submit "bin/$FILE.zip" \
|
|
82
|
-
--apple-id "$APPLE_ID" \
|
|
83
|
-
--password "$APPLE_APP_SPECIFIC_PASSWORD" \
|
|
84
|
-
--team-id "$APPLE_TEAM_ID" \
|
|
85
|
-
--wait
|
|
86
|
-
|
|
87
|
-
# Remove zip file
|
|
88
|
-
rm "bin/$FILE.zip"
|
|
89
|
-
|
|
90
|
-
echo "Notarization complete"
|
|
44
|
+
- name: Run pkg build for arm64
|
|
45
|
+
if: ${{ matrix.name == 'Ubuntu-arm64' }}
|
|
46
|
+
run: npm run pack:linux-arm64
|
|
91
47
|
|
|
92
|
-
- name: Show
|
|
93
|
-
run: ls -R ./
|
|
48
|
+
- name: Show out directory
|
|
49
|
+
run: ls -R ./out
|
|
94
50
|
|
|
95
51
|
- name: Upload artifact to GitHub Release
|
|
96
52
|
env:
|
|
97
53
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
98
54
|
shell: bash
|
|
99
55
|
run: |
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
echo "Detected build artifact: $FILE"
|
|
106
|
-
|
|
107
|
-
# Create release if not exists
|
|
108
|
-
gh release create "$VERSION" --notes "Release $VERSION" --title "$VERSION" || true
|
|
109
|
-
|
|
110
|
-
echo "Uploading $FILE to GitHub Release…"
|
|
111
|
-
gh release upload "$VERSION" "bin/$FILE" --clobber
|
|
112
|
-
|
|
113
|
-
- name: Cleanup Keychain
|
|
114
|
-
if: always()
|
|
115
|
-
run: |
|
|
116
|
-
KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
|
|
117
|
-
if [ -f "$KEYCHAIN_PATH" ]; then
|
|
118
|
-
security delete-keychain "$KEYCHAIN_PATH"
|
|
119
|
-
fi
|
|
56
|
+
for FILE in out/*; do
|
|
57
|
+
echo "Uploading $FILE"
|
|
58
|
+
gh release upload "$RELEASE_TAG" "$FILE" --clobber
|
|
59
|
+
done
|
|
120
60
|
|
|
121
61
|
Windows:
|
|
122
62
|
name: Build on ${{ matrix.name }} and upload
|
|
@@ -150,29 +90,26 @@ jobs:
|
|
|
150
90
|
- name: Build (tsup)
|
|
151
91
|
run: npm run build
|
|
152
92
|
|
|
153
|
-
- name: Run
|
|
154
|
-
|
|
93
|
+
- name: Run pkg build for x64
|
|
94
|
+
if: ${{ matrix.name == 'Windows-x64' }}
|
|
95
|
+
run: npm run pack:win-x64
|
|
96
|
+
|
|
97
|
+
- name: Run pkg build for arm64
|
|
98
|
+
if: ${{ matrix.name == 'Windows-arm64' }}
|
|
99
|
+
run: npm run pack:win-arm64
|
|
155
100
|
|
|
156
|
-
- name: See
|
|
157
|
-
run: ls -R ./
|
|
101
|
+
- name: See out directory
|
|
102
|
+
run: ls -R ./out
|
|
158
103
|
|
|
159
104
|
- name: Upload artifact to GitHub Release
|
|
160
105
|
env:
|
|
161
106
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
162
107
|
shell: bash
|
|
163
108
|
run: |
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
echo "Detected build artifact: $FILE"
|
|
170
|
-
|
|
171
|
-
# Create release if not exists
|
|
172
|
-
gh release create "$VERSION" --notes "Release $VERSION" --title "$VERSION" || true
|
|
173
|
-
|
|
174
|
-
echo "Uploading $FILE to GitHub Release…"
|
|
175
|
-
gh release upload "$VERSION" "bin/$FILE" --clobber
|
|
109
|
+
for FILE in out/*; do
|
|
110
|
+
echo "Uploading $FILE"
|
|
111
|
+
gh release upload "$RELEASE_TAG" "$FILE" --clobber
|
|
112
|
+
done
|
|
176
113
|
|
|
177
114
|
|
|
178
115
|
MacOS:
|
|
@@ -203,26 +140,84 @@ jobs:
|
|
|
203
140
|
- name: Build (tsup)
|
|
204
141
|
run: npm run build
|
|
205
142
|
|
|
206
|
-
- name: Run
|
|
207
|
-
|
|
143
|
+
- name: Run pkg build for x64
|
|
144
|
+
if: ${{ matrix.name == 'MacOS-x64' }}
|
|
145
|
+
run: npm run pack:macos-x64
|
|
146
|
+
|
|
147
|
+
- name: Run pkg build for arm64
|
|
148
|
+
if: ${{ matrix.name == 'MacOS-arm64' }}
|
|
149
|
+
run: npm run pack:macos-arm64
|
|
150
|
+
|
|
151
|
+
- name: Import Code Signing Certificate
|
|
152
|
+
env:
|
|
153
|
+
MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
|
|
154
|
+
MACOS_CERTIFICATE_PWD: ${{ secrets.MACOS_CERTIFICATE_PWD }}
|
|
155
|
+
run: |
|
|
156
|
+
# Create temporary keychain
|
|
157
|
+
KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
|
|
158
|
+
KEYCHAIN_PASSWORD=$(openssl rand -base64 32)
|
|
159
|
+
|
|
160
|
+
# Decode certificate and import to keychain
|
|
161
|
+
echo "$MACOS_CERTIFICATE" | base64 --decode > certificate.p12
|
|
162
|
+
security create-keychain -p "$KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH"
|
|
163
|
+
security set-keychain-settings -lut 21600 "$KEYCHAIN_PATH"
|
|
164
|
+
security unlock-keychain -p "$KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH"
|
|
165
|
+
security import certificate.p12 -k "$KEYCHAIN_PATH" -P "$MACOS_CERTIFICATE_PWD" -T /usr/bin/codesign
|
|
166
|
+
security list-keychain -d user -s "$KEYCHAIN_PATH"
|
|
167
|
+
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "$KEYCHAIN_PASSWORD" "$KEYCHAIN_PATH"
|
|
168
|
+
|
|
169
|
+
# Clean up certificate file
|
|
170
|
+
rm certificate.p12
|
|
208
171
|
|
|
209
|
-
- name:
|
|
210
|
-
|
|
172
|
+
- name: Code Sign Binary
|
|
173
|
+
env:
|
|
174
|
+
DEVELOPER_ID: ${{ secrets.MACOS_DEVELOPER_ID }}
|
|
175
|
+
run: |
|
|
176
|
+
FILE=$(ls out)
|
|
177
|
+
echo "Code signing: $FILE"
|
|
178
|
+
codesign --deep --force --options runtime --sign "$DEVELOPER_ID" --timestamp --entitlements ent.plist "out/$FILE"
|
|
179
|
+
codesign --verify --verbose "out/$FILE"
|
|
180
|
+
|
|
181
|
+
- name: Notarize Binary (Optional)
|
|
182
|
+
env:
|
|
183
|
+
APPLE_ID: ${{ secrets.APPLE_ID }}
|
|
184
|
+
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }}
|
|
185
|
+
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
|
|
186
|
+
run: |
|
|
187
|
+
FILE=$(ls out)
|
|
188
|
+
|
|
189
|
+
# Create a zip for notarization
|
|
190
|
+
ditto -c -k --keepParent "out/$FILE" "out/$FILE.zip"
|
|
191
|
+
|
|
192
|
+
# Submit for notarization
|
|
193
|
+
xcrun notarytool submit "out/$FILE.zip" \
|
|
194
|
+
--apple-id "$APPLE_ID" \
|
|
195
|
+
--password "$APPLE_APP_SPECIFIC_PASSWORD" \
|
|
196
|
+
--team-id "$APPLE_TEAM_ID" \
|
|
197
|
+
--wait
|
|
198
|
+
|
|
199
|
+
# Remove zip file
|
|
200
|
+
rm "out/$FILE.zip"
|
|
201
|
+
|
|
202
|
+
echo "Notarization complete"
|
|
203
|
+
|
|
204
|
+
- name: See out directory
|
|
205
|
+
run: ls -R ./out
|
|
211
206
|
|
|
212
207
|
- name: Upload artifact to GitHub Release
|
|
213
208
|
env:
|
|
214
209
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
215
210
|
shell: bash
|
|
216
211
|
run: |
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
echo "Detected build artifact: $FILE"
|
|
222
|
-
|
|
223
|
-
# Create release if it does not exist
|
|
224
|
-
gh release create "$VERSION" --notes "Release $VERSION" --title "$VERSION" || true
|
|
225
|
-
|
|
226
|
-
echo "Uploading $FILE to GitHub Release…"
|
|
227
|
-
gh release upload "$VERSION" "bin/$FILE" --clobber
|
|
212
|
+
for FILE in out/*; do
|
|
213
|
+
echo "Uploading $FILE"
|
|
214
|
+
gh release upload "$RELEASE_TAG" "$FILE" --clobber
|
|
215
|
+
done
|
|
228
216
|
|
|
217
|
+
- name: Cleanup Keychain
|
|
218
|
+
if: always()
|
|
219
|
+
run: |
|
|
220
|
+
KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db
|
|
221
|
+
if [ -f "$KEYCHAIN_PATH" ]; then
|
|
222
|
+
security delete-keychain "$KEYCHAIN_PATH"
|
|
223
|
+
fi
|
package/Makefile
CHANGED