@openlist-frontend/openlist-frontend 4.0.0-rc.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.
Files changed (182) hide show
  1. package/README.md +35 -0
  2. package/dist/VERSION +1 -0
  3. package/dist/assets/2fa-5bdf0110.js +1 -0
  4. package/dist/assets/2fa-legacy-0c55633e.js +1 -0
  5. package/dist/assets/About-daba5276.js +1 -0
  6. package/dist/assets/About-legacy-9ff9dba7.js +1 -0
  7. package/dist/assets/AddOrEdit-183fec42.js +1 -0
  8. package/dist/assets/AddOrEdit-3b829ac7.js +1 -0
  9. package/dist/assets/AddOrEdit-4fd0b862.js +1 -0
  10. package/dist/assets/AddOrEdit-legacy-573b0c54.js +1 -0
  11. package/dist/assets/AddOrEdit-legacy-d1ee72b5.js +1 -0
  12. package/dist/assets/AddOrEdit-legacy-ec8fe9cb.js +1 -0
  13. package/dist/assets/Common-ce07cb56.js +1 -0
  14. package/dist/assets/Common-legacy-bd61ee62.js +1 -0
  15. package/dist/assets/Copy-0dde9202.js +1 -0
  16. package/dist/assets/Copy-legacy-97a5757e.js +1 -0
  17. package/dist/assets/Decompress-46c8605d.js +1 -0
  18. package/dist/assets/Decompress-legacy-caf8f948.js +1 -0
  19. package/dist/assets/DeletePopover-71e3a164.js +1 -0
  20. package/dist/assets/DeletePopover-legacy-21b9ab49.js +1 -0
  21. package/dist/assets/File-45a9403e.js +1 -0
  22. package/dist/assets/File-legacy-46eaff03.js +1 -0
  23. package/dist/assets/Folder-4b4cbf82.js +114 -0
  24. package/dist/assets/Folder-6651c4e8.css +1 -0
  25. package/dist/assets/Folder-legacy-31c4976b.js +49 -0
  26. package/dist/assets/FolderTree-2e9d5bd7.js +1 -0
  27. package/dist/assets/FolderTree-legacy-5d22cfeb.js +1 -0
  28. package/dist/assets/Grid-234a02fe.js +1 -0
  29. package/dist/assets/Grid-legacy-495d4986.js +1 -0
  30. package/dist/assets/GridItem-16e70035.js +1 -0
  31. package/dist/assets/GridItem-legacy-be81be17.js +1 -0
  32. package/dist/assets/ImageWithError-021dba09.js +1 -0
  33. package/dist/assets/ImageWithError-legacy-18c02107.js +1 -0
  34. package/dist/assets/Images-34d8f7f6.js +1 -0
  35. package/dist/assets/Images-legacy-38fd271a.js +1 -0
  36. package/dist/assets/Layout-b9429b34.js +5 -0
  37. package/dist/assets/Layout-legacy-3ee006d4.js +6 -0
  38. package/dist/assets/List-7e506ba3.js +1 -0
  39. package/dist/assets/List-legacy-c5c98f42.js +1 -0
  40. package/dist/assets/Messenger-96b59f61.js +1 -0
  41. package/dist/assets/Messenger-legacy-f3295638.js +1 -0
  42. package/dist/assets/Metas-c26c167c.js +1 -0
  43. package/dist/assets/Metas-legacy-7f8d02fa.js +1 -0
  44. package/dist/assets/Other-1d9c6d82.js +1 -0
  45. package/dist/assets/Other-legacy-8b7794e9.js +1 -0
  46. package/dist/assets/PackageDownload-8640957f.js +1 -0
  47. package/dist/assets/PackageDownload-legacy-de7a5bb7.js +1 -0
  48. package/dist/assets/Paginator-5f358313.js +1 -0
  49. package/dist/assets/Paginator-legacy-92532ae7.js +1 -0
  50. package/dist/assets/Password-59d3df3b.js +1 -0
  51. package/dist/assets/Password-legacy-5ea54977.js +1 -0
  52. package/dist/assets/Profile-c724b1ec.js +1 -0
  53. package/dist/assets/Profile-legacy-243a8814.js +1 -0
  54. package/dist/assets/PublicKeys-8c0d13eb.js +1 -0
  55. package/dist/assets/PublicKeys-legacy-bc214c77.js +1 -0
  56. package/dist/assets/ResponsiveGrid-68858d59.js +1 -0
  57. package/dist/assets/ResponsiveGrid-legacy-87350386.js +1 -0
  58. package/dist/assets/S3-f73ff557.js +1 -0
  59. package/dist/assets/S3-legacy-e0622f9f.js +1 -0
  60. package/dist/assets/SettingItem-fc04014d.js +1 -0
  61. package/dist/assets/SettingItem-legacy-ba401f77.js +1 -0
  62. package/dist/assets/SourceHanSansCN-Bold-b5627435.woff2 +0 -0
  63. package/dist/assets/Storages-3ea6d5fc.js +1 -0
  64. package/dist/assets/Storages-legacy-826c99da.js +1 -0
  65. package/dist/assets/TimesNewRoman-d9fb32eb.ttf +0 -0
  66. package/dist/assets/Upload-ab40bb1f.js +5 -0
  67. package/dist/assets/Upload-f2d26146.js +1 -0
  68. package/dist/assets/Upload-legacy-4e741898.js +6 -0
  69. package/dist/assets/Upload-legacy-6063e4f4.js +1 -0
  70. package/dist/assets/Users-798157f0.js +1 -0
  71. package/dist/assets/Users-legacy-f7b026c1.js +1 -0
  72. package/dist/assets/Wether-7fbfa955.js +1 -0
  73. package/dist/assets/Wether-legacy-aee6f6ea.js +1 -0
  74. package/dist/assets/aliyun_office-f050b710.js +1 -0
  75. package/dist/assets/aliyun_office-legacy-9a085ee0.js +1 -0
  76. package/dist/assets/aliyun_video-7b2f47a3.js +1 -0
  77. package/dist/assets/aliyun_video-legacy-62e99fee.js +1 -0
  78. package/dist/assets/archive-1f761af1.js +1 -0
  79. package/dist/assets/archive-legacy-49978108.js +1 -0
  80. package/dist/assets/asciinema-2c1b3849.js +1 -0
  81. package/dist/assets/asciinema-9107553b.css +1 -0
  82. package/dist/assets/asciinema-legacy-1ea98084.js +1 -0
  83. package/dist/assets/audio-43f4c02b.css +1 -0
  84. package/dist/assets/audio-e2e285d5.js +1 -0
  85. package/dist/assets/audio-legacy-059723ab.js +1 -0
  86. package/dist/assets/backup-restore-5529cead.js +1 -0
  87. package/dist/assets/backup-restore-legacy-17580db7.js +1 -0
  88. package/dist/assets/entry-15091525.js +1 -0
  89. package/dist/assets/entry-600f3f22.js +1 -0
  90. package/dist/assets/entry-legacy-1facdda0.js +1 -0
  91. package/dist/assets/entry-legacy-c4a87582.js +1 -0
  92. package/dist/assets/helper-00c542cf.js +1 -0
  93. package/dist/assets/helper-8f322b0c.js +1 -0
  94. package/dist/assets/helper-legacy-0d5506d5.js +1 -0
  95. package/dist/assets/helper-legacy-f3262afc.js +1 -0
  96. package/dist/assets/hls-7abaec7b.js +6 -0
  97. package/dist/assets/hls-legacy-59f1f515.js +8 -0
  98. package/dist/assets/html-812d7456.js +1 -0
  99. package/dist/assets/html-legacy-2960fa24.js +1 -0
  100. package/dist/assets/icon-a469f817.js +1 -0
  101. package/dist/assets/icon-legacy-9bb296c6.js +1 -0
  102. package/dist/assets/image-2891f060.js +1 -0
  103. package/dist/assets/image-legacy-76b4b8b1.js +1 -0
  104. package/dist/assets/index-03840810.js +1 -0
  105. package/dist/assets/index-0a6b4993.js +1 -0
  106. package/dist/assets/index-17ae6dfd.js +1 -0
  107. package/dist/assets/index-2cbc0cef.js +1 -0
  108. package/dist/assets/index-4edac598.js +1 -0
  109. package/dist/assets/index-531a40ba.js +1 -0
  110. package/dist/assets/index-58af8784.js +1 -0
  111. package/dist/assets/index-6e9d628c.js +1 -0
  112. package/dist/assets/index-b8129a12.js +20 -0
  113. package/dist/assets/index-c0564af7.css +1 -0
  114. package/dist/assets/index-c5258b6a.js +14 -0
  115. package/dist/assets/index-legacy-013e602c.js +27 -0
  116. package/dist/assets/index-legacy-2c6656b7.js +1 -0
  117. package/dist/assets/index-legacy-46ca7014.js +18 -0
  118. package/dist/assets/index-legacy-52780c55.js +1 -0
  119. package/dist/assets/index-legacy-570c7cb9.js +1 -0
  120. package/dist/assets/index-legacy-5b31487a.js +1 -0
  121. package/dist/assets/index-legacy-6946cc66.js +1 -0
  122. package/dist/assets/index-legacy-761a690f.js +1 -0
  123. package/dist/assets/index-legacy-774ce9eb.js +1 -0
  124. package/dist/assets/index-legacy-bfa83468.js +1 -0
  125. package/dist/assets/indexes-7fdacbd3.js +1 -0
  126. package/dist/assets/indexes-legacy-b0449218.js +1 -0
  127. package/dist/assets/ipa-3c150a8e.js +1 -0
  128. package/dist/assets/ipa-legacy-c9832b7f.js +1 -0
  129. package/dist/assets/item_type-32dc6fdf.js +1 -0
  130. package/dist/assets/item_type-legacy-d49ae974.js +1 -0
  131. package/dist/assets/lg-22b72ba5.ttf +0 -0
  132. package/dist/assets/lg-f2fe1c00.svg +54 -0
  133. package/dist/assets/lg-fefc5c0d.woff +0 -0
  134. package/dist/assets/loading-298ad3ff.gif +0 -0
  135. package/dist/assets/markdown-f6634b03.js +1 -0
  136. package/dist/assets/markdown-legacy-fa6288e2.js +1 -0
  137. package/dist/assets/markdown_with_word_wrap-4707a0bb.js +1 -0
  138. package/dist/assets/markdown_with_word_wrap-legacy-40b69e71.js +1 -0
  139. package/dist/assets/offline_download-996becf4.js +1 -0
  140. package/dist/assets/offline_download-legacy-d963670f.js +1 -0
  141. package/dist/assets/plist-2b96d2c0.js +1 -0
  142. package/dist/assets/plist-legacy-034311ee.js +1 -0
  143. package/dist/assets/polyfills-legacy-fa59231c.js +1 -0
  144. package/dist/assets/style-a6d16836.css +1 -0
  145. package/dist/assets/style-b95f98f0.js +1 -0
  146. package/dist/assets/style-legacy-e9ff46a9.js +1 -0
  147. package/dist/assets/subtitles-octopus-worker-62892886.wasm +0 -0
  148. package/dist/assets/subtitles-octopus-worker-f95f2186.js +1 -0
  149. package/dist/assets/text-editor-1bf4c68b.js +1 -0
  150. package/dist/assets/text-editor-legacy-8da7daa4.js +1 -0
  151. package/dist/assets/url-5dba48cb.js +1 -0
  152. package/dist/assets/url-legacy-30ef4b8f.js +1 -0
  153. package/dist/assets/useTitle-cbc1a4b9.js +1 -0
  154. package/dist/assets/useTitle-legacy-a0f63151.js +1 -0
  155. package/dist/assets/video-9c59731a.js +7 -0
  156. package/dist/assets/video-legacy-dd1b01de.js +9 -0
  157. package/dist/assets/video360-49c12ab3.js +14 -0
  158. package/dist/assets/video360-f0192288.css +1 -0
  159. package/dist/assets/video360-legacy-d49e810c.js +16 -0
  160. package/dist/assets/video_box-ad8c3f54.js +6 -0
  161. package/dist/assets/video_box-legacy-b67382d5.js +8 -0
  162. package/dist/assets/webauthn-json.browser-ponyfill-29d8152c.js +1 -0
  163. package/dist/assets/webauthn-json.browser-ponyfill-legacy-456cc8e1.js +1 -0
  164. package/dist/images/figplayer.webp +0 -0
  165. package/dist/images/fileball.webp +0 -0
  166. package/dist/images/iPlay.webp +0 -0
  167. package/dist/images/iina.webp +0 -0
  168. package/dist/images/infuse.webp +0 -0
  169. package/dist/images/mpv.webp +0 -0
  170. package/dist/images/mxplayer-pro.webp +0 -0
  171. package/dist/images/mxplayer.webp +0 -0
  172. package/dist/images/nplayer.webp +0 -0
  173. package/dist/images/omniplayer.webp +0 -0
  174. package/dist/images/potplayer.webp +0 -0
  175. package/dist/images/vlc.webp +0 -0
  176. package/dist/index.html +81 -0
  177. package/dist/openlist-frontend-dist-v4.0.0-rc.1.tar.gz +0 -0
  178. package/dist/static/epub.js/viewer.html +467 -0
  179. package/dist/static/manifest.json +13 -0
  180. package/dist/streamer/mitm.html +186 -0
  181. package/dist/streamer/sw.js +141 -0
  182. package/package.json +102 -0
