tmex-cli 0.1.4 → 0.1.6
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/dist/runtime/server.js +421 -14
- package/package.json +3 -2
- package/resources/fe-dist/assets/DevicePage-Beg8tuEN.css +32 -0
- package/resources/fe-dist/assets/DevicePage-DXr7cn5f.js +31 -0
- package/resources/fe-dist/assets/DevicePage-DXr7cn5f.js.map +1 -0
- package/resources/fe-dist/assets/DevicesPage-DClS6lhB.js +17 -0
- package/resources/fe-dist/assets/DevicesPage-DClS6lhB.js.map +1 -0
- package/resources/fe-dist/assets/SettingsPage-DZPiSKLS.js +17 -0
- package/resources/fe-dist/assets/SettingsPage-DZPiSKLS.js.map +1 -0
- package/resources/fe-dist/assets/index-DLLCJhRn.css +1 -0
- package/resources/fe-dist/assets/index-uap7lu9-.js +200 -0
- package/resources/fe-dist/assets/index-uap7lu9-.js.map +1 -0
- package/resources/fe-dist/assets/select-DOLHUgAj.js +12 -0
- package/resources/fe-dist/assets/select-DOLHUgAj.js.map +1 -0
- package/resources/fe-dist/assets/switch-DbiHVHFg.js +12 -0
- package/resources/fe-dist/assets/switch-DbiHVHFg.js.map +1 -0
- package/resources/fe-dist/assets/tmex-DcyZpuP8.png +0 -0
- package/resources/fe-dist/assets/useValueChanged-DoNZeDee.js +2 -0
- package/resources/fe-dist/assets/useValueChanged-DoNZeDee.js.map +1 -0
- package/resources/fe-dist/index.html +10 -3
- package/resources/fe-dist/logo.png +0 -0
- package/resources/gateway-drizzle/0000_busy_starjammers.sql +1 -2
- package/resources/gateway-drizzle/meta/0000_snapshot.json +0 -4
- package/resources/gateway-drizzle/meta/0001_snapshot.json +0 -4
- package/resources/fe-dist/assets/index-D7lUHQCR.css +0 -32
- package/resources/fe-dist/assets/index-DNlxXBdI.js +0 -333
- package/resources/fe-dist/assets/index-DNlxXBdI.js.map +0 -1
package/dist/runtime/server.js
CHANGED
|
@@ -19577,10 +19577,13 @@ var I18N_RESOURCES = {
|
|
|
19577
19577
|
none: "None",
|
|
19578
19578
|
default: "Default",
|
|
19579
19579
|
optional: "Optional",
|
|
19580
|
-
required: "Required"
|
|
19580
|
+
required: "Required",
|
|
19581
|
+
pwaInstallTitle: "Install as app",
|
|
19582
|
+
pwaInstallHintIOSSafari: 'iOS Safari does not show an automatic install prompt. Tap Share, then "Add to Home Screen".',
|
|
19583
|
+
pwaInstallHintIOSChrome: 'iOS Chrome does not show an automatic install prompt. Tap Share, then "Add to Home Screen".'
|
|
19581
19584
|
},
|
|
19582
19585
|
nav: {
|
|
19583
|
-
|
|
19586
|
+
manageDevices: "Manage Devices",
|
|
19584
19587
|
settings: "Settings",
|
|
19585
19588
|
sidebarExpand: "Expand Sidebar",
|
|
19586
19589
|
sidebarCollapse: "Collapse Sidebar",
|
|
@@ -19588,10 +19591,13 @@ var I18N_RESOURCES = {
|
|
|
19588
19591
|
closeSidebar: "Close Sidebar",
|
|
19589
19592
|
jumpToLatest: "Jump to Latest",
|
|
19590
19593
|
switchToEditor: "Switch to Editor Input",
|
|
19591
|
-
switchToDirect: "Switch to Direct Input"
|
|
19594
|
+
switchToDirect: "Switch to Direct Input",
|
|
19595
|
+
refreshPage: "Refresh Page",
|
|
19596
|
+
refreshPageConfirm: "Are you sure you want to refresh the page? Unsaved content will be lost."
|
|
19592
19597
|
},
|
|
19593
19598
|
device: {
|
|
19594
19599
|
title: "Device Management",
|
|
19600
|
+
devices: "Devices",
|
|
19595
19601
|
addDevice: "Add Device",
|
|
19596
19602
|
addFirstDevice: "Add First Device",
|
|
19597
19603
|
editDevice: "Edit Device",
|
|
@@ -19602,6 +19608,7 @@ var I18N_RESOURCES = {
|
|
|
19602
19608
|
type: "Type",
|
|
19603
19609
|
typeLocal: "Local Device",
|
|
19604
19610
|
typeSSH: "SSH Remote Device",
|
|
19611
|
+
typeSSHBadge: "SSH",
|
|
19605
19612
|
host: "Host",
|
|
19606
19613
|
hostPlaceholder: "example.com",
|
|
19607
19614
|
port: "Port",
|
|
@@ -19682,6 +19689,12 @@ var I18N_RESOURCES = {
|
|
|
19682
19689
|
languagePlaceholder: "Select language",
|
|
19683
19690
|
language_en_US: "English",
|
|
19684
19691
|
language_zh_CN: "\u7B80\u4F53\u4E2D\u6587",
|
|
19692
|
+
language_ja_JP: "\u65E5\u672C\u8A9E",
|
|
19693
|
+
theme: "Theme",
|
|
19694
|
+
themeLight: "Light",
|
|
19695
|
+
themeDark: "Dark",
|
|
19696
|
+
siteTab: "Site",
|
|
19697
|
+
notificationsTab: "Notifications",
|
|
19685
19698
|
refreshToApply: "Refresh to apply language change",
|
|
19686
19699
|
saveSettings: "Save Settings",
|
|
19687
19700
|
settingsSaved: "Settings saved",
|
|
@@ -19689,6 +19702,7 @@ var I18N_RESOURCES = {
|
|
|
19689
19702
|
loadFailed: "Failed to load settings",
|
|
19690
19703
|
restartGateway: "Restart Gateway",
|
|
19691
19704
|
restartScheduled: "Gateway restart scheduled",
|
|
19705
|
+
restartConfirm: "Are you sure you want to restart Gateway? This will interrupt all active connections.",
|
|
19692
19706
|
restartFailed: "Failed to restart gateway",
|
|
19693
19707
|
sshReconnectMaxRetries: "SSH Reconnect Retries"
|
|
19694
19708
|
},
|
|
@@ -19748,6 +19762,19 @@ Time: {{time}}`,
|
|
|
19748
19762
|
botNotFound: "Bot not found or unavailable",
|
|
19749
19763
|
botNotRunning: "Bot is not running or unavailable"
|
|
19750
19764
|
},
|
|
19765
|
+
webhook: {
|
|
19766
|
+
title: "Webhooks",
|
|
19767
|
+
url: "Webhook URL",
|
|
19768
|
+
secret: "Secret",
|
|
19769
|
+
secretPlaceholder: "Used to sign payloads (HMAC-SHA256)",
|
|
19770
|
+
enabled: "Enabled",
|
|
19771
|
+
eventMask: "Events",
|
|
19772
|
+
add: "Add Webhook",
|
|
19773
|
+
empty: "No webhooks yet.",
|
|
19774
|
+
createFailed: "Failed to create webhook",
|
|
19775
|
+
deleteFailed: "Failed to delete webhook",
|
|
19776
|
+
loadFailed: "Failed to load webhooks"
|
|
19777
|
+
},
|
|
19751
19778
|
sshError: {
|
|
19752
19779
|
sshConfigRefNotSupported: "SSH Config reference is not supported in this version. Please use host + username with Agent/Key/Password authentication.",
|
|
19753
19780
|
configRefNotSupported: "SSH Config reference is not supported in this version. Please use host + username with Agent/Key/Password authentication.",
|
|
@@ -19783,7 +19810,7 @@ Time: {{time}}`,
|
|
|
19783
19810
|
bellThrottleInvalid: "Bell throttle seconds must be between 0-300",
|
|
19784
19811
|
sshRetriesInvalid: "SSH reconnect retries must be between 0-20",
|
|
19785
19812
|
sshDelayInvalid: "SSH reconnect delay must be between 1-300 seconds",
|
|
19786
|
-
languageInvalid: "Language must be
|
|
19813
|
+
languageInvalid: "Language must be one of the supported locales",
|
|
19787
19814
|
botNameRequired: "Bot name cannot be empty",
|
|
19788
19815
|
botTokenRequired: "Bot token cannot be empty",
|
|
19789
19816
|
missingFields: "Missing required fields",
|
|
@@ -19872,10 +19899,13 @@ Time: {{time}}`,
|
|
|
19872
19899
|
none: "\u65E0",
|
|
19873
19900
|
default: "\u9ED8\u8BA4",
|
|
19874
19901
|
optional: "\u53EF\u9009",
|
|
19875
|
-
required: "\u5FC5\u586B"
|
|
19902
|
+
required: "\u5FC5\u586B",
|
|
19903
|
+
pwaInstallTitle: "\u5B89\u88C5\u4E3A\u5E94\u7528",
|
|
19904
|
+
pwaInstallHintIOSSafari: "iOS Safari \u4E0D\u4F1A\u81EA\u52A8\u5F39\u51FA\u5B89\u88C5\u63D0\u793A\u3002\u8BF7\u70B9\u51FB\u300C\u5206\u4EAB\u300D\uFF0C\u518D\u9009\u62E9\u300C\u6DFB\u52A0\u5230\u4E3B\u5C4F\u5E55\u300D\u3002",
|
|
19905
|
+
pwaInstallHintIOSChrome: "iOS Chrome \u4E0D\u4F1A\u81EA\u52A8\u5F39\u51FA\u5B89\u88C5\u63D0\u793A\u3002\u8BF7\u70B9\u51FB\u300C\u5206\u4EAB\u300D\uFF0C\u518D\u9009\u62E9\u300C\u6DFB\u52A0\u5230\u4E3B\u5C4F\u5E55\u300D"
|
|
19876
19906
|
},
|
|
19877
19907
|
nav: {
|
|
19878
|
-
|
|
19908
|
+
manageDevices: "\u7BA1\u7406\u8BBE\u5907",
|
|
19879
19909
|
settings: "\u8BBE\u7F6E",
|
|
19880
19910
|
sidebarExpand: "\u5C55\u5F00\u4FA7\u8FB9\u680F",
|
|
19881
19911
|
sidebarCollapse: "\u6536\u8D77\u4FA7\u8FB9\u680F",
|
|
@@ -19883,10 +19913,13 @@ Time: {{time}}`,
|
|
|
19883
19913
|
closeSidebar: "\u5173\u95ED\u4FA7\u8FB9\u680F",
|
|
19884
19914
|
jumpToLatest: "\u8DF3\u8F6C\u5230\u6700\u65B0",
|
|
19885
19915
|
switchToEditor: "\u5207\u6362\u5230\u7F16\u8F91\u5668\u8F93\u5165",
|
|
19886
|
-
switchToDirect: "\u5207\u6362\u5230\u76F4\u63A5\u8F93\u5165"
|
|
19916
|
+
switchToDirect: "\u5207\u6362\u5230\u76F4\u63A5\u8F93\u5165",
|
|
19917
|
+
refreshPage: "\u5237\u65B0\u9875\u9762",
|
|
19918
|
+
refreshPageConfirm: "\u786E\u5B9A\u8981\u5237\u65B0\u9875\u9762\u5417\uFF1F\u672A\u4FDD\u5B58\u7684\u5185\u5BB9\u5C06\u4F1A\u4E22\u5931\u3002"
|
|
19887
19919
|
},
|
|
19888
19920
|
device: {
|
|
19889
19921
|
title: "\u8BBE\u5907\u7BA1\u7406",
|
|
19922
|
+
devices: "\u8BBE\u5907",
|
|
19890
19923
|
addDevice: "\u6DFB\u52A0\u8BBE\u5907",
|
|
19891
19924
|
addFirstDevice: "\u6DFB\u52A0\u7B2C\u4E00\u4E2A\u8BBE\u5907",
|
|
19892
19925
|
editDevice: "\u4FEE\u6539\u8BBE\u5907",
|
|
@@ -19897,6 +19930,7 @@ Time: {{time}}`,
|
|
|
19897
19930
|
type: "\u7C7B\u578B",
|
|
19898
19931
|
typeLocal: "\u672C\u5730\u8BBE\u5907",
|
|
19899
19932
|
typeSSH: "SSH \u8FDC\u7A0B\u8BBE\u5907",
|
|
19933
|
+
typeSSHBadge: "SSH",
|
|
19900
19934
|
host: "\u4E3B\u673A",
|
|
19901
19935
|
hostPlaceholder: "example.com",
|
|
19902
19936
|
port: "\u7AEF\u53E3",
|
|
@@ -19977,6 +20011,12 @@ Time: {{time}}`,
|
|
|
19977
20011
|
languagePlaceholder: "\u9009\u62E9\u8BED\u8A00",
|
|
19978
20012
|
language_en_US: "English",
|
|
19979
20013
|
language_zh_CN: "\u7B80\u4F53\u4E2D\u6587",
|
|
20014
|
+
language_ja_JP: "\u65E5\u672C\u8A9E",
|
|
20015
|
+
theme: "\u4E3B\u9898",
|
|
20016
|
+
themeLight: "\u6D45\u8272",
|
|
20017
|
+
themeDark: "\u6DF1\u8272",
|
|
20018
|
+
siteTab: "\u7AD9\u70B9",
|
|
20019
|
+
notificationsTab: "\u901A\u77E5",
|
|
19980
20020
|
refreshToApply: "\u5237\u65B0\u540E\u751F\u6548",
|
|
19981
20021
|
saveSettings: "\u4FDD\u5B58\u8BBE\u7F6E",
|
|
19982
20022
|
settingsSaved: "\u7AD9\u70B9\u8BBE\u7F6E\u5DF2\u4FDD\u5B58",
|
|
@@ -19984,6 +20024,7 @@ Time: {{time}}`,
|
|
|
19984
20024
|
loadFailed: "\u52A0\u8F7D\u8BBE\u7F6E\u5931\u8D25",
|
|
19985
20025
|
restartGateway: "\u91CD\u542F Gateway",
|
|
19986
20026
|
restartScheduled: "Gateway \u91CD\u542F\u8BF7\u6C42\u5DF2\u53D1\u9001",
|
|
20027
|
+
restartConfirm: "\u786E\u5B9A\u8981\u91CD\u542F Gateway \u5417\uFF1F\u8FD9\u5C06\u4E2D\u65AD\u6240\u6709\u6D3B\u52A8\u8FDE\u63A5\u3002",
|
|
19987
20028
|
restartFailed: "\u91CD\u542F\u8BF7\u6C42\u5931\u8D25",
|
|
19988
20029
|
sshReconnectMaxRetries: "SSH \u91CD\u8FDE\u6B21\u6570"
|
|
19989
20030
|
},
|
|
@@ -20043,6 +20084,19 @@ Bot\uFF1A{{botName}}
|
|
|
20043
20084
|
botNotFound: "Bot \u672A\u542F\u52A8\u6216\u4E0D\u53EF\u7528",
|
|
20044
20085
|
botNotRunning: "Bot \u672A\u542F\u52A8\u6216\u4E0D\u53EF\u7528"
|
|
20045
20086
|
},
|
|
20087
|
+
webhook: {
|
|
20088
|
+
title: "Webhooks",
|
|
20089
|
+
url: "Webhook \u5730\u5740",
|
|
20090
|
+
secret: "\u5BC6\u94A5",
|
|
20091
|
+
secretPlaceholder: "\u7528\u4E8E\u7B7E\u540D\uFF08HMAC-SHA256\uFF09",
|
|
20092
|
+
enabled: "\u542F\u7528",
|
|
20093
|
+
eventMask: "\u4E8B\u4EF6",
|
|
20094
|
+
add: "\u6DFB\u52A0 Webhook",
|
|
20095
|
+
empty: "\u6682\u65E0 Webhook\u3002",
|
|
20096
|
+
createFailed: "\u521B\u5EFA Webhook \u5931\u8D25",
|
|
20097
|
+
deleteFailed: "\u5220\u9664 Webhook \u5931\u8D25",
|
|
20098
|
+
loadFailed: "\u52A0\u8F7D Webhook \u5931\u8D25"
|
|
20099
|
+
},
|
|
20046
20100
|
sshError: {
|
|
20047
20101
|
sshConfigRefNotSupported: "\u5F53\u524D\u7248\u672C\u6682\u4E0D\u652F\u6301 SSH Config \u5F15\u7528\uFF0C\u8BF7\u6539\u4E3A\u586B\u5199 host + username\uFF0C\u5E76\u9009\u62E9 Agent/\u79C1\u94A5/\u5BC6\u7801\u8BA4\u8BC1",
|
|
20048
20102
|
configRefNotSupported: "\u5F53\u524D\u7248\u672C\u6682\u4E0D\u652F\u6301 SSH Config \u5F15\u7528\uFF0C\u8BF7\u6539\u4E3A\u586B\u5199 host + username\uFF0C\u5E76\u9009\u62E9 Agent/\u79C1\u94A5/\u5BC6\u7801\u8BA4\u8BC1",
|
|
@@ -20078,7 +20132,7 @@ Bot\uFF1A{{botName}}
|
|
|
20078
20132
|
bellThrottleInvalid: "Bell \u9891\u63A7\u79D2\u6570\u9700\u5728 0-300 \u4E4B\u95F4",
|
|
20079
20133
|
sshRetriesInvalid: "SSH \u91CD\u8FDE\u6B21\u6570\u9700\u5728 0-20 \u4E4B\u95F4",
|
|
20080
20134
|
sshDelayInvalid: "SSH \u91CD\u8FDE\u7B49\u5F85\u65F6\u95F4\u9700\u5728 1-300 \u79D2\u4E4B\u95F4",
|
|
20081
|
-
languageInvalid: "\u8BED\u8A00\u5FC5\u987B\u662F
|
|
20135
|
+
languageInvalid: "\u8BED\u8A00\u5FC5\u987B\u662F\u53D7\u652F\u6301\u7684\u533A\u57DF\u8BBE\u7F6E\u4E4B\u4E00",
|
|
20082
20136
|
botNameRequired: "Bot \u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A",
|
|
20083
20137
|
botTokenRequired: "Bot token \u4E0D\u80FD\u4E3A\u7A7A",
|
|
20084
20138
|
missingFields: "\u7F3A\u5C11\u5FC5\u586B\u5B57\u6BB5",
|
|
@@ -20134,15 +20188,335 @@ Bot\uFF1A{{botName}}
|
|
|
20134
20188
|
hostRequired: "SSH \u8BBE\u5907\u9700\u8981\u586B\u5199\u4E3B\u673A\u5730\u5740"
|
|
20135
20189
|
}
|
|
20136
20190
|
}
|
|
20191
|
+
},
|
|
20192
|
+
ja_JP: {
|
|
20193
|
+
translation: {
|
|
20194
|
+
common: {
|
|
20195
|
+
loading: "\u8AAD\u307F\u8FBC\u307F\u4E2D...",
|
|
20196
|
+
save: "\u4FDD\u5B58",
|
|
20197
|
+
saving: "\u4FDD\u5B58\u4E2D...",
|
|
20198
|
+
cancel: "\u30AD\u30E3\u30F3\u30BB\u30EB",
|
|
20199
|
+
add: "\u8FFD\u52A0",
|
|
20200
|
+
delete: "\u524A\u9664",
|
|
20201
|
+
edit: "\u7DE8\u96C6",
|
|
20202
|
+
confirm: "\u78BA\u8A8D",
|
|
20203
|
+
close: "\u9589\u3058\u308B",
|
|
20204
|
+
expand: "\u5C55\u958B",
|
|
20205
|
+
collapse: "\u6298\u308A\u305F\u305F\u3080",
|
|
20206
|
+
refresh: "\u66F4\u65B0",
|
|
20207
|
+
test: "\u30C6\u30B9\u30C8",
|
|
20208
|
+
send: "\u9001\u4FE1",
|
|
20209
|
+
success: "\u6210\u529F",
|
|
20210
|
+
error: "\u30A8\u30E9\u30FC",
|
|
20211
|
+
warning: "\u8B66\u544A",
|
|
20212
|
+
info: "\u60C5\u5831",
|
|
20213
|
+
yes: "\u306F\u3044",
|
|
20214
|
+
no: "\u3044\u3044\u3048",
|
|
20215
|
+
enabled: "\u6709\u52B9",
|
|
20216
|
+
disabled: "\u7121\u52B9",
|
|
20217
|
+
pending: "\u4FDD\u7559\u4E2D",
|
|
20218
|
+
authorized: "\u627F\u8A8D\u6E08\u307F",
|
|
20219
|
+
unknown: "\u4E0D\u660E",
|
|
20220
|
+
empty: "\u7A7A",
|
|
20221
|
+
none: "\u306A\u3057",
|
|
20222
|
+
default: "\u30C7\u30D5\u30A9\u30EB\u30C8",
|
|
20223
|
+
optional: "\u4EFB\u610F",
|
|
20224
|
+
required: "\u5FC5\u9808",
|
|
20225
|
+
pwaInstallTitle: "\u30A2\u30D7\u30EA\u3068\u3057\u3066\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB",
|
|
20226
|
+
pwaInstallHintIOSSafari: "iOS Safari \u3067\u306F\u81EA\u52D5\u7684\u306B\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u30D7\u30ED\u30F3\u30D7\u30C8\u304C\u8868\u793A\u3055\u308C\u307E\u305B\u3093\u3002\u5171\u6709\u30DC\u30BF\u30F3\u3092\u30BF\u30C3\u30D7\u3057\u3001\u300C\u30DB\u30FC\u30E0\u753B\u9762\u306B\u8FFD\u52A0\u300D\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
20227
|
+
pwaInstallHintIOSChrome: "iOS Chrome \u3067\u306F\u81EA\u52D5\u7684\u306B\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u30D7\u30ED\u30F3\u30D7\u30C8\u304C\u8868\u793A\u3055\u308C\u307E\u305B\u3093\u3002\u5171\u6709\u30DC\u30BF\u30F3\u3092\u30BF\u30C3\u30D7\u3057\u3001\u300C\u30DB\u30FC\u30E0\u753B\u9762\u306B\u8FFD\u52A0\u300D\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002"
|
|
20228
|
+
},
|
|
20229
|
+
nav: {
|
|
20230
|
+
manageDevices: "\u30C7\u30D0\u30A4\u30B9\u7BA1\u7406",
|
|
20231
|
+
settings: "\u8A2D\u5B9A",
|
|
20232
|
+
sidebarExpand: "\u30B5\u30A4\u30C9\u30D0\u30FC\u3092\u5C55\u958B",
|
|
20233
|
+
sidebarCollapse: "\u30B5\u30A4\u30C9\u30D0\u30FC\u3092\u6298\u308A\u305F\u305F\u3080",
|
|
20234
|
+
openSidebar: "\u30B5\u30A4\u30C9\u30D0\u30FC\u3092\u958B\u304F",
|
|
20235
|
+
closeSidebar: "\u30B5\u30A4\u30C9\u30D0\u30FC\u3092\u9589\u3058\u308B",
|
|
20236
|
+
jumpToLatest: "\u6700\u65B0\u306B\u30B8\u30E3\u30F3\u30D7",
|
|
20237
|
+
switchToEditor: "\u30A8\u30C7\u30A3\u30BF\u5165\u529B\u306B\u5207\u308A\u66FF\u3048",
|
|
20238
|
+
switchToDirect: "\u76F4\u63A5\u5165\u529B\u306B\u5207\u308A\u66FF\u3048",
|
|
20239
|
+
refreshPage: "\u30DA\u30FC\u30B8\u3092\u66F4\u65B0",
|
|
20240
|
+
refreshPageConfirm: "\u30DA\u30FC\u30B8\u3092\u66F4\u65B0\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B\uFF1F\u4FDD\u5B58\u3055\u308C\u3066\u3044\u306A\u3044\u5185\u5BB9\u306F\u5931\u308F\u308C\u307E\u3059\u3002"
|
|
20241
|
+
},
|
|
20242
|
+
device: {
|
|
20243
|
+
title: "\u30C7\u30D0\u30A4\u30B9\u7BA1\u7406",
|
|
20244
|
+
devices: "\u30C7\u30D0\u30A4\u30B9",
|
|
20245
|
+
addDevice: "\u30C7\u30D0\u30A4\u30B9\u3092\u8FFD\u52A0",
|
|
20246
|
+
addFirstDevice: "\u6700\u521D\u306E\u30C7\u30D0\u30A4\u30B9\u3092\u8FFD\u52A0",
|
|
20247
|
+
editDevice: "\u30C7\u30D0\u30A4\u30B9\u3092\u7DE8\u96C6",
|
|
20248
|
+
noDevices: "\u30C7\u30D0\u30A4\u30B9\u304C\u3042\u308A\u307E\u305B\u3093",
|
|
20249
|
+
noDevicesDescription: "\u30ED\u30FC\u30AB\u30EB\u307E\u305F\u306F SSH \u30C7\u30D0\u30A4\u30B9\u3092\u8FFD\u52A0\u3057\u3066\u958B\u59CB",
|
|
20250
|
+
name: "\u30C7\u30D0\u30A4\u30B9\u540D",
|
|
20251
|
+
namePlaceholder: "\u4F8B\uFF1AMy Server",
|
|
20252
|
+
type: "\u30BF\u30A4\u30D7",
|
|
20253
|
+
typeLocal: "\u30ED\u30FC\u30AB\u30EB\u30C7\u30D0\u30A4\u30B9",
|
|
20254
|
+
typeSSH: "SSH \u30EA\u30E2\u30FC\u30C8\u30C7\u30D0\u30A4\u30B9",
|
|
20255
|
+
typeSSHBadge: "SSH",
|
|
20256
|
+
host: "\u30DB\u30B9\u30C8",
|
|
20257
|
+
hostPlaceholder: "example.com",
|
|
20258
|
+
port: "\u30DD\u30FC\u30C8",
|
|
20259
|
+
username: "\u30E6\u30FC\u30B6\u30FC\u540D",
|
|
20260
|
+
usernamePlaceholder: "root",
|
|
20261
|
+
session: "Tmux \u30BB\u30C3\u30B7\u30E7\u30F3\u540D",
|
|
20262
|
+
sessionPlaceholder: "tmex",
|
|
20263
|
+
sessionHint: "\u7A7A\u306E\u5834\u5408\u3001\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u300Ctmex\u300D\u304C\u4F7F\u7528\u3055\u308C\u307E\u3059",
|
|
20264
|
+
authMode: "\u8A8D\u8A3C\u30E2\u30FC\u30C9",
|
|
20265
|
+
authPassword: "\u30D1\u30B9\u30EF\u30FC\u30C9",
|
|
20266
|
+
authKey: "\u79D8\u5BC6\u9375",
|
|
20267
|
+
authAgent: "SSH Agent",
|
|
20268
|
+
authConfigRef: "SSH Config",
|
|
20269
|
+
password: "\u30D1\u30B9\u30EF\u30FC\u30C9",
|
|
20270
|
+
privateKey: "\u79D8\u5BC6\u9375",
|
|
20271
|
+
privateKeyPlaceholder: "-----BEGIN OPENSSH PRIVATE KEY-----",
|
|
20272
|
+
privateKeyPassphrase: "\u79D8\u5BC6\u9375\u306E\u30D1\u30B9\u30D5\u30EC\u30FC\u30BA\uFF08\u4EFB\u610F\uFF09",
|
|
20273
|
+
passphrase: "\u30D1\u30B9\u30D5\u30EC\u30FC\u30BA",
|
|
20274
|
+
connect: "\u63A5\u7D9A",
|
|
20275
|
+
connected: "\u63A5\u7D9A\u6E08\u307F",
|
|
20276
|
+
disconnected: "\u5207\u65AD\u6E08\u307F",
|
|
20277
|
+
connecting: "\u63A5\u7D9A\u4E2D...",
|
|
20278
|
+
deleteConfirm: "\u3053\u306E\u30C7\u30D0\u30A4\u30B9\u3092\u524A\u9664\u3057\u307E\u3059\u304B\uFF1F",
|
|
20279
|
+
deleteSuccess: "\u30C7\u30D0\u30A4\u30B9\u3092\u524A\u9664\u3057\u307E\u3057\u305F",
|
|
20280
|
+
createSuccess: "\u30C7\u30D0\u30A4\u30B9\u3092\u4F5C\u6210\u3057\u307E\u3057\u305F",
|
|
20281
|
+
updateSuccess: "\u30C7\u30D0\u30A4\u30B9\u3092\u66F4\u65B0\u3057\u307E\u3057\u305F",
|
|
20282
|
+
deleteFailed: "\u30C7\u30D0\u30A4\u30B9\u306E\u524A\u9664\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
|
|
20283
|
+
createFailed: "\u30C7\u30D0\u30A4\u30B9\u306E\u4F5C\u6210\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
|
|
20284
|
+
updateFailed: "\u30C7\u30D0\u30A4\u30B9\u306E\u66F4\u65B0\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
|
|
20285
|
+
loadFailed: "\u30C7\u30D0\u30A4\u30B9\u4E00\u89A7\u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
|
|
20286
|
+
localDevice: "\u30ED\u30FC\u30AB\u30EB\u30C7\u30D0\u30A4\u30B9",
|
|
20287
|
+
subtitle: "{{username}}@{{host}}:{{port}}",
|
|
20288
|
+
modify: "\u30C7\u30D0\u30A4\u30B9\u3092\u5909\u66F4",
|
|
20289
|
+
delete: "\u524A\u9664"
|
|
20290
|
+
},
|
|
20291
|
+
terminal: {
|
|
20292
|
+
initializing: "\u30BF\u30FC\u30DF\u30CA\u30EB\u3092\u521D\u671F\u5316\u4E2D...",
|
|
20293
|
+
connecting: "\u30C7\u30D0\u30A4\u30B9\u306B\u63A5\u7D9A\u4E2D...",
|
|
20294
|
+
initFailed: "\u30BF\u30FC\u30DF\u30CA\u30EB\u306E\u521D\u671F\u5316\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
|
|
20295
|
+
inputPlaceholder: "\u3053\u3053\u306B\u30B3\u30DE\u30F3\u30C9\u3092\u5165\u529B...",
|
|
20296
|
+
clear: "\u30AF\u30EA\u30A2",
|
|
20297
|
+
deviceError: "\u30C7\u30D0\u30A4\u30B9\u30A8\u30E9\u30FC",
|
|
20298
|
+
deviceErrorWithType: "[{{type}}] \u30C7\u30D0\u30A4\u30B9\u30A8\u30E9\u30FC",
|
|
20299
|
+
noDeviceSelected: "\u30C7\u30D0\u30A4\u30B9\u304C\u9078\u629E\u3055\u308C\u3066\u3044\u307E\u305B\u3093",
|
|
20300
|
+
windowClosed: "\u73FE\u5728\u306E\u30A6\u30A3\u30F3\u30C9\u30A6\u306F\u9589\u3058\u3089\u308C\u307E\u3057\u305F\u3002\u30B5\u30A4\u30C9\u30D0\u30FC\u304B\u3089\u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
20301
|
+
paneClosed: "\u73FE\u5728\u306E\u30DA\u30A4\u30F3\u306F\u9589\u3058\u3089\u308C\u307E\u3057\u305F\u3002\u30B5\u30A4\u30C9\u30D0\u30FC\u304B\u3089\u30DA\u30A4\u30F3\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
20302
|
+
bellNotification: "\u30BF\u30FC\u30DF\u30CA\u30EB\u30D9\u30EB\u901A\u77E5",
|
|
20303
|
+
bellDescription: "\u30A6\u30A3\u30F3\u30C9\u30A6 {{window}} \xB7 \u30DA\u30A4\u30F3 {{pane}}",
|
|
20304
|
+
bellFallback: "tmux \u30D9\u30EB\u3092\u53D7\u4FE1",
|
|
20305
|
+
paneTitle: "\u30DA\u30A4\u30F3 {{index}}",
|
|
20306
|
+
activePane: "\u73FE\u5728\u306E\u30DA\u30A4\u30F3",
|
|
20307
|
+
activeWindow: "\u73FE\u5728\u306E\u30A6\u30A3\u30F3\u30C9\u30A6",
|
|
20308
|
+
editorPlaceholder: "\u3053\u3053\u306B\u30B3\u30DE\u30F3\u30C9\u3092\u5165\u529B...",
|
|
20309
|
+
editorClear: "\u30AF\u30EA\u30A2",
|
|
20310
|
+
editorSendWithEnter: "Enter \u3067\u9001\u4FE1",
|
|
20311
|
+
editorSendLineByLine: "1\u884C\u305A\u3064\u9001\u4FE1",
|
|
20312
|
+
editorSend: "\u9001\u4FE1",
|
|
20313
|
+
sendShortcut: "{{key}} \u3092\u9001\u4FE1",
|
|
20314
|
+
inputModeDirect: "\u76F4\u63A5\u5165\u529B",
|
|
20315
|
+
inputModeEditor: "\u30A8\u30C7\u30A3\u30BF",
|
|
20316
|
+
newWindow: "\u65B0\u898F\u30A6\u30A3\u30F3\u30C9\u30A6",
|
|
20317
|
+
closeWindow: "\u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u9589\u3058\u308B",
|
|
20318
|
+
closePane: "\u30DA\u30A4\u30F3\u3092\u9589\u3058\u308B"
|
|
20319
|
+
},
|
|
20320
|
+
settings: {
|
|
20321
|
+
title: "\u30B7\u30B9\u30C6\u30E0\u8A2D\u5B9A",
|
|
20322
|
+
siteSettings: "\u30B5\u30A4\u30C8\u8A2D\u5B9A",
|
|
20323
|
+
siteName: "\u30B5\u30A4\u30C8\u540D",
|
|
20324
|
+
siteNamePlaceholder: "tmex",
|
|
20325
|
+
siteUrl: "\u30B5\u30A4\u30C8 URL",
|
|
20326
|
+
siteUrlPlaceholder: "http://localhost:3000",
|
|
20327
|
+
bellThrottle: "\u30D9\u30EB\u5236\u9650\uFF08\u79D2\uFF09",
|
|
20328
|
+
enableBrowserBellToast: "\u30D6\u30E9\u30A6\u30B6\u30D9\u30EB Toast \u3092\u6709\u52B9\u306B\u3059\u308B",
|
|
20329
|
+
enableTelegramBellPush: "Telegram \u30D9\u30EB\u30D7\u30C3\u30B7\u30E5\u3092\u6709\u52B9\u306B\u3059\u308B",
|
|
20330
|
+
sshReconnectRetries: "SSH \u518D\u63A5\u7D9A\u8A66\u884C\u56DE\u6570",
|
|
20331
|
+
sshReconnectDelay: "SSH \u518D\u63A5\u7D9A\u5F85\u6A5F\uFF08\u79D2\uFF09",
|
|
20332
|
+
language: "\u8A00\u8A9E",
|
|
20333
|
+
languagePlaceholder: "\u8A00\u8A9E\u3092\u9078\u629E",
|
|
20334
|
+
language_en_US: "English",
|
|
20335
|
+
language_zh_CN: "\u7B80\u4F53\u4E2D\u6587",
|
|
20336
|
+
language_ja_JP: "\u65E5\u672C\u8A9E",
|
|
20337
|
+
theme: "\u30C6\u30FC\u30DE",
|
|
20338
|
+
themeLight: "\u30E9\u30A4\u30C8",
|
|
20339
|
+
themeDark: "\u30C0\u30FC\u30AF",
|
|
20340
|
+
siteTab: "\u30B5\u30A4\u30C8",
|
|
20341
|
+
notificationsTab: "\u901A\u77E5",
|
|
20342
|
+
refreshToApply: "\u8A00\u8A9E\u5909\u66F4\u3092\u9069\u7528\u3059\u308B\u306B\u306F\u66F4\u65B0\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
20343
|
+
saveSettings: "\u8A2D\u5B9A\u3092\u4FDD\u5B58",
|
|
20344
|
+
settingsSaved: "\u8A2D\u5B9A\u3092\u4FDD\u5B58\u3057\u307E\u3057\u305F",
|
|
20345
|
+
saveFailed: "\u8A2D\u5B9A\u306E\u4FDD\u5B58\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
|
|
20346
|
+
loadFailed: "\u8A2D\u5B9A\u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
|
|
20347
|
+
restartGateway: "Gateway \u3092\u518D\u8D77\u52D5",
|
|
20348
|
+
restartScheduled: "Gateway \u306E\u518D\u8D77\u52D5\u304C\u4E88\u5B9A\u3055\u308C\u307E\u3057\u305F",
|
|
20349
|
+
restartConfirm: "Gateway \u3092\u518D\u8D77\u52D5\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B\uFF1F\u3059\u3079\u3066\u306E\u30A2\u30AF\u30C6\u30A3\u30D6\u63A5\u7D9A\u304C\u4E2D\u65AD\u3055\u308C\u307E\u3059\u3002",
|
|
20350
|
+
restartFailed: "Gateway \u306E\u518D\u8D77\u52D5\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
|
|
20351
|
+
sshReconnectMaxRetries: "SSH \u518D\u63A5\u7D9A\u8A66\u884C\u56DE\u6570"
|
|
20352
|
+
},
|
|
20353
|
+
telegram: {
|
|
20354
|
+
title: "Telegram Bot \u7BA1\u7406",
|
|
20355
|
+
botName: "Bot \u540D",
|
|
20356
|
+
botNamePlaceholder: "\u4F8B\uFF1Aops-bot",
|
|
20357
|
+
botToken: "Bot Token",
|
|
20358
|
+
botTokenPlaceholder: "123456:AA...",
|
|
20359
|
+
addBot: "Bot \u3092\u8FFD\u52A0",
|
|
20360
|
+
enableBot: "Bot \u3092\u6709\u52B9\u306B\u3059\u308B",
|
|
20361
|
+
allowAuthRequests: "\u8A8D\u8A3C\u30EA\u30AF\u30A8\u30B9\u30C8\u3092\u8A31\u53EF",
|
|
20362
|
+
pendingChats: "\u627F\u8A8D\u5F85\u3061",
|
|
20363
|
+
chats: "\u627F\u8A8D\u6E08\u307F",
|
|
20364
|
+
authorizedChats: "\u627F\u8A8D\u6E08\u307F",
|
|
20365
|
+
noPendingChats: "\u627F\u8A8D\u5F85\u3061\u306E\u30C1\u30E3\u30C3\u30C8\u306F\u3042\u308A\u307E\u305B\u3093",
|
|
20366
|
+
noAuthorizedChats: "\u627F\u8A8D\u6E08\u307F\u306E\u30C1\u30E3\u30C3\u30C8\u306F\u3042\u308A\u307E\u305B\u3093",
|
|
20367
|
+
approve: "\u627F\u8A8D",
|
|
20368
|
+
authorize: "\u8A8D\u8A3C",
|
|
20369
|
+
reject: "\u62D2\u5426",
|
|
20370
|
+
revokeAuth: "\u8A8D\u8A3C\u3092\u53D6\u308A\u6D88\u3059",
|
|
20371
|
+
testMessage: "\u30C6\u30B9\u30C8\u30E1\u30C3\u30BB\u30FC\u30B8",
|
|
20372
|
+
sendTestMessage: "\u30C6\u30B9\u30C8\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u9001\u4FE1",
|
|
20373
|
+
deleteBot: "Bot \u3092\u524A\u9664",
|
|
20374
|
+
tokenOptional: "Token\uFF08\u5909\u66F4\u3057\u306A\u3044\u5834\u5408\u306F\u7A7A\uFF09",
|
|
20375
|
+
tokenPlaceholder: "\u65B0\u3057\u3044 token \u3092\u5165\u529B",
|
|
20376
|
+
botCreated: "Bot \u3092\u4F5C\u6210\u3057\u307E\u3057\u305F",
|
|
20377
|
+
botUpdated: "Bot \u3092\u66F4\u65B0\u3057\u307E\u3057\u305F",
|
|
20378
|
+
botDeleted: "Bot \u3092\u524A\u9664\u3057\u307E\u3057\u305F",
|
|
20379
|
+
authApproved: "\u8A8D\u8A3C\u304C\u627F\u8A8D\u3055\u308C\u307E\u3057\u305F",
|
|
20380
|
+
chatRemoved: "\u30C1\u30E3\u30C3\u30C8\u3092\u524A\u9664\u3057\u307E\u3057\u305F",
|
|
20381
|
+
testMessageSent: "\u30C6\u30B9\u30C8\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u9001\u4FE1\u3057\u307E\u3057\u305F",
|
|
20382
|
+
createFailed: "Bot \u306E\u4F5C\u6210\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
|
|
20383
|
+
updateFailed: "Bot \u306E\u66F4\u65B0\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
|
|
20384
|
+
deleteFailed: "Bot \u306E\u524A\u9664\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
|
|
20385
|
+
approveFailed: "\u8A8D\u8A3C\u306E\u627F\u8A8D\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
|
|
20386
|
+
removeFailed: "\u30C1\u30E3\u30C3\u30C8\u306E\u524A\u9664\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
|
|
20387
|
+
testMessageFailed: "\u30C6\u30B9\u30C8\u30E1\u30C3\u30BB\u30FC\u30B8\u306E\u9001\u4FE1\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
|
|
20388
|
+
loadBotsFailed: "Bot \u4E00\u89A7\u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
|
|
20389
|
+
loadChatsFailed: "\u30C1\u30E3\u30C3\u30C8\u4E00\u89A7\u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
|
|
20390
|
+
noBots: "Bot \u304C\u3042\u308A\u307E\u305B\u3093\u3002\u307E\u305A\u8FFD\u52A0\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
20391
|
+
expand: "\u5C55\u958B",
|
|
20392
|
+
collapse: "\u6298\u308A\u305F\u305F\u3080",
|
|
20393
|
+
authCount: "\u627F\u8A8D\u6E08\u307F {{authorized}} / \u627F\u8A8D\u5F85\u3061 {{pending}}\uFF08\u6700\u5927 8\uFF09",
|
|
20394
|
+
chatId: "Chat ID",
|
|
20395
|
+
applyTime: "\u7533\u8ACB\u6642\u9593",
|
|
20396
|
+
gatewayOnline: "\uD83D\uDFE2 Gateway online @ {{siteName}}",
|
|
20397
|
+
authSuccess: "\u2705 \u627F\u8A8D\u3055\u308C\u307E\u3057\u305F\u3002\u901A\u77E5\u3092\u53D7\u4FE1\u3067\u304D\u307E\u3059\u3002",
|
|
20398
|
+
authPending: "\u23F3 \u8A8D\u8A3C\u30EA\u30AF\u30A8\u30B9\u30C8\u3092\u53D7\u4FE1\u3057\u307E\u3057\u305F\u3002tmex \u8A2D\u5B9A\u30DA\u30FC\u30B8\u3067\u627F\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
20399
|
+
authFailed: "\u274C \u8A8D\u8A3C\u30EA\u30AF\u30A8\u30B9\u30C8\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u7BA1\u7406\u8005\u306B\u9023\u7D61\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
20400
|
+
testMessageTemplate: `\uD83E\uDDEA \u30C6\u30B9\u30C8\u30E1\u30C3\u30BB\u30FC\u30B8
|
|
20401
|
+
\u30B5\u30A4\u30C8\uFF1A{{siteName}}
|
|
20402
|
+
\u6642\u9593\uFF1A{{time}}`,
|
|
20403
|
+
approveMessageTemplate: `\u2705 tmex \u3067\u627F\u8A8D\u3055\u308C\u307E\u3057\u305F\u3002
|
|
20404
|
+
Bot\uFF1A{{botName}}
|
|
20405
|
+
\u6642\u9593\uFF1A{{time}}`,
|
|
20406
|
+
botNotFound: "Bot \u304C\u898B\u3064\u304B\u3089\u306A\u3044\u304B\u5229\u7528\u3067\u304D\u307E\u305B\u3093",
|
|
20407
|
+
botNotRunning: "Bot \u304C\u8D77\u52D5\u3057\u3066\u3044\u306A\u3044\u304B\u5229\u7528\u3067\u304D\u307E\u305B\u3093"
|
|
20408
|
+
},
|
|
20409
|
+
webhook: {
|
|
20410
|
+
title: "Webhooks",
|
|
20411
|
+
url: "Webhook URL",
|
|
20412
|
+
secret: "\u30B7\u30FC\u30AF\u30EC\u30C3\u30C8",
|
|
20413
|
+
secretPlaceholder: "\u7F72\u540D\u306B\u4F7F\u7528\uFF08HMAC-SHA256\uFF09",
|
|
20414
|
+
enabled: "\u6709\u52B9",
|
|
20415
|
+
eventMask: "\u30A4\u30D9\u30F3\u30C8",
|
|
20416
|
+
add: "Webhook \u3092\u8FFD\u52A0",
|
|
20417
|
+
empty: "Webhook \u304C\u3042\u308A\u307E\u305B\u3093\u3002",
|
|
20418
|
+
createFailed: "Webhook \u306E\u4F5C\u6210\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
|
|
20419
|
+
deleteFailed: "Webhook \u306E\u524A\u9664\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
|
|
20420
|
+
loadFailed: "Webhook \u306E\u8AAD\u307F\u8FBC\u307F\u306B\u5931\u6557\u3057\u307E\u3057\u305F"
|
|
20421
|
+
},
|
|
20422
|
+
sshError: {
|
|
20423
|
+
sshConfigRefNotSupported: "\u3053\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u3067\u306F SSH Config \u53C2\u7167\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002host + username \u3092\u4F7F\u7528\u3057\u3001Agent/\u79D8\u5BC6\u9375/\u30D1\u30B9\u30EF\u30FC\u30C9\u8A8D\u8A3C\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
20424
|
+
configRefNotSupported: "\u3053\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u3067\u306F SSH Config \u53C2\u7167\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002host + username \u3092\u4F7F\u7528\u3057\u3001Agent/\u79D8\u5BC6\u9375/\u30D1\u30B9\u30EF\u30FC\u30C9\u8A8D\u8A3C\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
20425
|
+
agentUnavailable: "SSH Agent \u304C\u5229\u7528\u3067\u304D\u307E\u305B\u3093\uFF1ASSH_AUTH_SOCK \u304C\u691C\u51FA\u3055\u308C\u307E\u305B\u3093\u3002agent \u74B0\u5883\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
20426
|
+
agentNoIdentity: "SSH Agent \u306B\u5229\u7528\u53EF\u80FD\u306A\u9375\u304C\u3042\u308A\u307E\u305B\u3093\u3002ssh-add \u3092\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
20427
|
+
agentNoIdentities: "SSH Agent \u306B\u5229\u7528\u53EF\u80FD\u306A\u9375\u304C\u3042\u308A\u307E\u305B\u3093\u3002ssh-add \u3092\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
20428
|
+
authFailed: "\u8A8D\u8A3C\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF1A\u30E6\u30FC\u30B6\u30FC\u540D\u3001\u30D1\u30B9\u30EF\u30FC\u30C9\u3001\u307E\u305F\u306F\u9375\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093\u3002\u30C7\u30D0\u30A4\u30B9\u8A2D\u5B9A\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
20429
|
+
authFailedGeneric: "\u8A8D\u8A3C\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF1A\u30E6\u30FC\u30B6\u30FC\u540D\u3001\u30D1\u30B9\u30EF\u30FC\u30C9\u3001\u307E\u305F\u306F\u9375\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093\u3002\u30C7\u30D0\u30A4\u30B9\u8A2D\u5B9A\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
20430
|
+
networkUnreachable: "\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u306B\u5230\u9054\u3067\u304D\u307E\u305B\u3093\uFF1A\u30EB\u30FC\u30C6\u30A3\u30F3\u30B0\u3001\u30D5\u30A1\u30A4\u30A2\u30A6\u30A9\u30FC\u30EB\u3001\u307E\u305F\u306F VPN \u8A2D\u5B9A\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
20431
|
+
connectionRefused: "\u63A5\u7D9A\u304C\u62D2\u5426\u3055\u308C\u307E\u3057\u305F\uFF1A\u30BF\u30FC\u30B2\u30C3\u30C8\u30DB\u30B9\u30C8\u306B\u63A5\u7D9A\u3067\u304D\u307E\u305B\u3093\u3002\u30DB\u30B9\u30C8\u30A2\u30C9\u30EC\u30B9\u3068\u30DD\u30FC\u30C8\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
20432
|
+
timeout: "\u63A5\u7D9A\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8\uFF1A\u30C7\u30D0\u30A4\u30B9\u306B\u63A5\u7D9A\u3067\u304D\u307E\u305B\u3093\u3002\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u307E\u305F\u306F\u30D5\u30A1\u30A4\u30A2\u30A6\u30A9\u30FC\u30EB\u8A2D\u5B9A\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
20433
|
+
connectionTimeout: "\u63A5\u7D9A\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8\uFF1A\u30C7\u30D0\u30A4\u30B9\u306B\u63A5\u7D9A\u3067\u304D\u307E\u305B\u3093\u3002\u30CD\u30C3\u30C8\u30EF\u30FC\u30AF\u307E\u305F\u306F\u30D5\u30A1\u30A4\u30A2\u30A6\u30A9\u30FC\u30EB\u8A2D\u5B9A\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
20434
|
+
hostNotFound: "\u30DB\u30B9\u30C8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\uFF1A\u30DB\u30B9\u30C8\u540D\u3092\u89E3\u6C7A\u3067\u304D\u307E\u305B\u3093\u3002DNS \u307E\u305F\u306F\u30DB\u30B9\u30C8\u540D\u8A2D\u5B9A\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
20435
|
+
handshakeFailed: "\u30CF\u30F3\u30C9\u30B7\u30A7\u30A4\u30AF\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF1A\u5B89\u5168\u306A\u63A5\u7D9A\u3092\u78BA\u7ACB\u3067\u304D\u307E\u305B\u3093\u3002\u30AD\u30FC\u4EA4\u63DB\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0\u304C\u4E92\u63DB\u6027\u304C\u306A\u3044\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002",
|
|
20436
|
+
tmuxUnavailable: "\u30EA\u30E2\u30FC\u30C8 tmux \u304C\u5229\u7528\u3067\u304D\u306A\u3044\u304B\u8D77\u52D5\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002tmux \u304C\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C -CC \u30E2\u30FC\u30C9\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
20437
|
+
unknown: "\u63A5\u7D9A\u306B\u5931\u6557\u3057\u307E\u3057\u305F\uFF1A{{message}}",
|
|
20438
|
+
reconnecting: "\u63A5\u7D9A\u304C\u4E2D\u65AD\u3055\u308C\u307E\u3057\u305F\u3002{{delay}} \u79D2\u5F8C\u306B\u518D\u63A5\u7D9A\u3057\u307E\u3059\uFF08{{attempt}}/{{maxRetries}}\uFF09",
|
|
20439
|
+
reconnectFailed: "\u81EA\u52D5\u518D\u63A5\u7D9A\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u624B\u52D5\u3067\u518D\u8A66\u884C\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
20440
|
+
reconnected: "\u30C7\u30D0\u30A4\u30B9\u304C\u81EA\u52D5\u7684\u306B\u518D\u63A5\u7D9A\u3055\u308C\u307E\u3057\u305F"
|
|
20441
|
+
},
|
|
20442
|
+
websocket: {
|
|
20443
|
+
error: "WebSocket \u63A5\u7D9A\u30A8\u30E9\u30FC",
|
|
20444
|
+
checkGateway: "Gateway \u72B6\u614B\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044",
|
|
20445
|
+
upgradeFailed: "\u30A2\u30C3\u30D7\u30B0\u30EC\u30FC\u30C9\u306B\u5931\u6557\u3057\u307E\u3057\u305F",
|
|
20446
|
+
invalidMessage: "\u7121\u52B9\u306A\u30E1\u30C3\u30BB\u30FC\u30B8\u5F62\u5F0F"
|
|
20447
|
+
},
|
|
20448
|
+
wsError: {
|
|
20449
|
+
checkGateway: "Gateway \u72B6\u614B\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044"
|
|
20450
|
+
},
|
|
20451
|
+
apiError: {
|
|
20452
|
+
siteNameRequired: "\u30B5\u30A4\u30C8\u540D\u306F\u7A7A\u306B\u3067\u304D\u307E\u305B\u3093",
|
|
20453
|
+
siteUrlInvalid: "\u30B5\u30A4\u30C8 URL \u306F http:// \u307E\u305F\u306F https:// \u3067\u59CB\u307E\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059",
|
|
20454
|
+
bellThrottleInvalid: "\u30D9\u30EB\u5236\u9650\u79D2\u6570\u306F 0-300 \u306E\u9593\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059",
|
|
20455
|
+
sshRetriesInvalid: "SSH \u518D\u63A5\u7D9A\u8A66\u884C\u56DE\u6570\u306F 0-20 \u306E\u9593\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059",
|
|
20456
|
+
sshDelayInvalid: "SSH \u518D\u63A5\u7D9A\u5F85\u6A5F\u6642\u9593\u306F 1-300 \u79D2\u306E\u9593\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059",
|
|
20457
|
+
languageInvalid: "\u8A00\u8A9E\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u308B\u30ED\u30B1\u30FC\u30EB\u306E\u3044\u305A\u308C\u304B\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059",
|
|
20458
|
+
botNameRequired: "Bot \u540D\u306F\u7A7A\u306B\u3067\u304D\u307E\u305B\u3093",
|
|
20459
|
+
botTokenRequired: "Bot token \u306F\u7A7A\u306B\u3067\u304D\u307E\u305B\u3093",
|
|
20460
|
+
missingFields: "\u5FC5\u9808\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u3042\u308A\u307E\u305B\u3093",
|
|
20461
|
+
sshRequiresHost: "SSH \u30C7\u30D0\u30A4\u30B9\u306B\u306F host \u307E\u305F\u306F sshConfigRef \u304C\u5FC5\u8981\u3067\u3059",
|
|
20462
|
+
invalidRequest: "\u7121\u52B9\u306A\u30EA\u30AF\u30A8\u30B9\u30C8",
|
|
20463
|
+
deviceNotFound: "\u30C7\u30D0\u30A4\u30B9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",
|
|
20464
|
+
botNotFound: "Bot \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",
|
|
20465
|
+
chatNotFound: "\u30C1\u30E3\u30C3\u30C8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",
|
|
20466
|
+
urlAndSecretRequired: "URL \u3068\u30B7\u30FC\u30AF\u30EC\u30C3\u30C8\u304C\u5FC5\u8981\u3067\u3059",
|
|
20467
|
+
notFound: "\u898B\u3064\u304B\u308A\u307E\u305B\u3093"
|
|
20468
|
+
},
|
|
20469
|
+
notification: {
|
|
20470
|
+
clickToJump: "\u5BFE\u5FDC\u3059\u308B\u30DA\u30A4\u30F3\u306B\u30B8\u30E3\u30F3\u30D7",
|
|
20471
|
+
eventType: {
|
|
20472
|
+
terminal_bell: "\uD83D\uDD14 \u30BF\u30FC\u30DF\u30CA\u30EB\u30D9\u30EB",
|
|
20473
|
+
tmux_window_close: "\uD83E\uDE9F \u30A6\u30A3\u30F3\u30C9\u30A6\u9589\u3058\u308B",
|
|
20474
|
+
tmux_pane_close: "\uD83D\uDCF1 \u30DA\u30A4\u30F3\u9589\u3058\u308B",
|
|
20475
|
+
device_tmux_missing: "\u26A0\uFE0F Tmux \u304C\u3042\u308A\u307E\u305B\u3093",
|
|
20476
|
+
device_disconnect: "\uD83D\uDD0C \u30C7\u30D0\u30A4\u30B9\u5207\u65AD",
|
|
20477
|
+
session_created: "\uD83C\uDD95 \u30BB\u30C3\u30B7\u30E7\u30F3\u4F5C\u6210",
|
|
20478
|
+
session_closed: "\uD83D\uDEAA \u30BB\u30C3\u30B7\u30E7\u30F3\u9589\u3058\u308B"
|
|
20479
|
+
},
|
|
20480
|
+
site: "\u30B5\u30A4\u30C8",
|
|
20481
|
+
device: "\u30C7\u30D0\u30A4\u30B9",
|
|
20482
|
+
window: "\u30A6\u30A3\u30F3\u30C9\u30A6",
|
|
20483
|
+
pane: "\u30DA\u30A4\u30F3",
|
|
20484
|
+
time: "\u6642\u9593",
|
|
20485
|
+
directLink: "\u76F4\u63A5\u30EA\u30F3\u30AF",
|
|
20486
|
+
message: "\u30E1\u30C3\u30BB\u30FC\u30B8",
|
|
20487
|
+
telegramBell: {
|
|
20488
|
+
title: "\uD83D\uDD14 {{siteName}} \u304B\u3089\u306E\u30D9\u30EB\uFF1A{{terminalTopbarLabel}}",
|
|
20489
|
+
viewLink: "\u8868\u793A",
|
|
20490
|
+
terminalTopbarLabel: "\u30A6\u30A3\u30F3\u30C9\u30A6 {{window}} \xB7 \u30DA\u30A4\u30F3 {{pane}} @ {{device}}"
|
|
20491
|
+
}
|
|
20492
|
+
},
|
|
20493
|
+
sidebar: {
|
|
20494
|
+
noWindows: "\u30A6\u30A3\u30F3\u30C9\u30A6\u304C\u3042\u308A\u307E\u305B\u3093",
|
|
20495
|
+
noDevices: "\u30C7\u30D0\u30A4\u30B9\u304C\u3042\u308A\u307E\u305B\u3093",
|
|
20496
|
+
addDeviceLink: "\u30C7\u30D0\u30A4\u30B9\u3092\u8FFD\u52A0",
|
|
20497
|
+
openSettingsLink: "\u8A2D\u5B9A\u3092\u958B\u304F",
|
|
20498
|
+
openSettings: "\u8A2D\u5B9A\u3092\u958B\u304F",
|
|
20499
|
+
manageDevices: "\u30C7\u30D0\u30A4\u30B9\u7BA1\u7406",
|
|
20500
|
+
settings: "\u8A2D\u5B9A",
|
|
20501
|
+
currentWindow: "\u73FE\u5728\u306E\u30A6\u30A3\u30F3\u30C9\u30A6",
|
|
20502
|
+
currentPane: "\u73FE\u5728\u306E\u30DA\u30A4\u30F3",
|
|
20503
|
+
newWindow: "\u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u4F5C\u6210",
|
|
20504
|
+
closeWindow: "\u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u9589\u3058\u308B",
|
|
20505
|
+
closePane: "\u30DA\u30A4\u30F3\u3092\u9589\u3058\u308B",
|
|
20506
|
+
addDevice: "\u30C7\u30D0\u30A4\u30B9\u3092\u8FFD\u52A0"
|
|
20507
|
+
},
|
|
20508
|
+
validation: {
|
|
20509
|
+
deviceNameRequired: "\u30C7\u30D0\u30A4\u30B9\u540D\u306F\u5FC5\u9808\u3067\u3059",
|
|
20510
|
+
hostRequired: "SSH \u30C7\u30D0\u30A4\u30B9\u306B\u306F\u30DB\u30B9\u30C8\u30A2\u30C9\u30EC\u30B9\u304C\u5FC5\u8981\u3067\u3059"
|
|
20511
|
+
}
|
|
20512
|
+
}
|
|
20137
20513
|
}
|
|
20138
20514
|
};
|
|
20139
|
-
|
|
20140
|
-
// ../shared/src/index.ts
|
|
20141
20515
|
var DEFAULT_LOCALE = "en_US";
|
|
20142
20516
|
function toBCP47(locale) {
|
|
20143
20517
|
return locale.replace("_", "-");
|
|
20144
20518
|
}
|
|
20145
|
-
|
|
20519
|
+
var AVAILABLE_LOCALES = ["en_US", "zh_CN", "ja_JP"];
|
|
20146
20520
|
// ../../node_modules/.bun/uuid@11.1.0/node_modules/uuid/dist/esm/stringify.js
|
|
20147
20521
|
var byteToHex = [];
|
|
20148
20522
|
for (let i = 0;i < 256; ++i) {
|
|
@@ -26673,8 +27047,7 @@ var siteSettings = sqliteTable("site_settings", {
|
|
|
26673
27047
|
language: text("language").notNull().default("en_US"),
|
|
26674
27048
|
updatedAt: text("updated_at").notNull()
|
|
26675
27049
|
}, (table) => [
|
|
26676
|
-
check("site_settings_singleton_check", sql`${table.id} = 1`)
|
|
26677
|
-
check("site_settings_language_check", sql`${table.language} in ('en_US', 'zh_CN')`)
|
|
27050
|
+
check("site_settings_singleton_check", sql`${table.id} = 1`)
|
|
26678
27051
|
]);
|
|
26679
27052
|
var devices = sqliteTable("devices", {
|
|
26680
27053
|
id: text("id").primaryKey(),
|
|
@@ -51440,7 +51813,7 @@ function normalizeSiteSettingsInput(body) {
|
|
|
51440
51813
|
}
|
|
51441
51814
|
if (body.language !== undefined) {
|
|
51442
51815
|
const value = body.language.trim();
|
|
51443
|
-
if (value
|
|
51816
|
+
if (!AVAILABLE_LOCALES.includes(value)) {
|
|
51444
51817
|
throw new Error(t2("apiError.languageInvalid"));
|
|
51445
51818
|
}
|
|
51446
51819
|
updates.language = value;
|
|
@@ -51510,6 +51883,9 @@ function handleApiRequest(req, _server) {
|
|
|
51510
51883
|
if (path.match(/^\/api\/webhooks\/[^/]+$/) && req.method === "DELETE") {
|
|
51511
51884
|
return handleDeleteWebhook(path.split("/")[3]);
|
|
51512
51885
|
}
|
|
51886
|
+
if (path === "/api/manifest.webmanifest" && (req.method === "GET" || req.method === "HEAD")) {
|
|
51887
|
+
return handleGetManifest(req.method);
|
|
51888
|
+
}
|
|
51513
51889
|
if (path === "/healthz" && req.method === "GET") {
|
|
51514
51890
|
return json({ status: "ok", restarting: runtimeController.isRestarting() });
|
|
51515
51891
|
}
|
|
@@ -51768,6 +52144,37 @@ async function handleDeleteWebhook(id) {
|
|
|
51768
52144
|
deleteWebhookEndpoint(id);
|
|
51769
52145
|
return json({ success: true });
|
|
51770
52146
|
}
|
|
52147
|
+
async function handleGetManifest(method) {
|
|
52148
|
+
const settings = getSiteSettings();
|
|
52149
|
+
const manifest = {
|
|
52150
|
+
id: "/",
|
|
52151
|
+
name: settings.siteName,
|
|
52152
|
+
short_name: settings.siteName,
|
|
52153
|
+
start_url: "/",
|
|
52154
|
+
scope: "/",
|
|
52155
|
+
display: "standalone",
|
|
52156
|
+
background_color: "#0b1020",
|
|
52157
|
+
theme_color: "#0b1020",
|
|
52158
|
+
icons: [
|
|
52159
|
+
{
|
|
52160
|
+
src: "/tmex.png",
|
|
52161
|
+
sizes: "768x768",
|
|
52162
|
+
type: "image/png",
|
|
52163
|
+
purpose: "any maskable"
|
|
52164
|
+
}
|
|
52165
|
+
]
|
|
52166
|
+
};
|
|
52167
|
+
return manifestJson(manifest, method);
|
|
52168
|
+
}
|
|
52169
|
+
function manifestJson(data, method) {
|
|
52170
|
+
return new Response(method === "HEAD" ? null : JSON.stringify(data), {
|
|
52171
|
+
status: 200,
|
|
52172
|
+
headers: {
|
|
52173
|
+
"Content-Type": "application/manifest+json; charset=utf-8",
|
|
52174
|
+
"Cache-Control": "no-store"
|
|
52175
|
+
}
|
|
52176
|
+
});
|
|
52177
|
+
}
|
|
51771
52178
|
function json(data, status = 200, headers = {}) {
|
|
51772
52179
|
return new Response(JSON.stringify(data), {
|
|
51773
52180
|
status,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tmex-cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"tmex": "./bin/tmex.js",
|
|
@@ -21,7 +21,8 @@
|
|
|
21
21
|
"build:runtime": "bun build src/runtime/server.ts --outdir ./dist/runtime --target bun --format esm",
|
|
22
22
|
"build:cli": "bun build src/cli-node.ts --outfile ./dist/cli-node.js --target node --format esm",
|
|
23
23
|
"build": "bun run clean && bun run bundle:resources && bun run build:runtime && bun run build:cli",
|
|
24
|
-
"test": "bun test src"
|
|
24
|
+
"test": "bun test src",
|
|
25
|
+
"publish": "bun publish"
|
|
25
26
|
},
|
|
26
27
|
"devDependencies": {
|
|
27
28
|
"@types/bun": "latest",
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2014 The xterm.js authors. All rights reserved.
|
|
3
|
+
* Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
|
|
4
|
+
* https://github.com/chjj/term.js
|
|
5
|
+
* @license MIT
|
|
6
|
+
*
|
|
7
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
8
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
9
|
+
* in the Software without restriction, including without limitation the rights
|
|
10
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
11
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
12
|
+
* furnished to do so, subject to the following conditions:
|
|
13
|
+
*
|
|
14
|
+
* The above copyright notice and this permission notice shall be included in
|
|
15
|
+
* all copies or substantial portions of the Software.
|
|
16
|
+
*
|
|
17
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
18
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
19
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
20
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
21
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
22
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
23
|
+
* THE SOFTWARE.
|
|
24
|
+
*
|
|
25
|
+
* Originally forked from (with the author's permission):
|
|
26
|
+
* Fabrice Bellard's javascript vt100 for jslinux:
|
|
27
|
+
* http://bellard.org/jslinux/
|
|
28
|
+
* Copyright (c) 2011 Fabrice Bellard
|
|
29
|
+
* The original design remains. The terminal itself
|
|
30
|
+
* has been extended to include xterm CSI codes, among
|
|
31
|
+
* other features.
|
|
32
|
+
*/.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility,.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}
|