@@ -0,0 +1,141 @@
1
+ /* global self ReadableStream Response */
2
+
3
+ self.addEventListener("install", () => {
4
+ self.skipWaiting()
5
+ })
6
+
7
+ self.addEventListener("activate", (event) => {
8
+ event.waitUntil(self.clients.claim())
9
+ })
10
+
11
+ const map = new Map()
12
+
13
+ // This should be called once per download
14
+ // Each event has a dataChannel that the data will be piped through
15
+ self.onmessage = (event) => {
16
+ // We send a heartbeat every x second to keep the
17
+ // service worker alive if a transferable stream is not sent
18
+ if (event.data === "ping") {
19
+ return
20
+ }
21
+
22
+ const data = event.data
23
+ const downloadUrl =
24
+ data.url ||
25
+ self.registration.scope +
26
+ Math.random() +
27
+ "/" +
28
+ (typeof data === "string" ? data : data.filename)
29
+ const port = event.ports[0]
30
+ const metadata = new Array(3) // [stream, data, port]
31
+
32
+ metadata[1] = data
33
+ metadata[2] = port
34
+
35
+ // Note to self:
36
+ // old streamsaver v1.2.0 might still use `readableStream`...
37
+ // but v2.0.0 will always transfer the stream through MessageChannel #94
38
+ if (event.data.readableStream) {
39
+ metadata[0] = event.data.readableStream
40
+ } else if (event.data.transferringReadable) {
41
+ port.onmessage = (evt) => {
42
+ port.onmessage = null
43
+ metadata[0] = evt.data.readableStream
44
+ }
45
+ } else {
46
+ metadata[0] = createStream(port)
47
+ }
48
+
49
+ map.set(downloadUrl, metadata)
50
+ port.postMessage({ download: downloadUrl })
51
+ }
52
+
53
+ function createStream(port) {
54
+ // ReadableStream is only supported by chrome 52
55
+ return new ReadableStream({
56
+ start(controller) {
57
+ // When we receive data on the messageChannel, we write
58
+ port.onmessage = ({ data }) => {
59
+ if (data === "end") {
60
+ return controller.close()
61
+ }
62
+
63
+ if (data === "abort") {
64
+ controller.error("Aborted the download")
65
+ return
66
+ }
67
+
68
+ controller.enqueue(data)
69
+ }
70
+ },
71
+ cancel() {
72
+ console.log("user aborted")
73
+ },
74
+ })
75
+ }
76
+
77
+ self.onfetch = (event) => {
78
+ const url = event.request.url
79
+
80
+ // this only works for Firefox
81
+ if (url.endsWith("/ping")) {
82
+ return event.respondWith(new Response("pong"))
83
+ }
84
+
85
+ const hijacke = map.get(url)
86
+
87
+ if (!hijacke) return null
88
+
89
+ const [stream, data, port] = hijacke
90
+
91
+ map.delete(url)
92
+
93
+ // Not comfortable letting any user control all headers
94
+ // so we only copy over the length & disposition
95
+ const responseHeaders = new Headers({
96
+ "Content-Type": "application/octet-stream; charset=utf-8",
97
+
98
+ // To be on the safe side, The link can be opened in a iframe.
99
+ // but octet-stream should stop it.
100
+ "Content-Security-Policy": "default-src 'none'",
101
+ "X-Content-Security-Policy": "default-src 'none'",
102
+ "X-WebKit-CSP": "default-src 'none'",
103
+ "X-XSS-Protection": "1; mode=block",
104
+ })
105
+
106
+ let headers = new Headers(data.headers || {})
107
+
108
+ if (headers.has("Content-Length")) {
109
+ responseHeaders.set("Content-Length", headers.get("Content-Length"))
110
+ }
111
+
112
+ if (headers.has("Content-Disposition")) {
113
+ responseHeaders.set(
114
+ "Content-Disposition",
115
+ headers.get("Content-Disposition")
116
+ )
117
+ }
118
+
119
+ // data, data.filename and size should not be used anymore
120
+ if (data.size) {
121
+ console.warn("Depricated")
122
+ responseHeaders.set("Content-Length", data.size)
123
+ }
124
+
125
+ let fileName = typeof data === "string" ? data : data.filename
126
+ if (fileName) {
127
+ console.warn("Depricated")
128
+ // Make filename RFC5987 compatible
129
+ fileName = encodeURIComponent(fileName)
130
+ .replace(/['()]/g, escape)
131
+ .replace(/\*/g, "%2A")
132
+ responseHeaders.set(
133
+ "Content-Disposition",
134
+ "attachment; filename*=UTF-8''" + fileName
135
+ )
136
+ }
137
+
138
+ event.respondWith(new Response(stream, { headers: responseHeaders }))
139
+
140
+ port.postMessage({ debug: "Download started" })
141
+ }
package/package.json ADDED
@@ -0,0 +1,102 @@
1
+ {
2
+ "name": "@openlist-frontend/openlist-frontend",
3
+ "version": "4.0.0-rc.1",
4
+ "author": {
5
+ "name": "The OpenList Projects Contributors",
6
+ "url": "https://github.com/OpenListTeam"
7
+ },
8
+ "description": "A new AList Fork to Anti Trust Crisis",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/OpenListTeam/OpenList-Frontend.git"
12
+ },
13
+ "bugs": {
14
+ "url": "https://github.com/OpenListTeam/OpenList/issues"
15
+ },
16
+ "files": [
17
+ "dist"
18
+ ],
19
+ "homepage": "https://openlist.team/",
20
+ "license": "MIT",
21
+ "devDependencies": {
22
+ "@crowdin/cli": "^3.19.4",
23
+ "@hrgui/libass-wasm-ts": "^1.0.3",
24
+ "@types/bencode": "^2.0.4",
25
+ "@types/crypto-js": "^4.2.2",
26
+ "@types/mark.js": "^8.11.12",
27
+ "@types/node": "^20.19.0",
28
+ "@types/qrcode": "^1.5.5",
29
+ "@types/sha256": "^0.2.2",
30
+ "@types/streamsaver": "^2.0.5",
31
+ "@vitejs/plugin-legacy": "^4.1.1",
32
+ "husky": "^8.0.3",
33
+ "lint-staged": "^13.3.0",
34
+ "prettier": "3.1.1",
35
+ "rollup-plugin-copy": "^3.5.0",
36
+ "terser": "^5.42.0",
37
+ "typescript": "^4.9.5",
38
+ "vite": "^4.5.14",
39
+ "vite-plugin-dynamic-base": "^0.4.9",
40
+ "vite-plugin-solid": "^2.11.6"
41
+ },
42
+ "dependencies": {
43
+ "@egjs/view360": "4.0.0-beta.7",
44
+ "@github/webauthn-json": "^2.1.1",
45
+ "@hope-ui/solid": "0.6.7",
46
+ "@monaco-editor/loader": "^1.5.0",
47
+ "@solid-primitives/i18n": "^1.4.1",
48
+ "@solid-primitives/keyboard": "^1.3.1",
49
+ "@solid-primitives/storage": "^1.3.11",
50
+ "@solidjs/router": "^0.9.1",
51
+ "@stitches/core": "^1.2.8",
52
+ "@viselect/vanilla": "^3.9.0",
53
+ "aplayer": "^1.10.1",
54
+ "artplayer": "^5.2.3",
55
+ "artplayer-plugin-danmuku": "^5.1.6",
56
+ "asciinema-player": "^3.10.0",
57
+ "axios": "^1.9.0",
58
+ "bencode": "^4.0.0",
59
+ "chardet": "^2.1.0",
60
+ "clsx": "^2.1.1",
61
+ "copy-to-clipboard": "^3.3.3",
62
+ "crypto-js": "^4.2.0",
63
+ "hash-wasm": "^4.12.0",
64
+ "hls.js": "^1.6.5",
65
+ "just-once": "^2.2.0",
66
+ "libass-wasm": "^4.1.0",
67
+ "lightgallery": "^2.8.3",
68
+ "mark.js": "^8.11.1",
69
+ "mitt": "^3.0.1",
70
+ "mpegts.js": "^1.8.0",
71
+ "qrcode": "^1.5.4",
72
+ "rehype-katex": "^6.0.3",
73
+ "rehype-raw": "^6.1.1",
74
+ "remark-gfm": "^3.0.1",
75
+ "remark-math": "^5.1.1",
76
+ "seemly": "^0.3.10",
77
+ "sha256": "^0.2.0",
78
+ "solid-contextmenu": "0.0.2",
79
+ "solid-icons": "^1.1.0",
80
+ "solid-js": "^1.9.7",
81
+ "solid-markdown": "^1.2.2",
82
+ "solid-motionone": "^1.0.4",
83
+ "solid-transition-group": "^0.0.12",
84
+ "streamsaver": "^2.0.6",
85
+ "typescript-natural-sort": "^0.7.2"
86
+ },
87
+ "lint-staged": {
88
+ "**/*.{js,ts,css,tsx,jsx,md,html,yml,yaml}": "prettier --write"
89
+ },
90
+ "scripts": {
91
+ "crowdin:upload": "crowdin upload sources --auto-update",
92
+ "crowdin:download": "crowdin download --verbose",
93
+ "crowdin": "pnpm crowdin:upload && pnpm crowdin:download",
94
+ "i18n:build": "pnpm crowdin && node ./scripts/i18n.mjs",
95
+ "i18n:release": "pnpm run crowdin:download && node ./scripts/i18n.mjs",
96
+ "start": "vite",
97
+ "dev": "vite --force",
98
+ "build": "vite build",
99
+ "serve": "vite preview",
100
+ "format": "prettier --ignore-path .gitignore -w \"src/**/*.{js,ts,json,css,tsx,jsx}\""
101
+ }
102
+ }