multi_embed_player 3.1.0 → 3.2.0

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 (118) hide show
  1. package/add_exports.js +42 -0
  2. package/dist/iframe_api/bilibili.d.ts +210 -0
  3. package/dist/iframe_api/bilibili.d.ts.map +1 -0
  4. package/dist/iframe_api/bilibili.js +1035 -0
  5. package/dist/iframe_api/bilibili.js.map +1 -0
  6. package/dist/iframe_api/niconico.d.ts +191 -0
  7. package/dist/iframe_api/niconico.d.ts.map +1 -0
  8. package/dist/iframe_api/niconico.js +325 -0
  9. package/dist/iframe_api/niconico.js.map +1 -0
  10. package/dist/iframe_api/soundcloud.d.ts +152 -0
  11. package/dist/iframe_api/soundcloud.d.ts.map +1 -0
  12. package/dist/iframe_api/soundcloud.js +360 -0
  13. package/dist/iframe_api/soundcloud.js.map +1 -0
  14. package/dist/iframe_api/youtube.d.ts +96 -0
  15. package/dist/iframe_api/youtube.d.ts.map +1 -0
  16. package/dist/iframe_api/youtube.js +269 -0
  17. package/dist/iframe_api/youtube.js.map +1 -0
  18. package/dist/multi_embed_player.d.ts +231 -0
  19. package/dist/multi_embed_player.d.ts.map +1 -0
  20. package/dist/multi_embed_player.js +921 -0
  21. package/dist/multi_embed_player.js.map +1 -0
  22. package/package.json +9 -2
  23. package/.github/workflows/build-and-deploy.yml +0 -44
  24. package/.gitmodules +0 -3
  25. package/browserExtention/chrome/background.js +0 -55
  26. package/browserExtention/chrome/extention.json +0 -1
  27. package/browserExtention/chrome/liteplayer.js +0 -26439
  28. package/browserExtention/chrome/manifest.json +0 -31
  29. package/browserExtention/chrome/player-selector.js +0 -1854
  30. package/browserExtention/firefox/background.js +0 -27
  31. package/browserExtention/firefox/extention.json +0 -1
  32. package/browserExtention/firefox/liteplayer.js +0 -26439
  33. package/browserExtention/firefox/manifest.json +0 -19
  34. package/browserExtention/firefox/player-selector.js +0 -1854
  35. package/documents/.hugo_build.lock +0 -0
  36. package/documents/archetypes/default.md +0 -5
  37. package/documents/assets/jsconfig.json +0 -11
  38. package/documents/content/docs/install.md +0 -103
  39. package/documents/content/docs/quickstart.md +0 -51
  40. package/documents/content/docs/reference/HTML.md +0 -31
  41. package/documents/content/docs/reference/_index.md +0 -10
  42. package/documents/content/docs/reference/error_code.md +0 -23
  43. package/documents/content/docs/reference/iframe_api.md +0 -737
  44. package/documents/content/docs/reference/iframe_class.md +0 -230
  45. package/documents/content/docs/reference/multi_embed_player_class.md +0 -113
  46. package/documents/content/docs/reference/reserved_words.md +0 -71
  47. package/documents/content/docs/usage/GDPR_mode.md +0 -77
  48. package/documents/content/docs/usage/_index.md +0 -10
  49. package/documents/content/docs/usage/custom_playlist.md +0 -239
  50. package/documents/content/docs/usage/embed_api.md +0 -163
  51. package/documents/content/docs/usage/embed_various_service.md +0 -81
  52. package/documents/content/docs/usage/thumbnail_click.md +0 -57
  53. package/documents/go.mod +0 -8
  54. package/documents/go.sum +0 -14
  55. package/documents/hugo.toml +0 -18
  56. package/documents/layouts/partials/docs/sidebar.html +0 -117
  57. package/documents/layouts/partials/landing/features.html +0 -47
  58. package/documents/layouts/robots.txt +0 -4
  59. package/documents/static/_headers +0 -7
  60. package/documents/static/localStorageCheck.html +0 -27
  61. package/documents/static/no_extention.json +0 -1
  62. package/example.html +0 -27
  63. package/extention.json +0 -1
  64. package/icon/video_not_found.odg +0 -0
  65. package/icon/video_not_found.svgz +0 -0
  66. package/iframe_api/bilibili.ts +0 -1095
  67. package/iframe_api/niconico.ts +0 -429
  68. package/iframe_api/soundcloud.ts +0 -450
  69. package/iframe_api/youtube.ts +0 -311
  70. package/multi_embed_player.ts +0 -989
  71. package/player_api_gate/bilibili-api-gate/cgi/cpp/bilibili-api-gate-cgi.cpp +0 -281
  72. package/player_api_gate/bilibili-api-gate/cgi/go/src.go +0 -46
  73. package/player_api_gate/bilibili-api-gate/cloudflare_workers/package-lock.json +0 -1356
  74. package/player_api_gate/bilibili-api-gate/cloudflare_workers/package.json +0 -12
  75. package/player_api_gate/bilibili-api-gate/cloudflare_workers/src/index.js +0 -50
  76. package/player_api_gate/bilibili-api-gate/cloudflare_workers/wrangler.toml +0 -3
  77. package/player_api_gate/iframe-api-ts/.editorconfig +0 -12
  78. package/player_api_gate/iframe-api-ts/.prettierrc +0 -6
  79. package/player_api_gate/iframe-api-ts/package-lock.json +0 -3054
  80. package/player_api_gate/iframe-api-ts/package.json +0 -18
  81. package/player_api_gate/iframe-api-ts/src/bilibili.ts +0 -49
  82. package/player_api_gate/iframe-api-ts/src/index.ts +0 -35
  83. package/player_api_gate/iframe-api-ts/src/niconico.ts +0 -95
  84. package/player_api_gate/iframe-api-ts/src/soundcloud.ts +0 -38
  85. package/player_api_gate/iframe-api-ts/src/types.ts +0 -115
  86. package/player_api_gate/iframe-api-ts/src/url-proxy.ts +0 -29
  87. package/player_api_gate/iframe-api-ts/src/utils.ts +0 -82
  88. package/player_api_gate/iframe-api-ts/src/youtube.ts +0 -41
  89. package/player_api_gate/iframe-api-ts/test/bilibili.spec.ts +0 -47
  90. package/player_api_gate/iframe-api-ts/test/env.d.ts +0 -3
  91. package/player_api_gate/iframe-api-ts/test/index.spec.ts +0 -59
  92. package/player_api_gate/iframe-api-ts/test/niconico.spec.ts +0 -55
  93. package/player_api_gate/iframe-api-ts/test/soundcloud.spec.ts +0 -55
  94. package/player_api_gate/iframe-api-ts/test/tsconfig.json +0 -8
  95. package/player_api_gate/iframe-api-ts/test/url-proxy.spec.ts +0 -46
  96. package/player_api_gate/iframe-api-ts/test/youtube.spec.ts +0 -45
  97. package/player_api_gate/iframe-api-ts/tsconfig.json +0 -45
  98. package/player_api_gate/iframe-api-ts/vitest.config.mts +0 -11
  99. package/player_api_gate/iframe-api-ts/worker-configuration.d.ts +0 -5768
  100. package/player_api_gate/iframe-api-ts/wrangler.jsonc +0 -47
  101. package/player_api_gate/iframe_api/.editorconfig +0 -13
  102. package/player_api_gate/iframe_api/.prettierrc +0 -6
  103. package/player_api_gate/iframe_api/package-lock.json +0 -1307
  104. package/player_api_gate/iframe_api/package.json +0 -12
  105. package/player_api_gate/iframe_api/src/bilibili_api.js +0 -60
  106. package/player_api_gate/iframe_api/src/index.js +0 -47
  107. package/player_api_gate/iframe_api/src/niconico_api.js +0 -112
  108. package/player_api_gate/iframe_api/src/soundcloud_api.js +0 -57
  109. package/player_api_gate/iframe_api/src/url_proxy.js +0 -28
  110. package/player_api_gate/iframe_api/src/youtube_api.js +0 -44
  111. package/player_api_gate/iframe_api/wrangler.toml +0 -51
  112. package/player_api_gate/niconico-imager/cgi/go/src.go +0 -74
  113. package/player_api_gate/niconico-imager/cloudflare_workers/package-lock.json +0 -2175
  114. package/player_api_gate/niconico-imager/cloudflare_workers/package.json +0 -12
  115. package/player_api_gate/niconico-imager/cloudflare_workers/src/index.js +0 -78
  116. package/player_api_gate/niconico-imager/cloudflare_workers/wrangler.toml +0 -3
  117. package/test_script.html +0 -172
  118. package/tsconfig.json +0 -36
@@ -1,281 +0,0 @@
1
- #include "curl/curl.h"
2
- #include "json.hpp"
3
- #include <iostream>
4
- #include <string>
5
- #include <unordered_map>
6
-
7
- using json = nlohmann::json;
8
-
9
- struct MemoryStructAdvance {
10
- char *memory;
11
- size_t size;
12
- size_t reserved_size;
13
- void free_memory(){
14
- delete this->memory;
15
- this->memory = NULL;
16
- }
17
- };
18
-
19
- static size_t WriteMemoryCallback(void *contents, size_t size, size_t nmemb, void *userp){
20
- MemoryStructAdvance *msp = (MemoryStructAdvance *)userp;
21
- size_t realsize = size * nmemb;
22
- bool memory_reserve_size_changed = false;
23
- while(realsize+msp->size > msp->reserved_size){//メモリを拡大
24
- memory_reserve_size_changed = true;
25
- if(msp->reserved_size<=0){
26
- msp->reserved_size = 1000;
27
- }
28
- msp->reserved_size = msp->reserved_size*2;
29
- }
30
- char* data_input_char;
31
- if(memory_reserve_size_changed){
32
- data_input_char = new char[msp->reserved_size];
33
- memset(data_input_char,'\0',msp->reserved_size);
34
- memcpy(data_input_char,msp->memory,msp->size);
35
- delete msp->memory;
36
- msp->memory = data_input_char;
37
- }
38
- else{
39
- data_input_char = msp->memory;
40
- }
41
- memcpy(data_input_char+msp->size,contents,realsize);
42
- msp->size += realsize;
43
- return realsize;
44
- }
45
- MemoryStructAdvance downloadFileOnMemory(std::string url,std::vector<std::string> header={},std::string cookieFilePath="",std::string useragent=""){
46
- CURL *curl_handle;
47
- CURLcode res;
48
- MemoryStructAdvance ms;
49
- ms.reserved_size = 1000;
50
- ms.size = 0;
51
- ms.memory = new char[ms.reserved_size];
52
- memset(ms.memory,'\0',ms.reserved_size);
53
- curl_handle = curl_easy_init();
54
- //オレオレ証明書対応
55
- curl_easy_setopt(curl_handle, CURLOPT_SSL_VERIFYPEER,0); //証明書の確認をしない
56
-
57
- curl_easy_setopt(curl_handle, CURLOPT_URL, url.c_str());
58
- curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, WriteMemoryCallback);
59
- curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, (void *)&ms);
60
- if(useragent==(std::string)""){
61
- curl_easy_setopt(curl_handle, CURLOPT_USERAGENT, "libcurl-agent/1.0");
62
- }
63
- else{
64
- curl_easy_setopt(curl_handle, CURLOPT_USERAGENT, useragent.c_str());
65
- }
66
- curl_easy_setopt(curl_handle, CURLOPT_FOLLOWLOCATION, 1L);
67
- curl_easy_setopt(curl_handle, CURLOPT_MAXREDIRS, 10);
68
- curl_easy_setopt(curl_handle, CURLOPT_NOSIGNAL, 1L);
69
-
70
- if(cookieFilePath!=(std::string)""){
71
- curl_easy_setopt(curl_handle, CURLOPT_COOKIEFILE, cookieFilePath.c_str());
72
- }
73
- if(header.size()!=0){
74
- struct curl_slist *chunk = NULL;
75
- for(int x=0;x<header.size();x++){
76
- chunk = curl_slist_append(chunk, header[x].c_str());
77
- }
78
- curl_easy_setopt(curl_handle, CURLOPT_HTTPHEADER, chunk);
79
- }
80
- res = curl_easy_perform(curl_handle);
81
- if(res != CURLE_OK) {
82
- fprintf(stderr, "curl_easy_perform() failed: %s\n",curl_easy_strerror(res));
83
- }
84
- curl_easy_cleanup(curl_handle);
85
- return ms;
86
- }
87
-
88
- void return_data(json jsondata){
89
- //std::cout << "Content-Type: application/json\nAccess-Control-Allow-Origin: *\ncache-control: max-age=2592000\n\n" << jsondata.dump() << std::endl;
90
- std::cout << "Content-Type: application/json\n\n";
91
- std::cout << jsondata.dump() << std::endl;
92
- }
93
-
94
- typedef enum tagBASE64_TYPE {
95
- BASE64_TYPE_STANDARD,
96
- BASE64_TYPE_MIME,
97
- BASE64_TYPE_URL
98
- } BASE64_TYPE;
99
-
100
- static const char BASE64_TABLE[] = {
101
- "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
102
- };
103
- static const char BASE64_TABLE_URL[] = {
104
- "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"
105
- };
106
- static const int BASE64_TABLE_LENGTH = {
107
- sizeof(BASE64_TABLE) / sizeof(BASE64_TABLE[0]) - 1
108
- };
109
-
110
- typedef struct tagBASE64_SPEC {
111
- BASE64_TYPE type;
112
- const char *table;
113
- char pad;
114
- int maxLineLength;
115
- char *lineSep;
116
- int lineSepLength;
117
- } BASE64_SPEC;
118
- static const BASE64_SPEC BASE64_SPECS[] = {
119
- { BASE64_TYPE_STANDARD, BASE64_TABLE, '=', 0, NULL, 0 },
120
- { BASE64_TYPE_MIME, BASE64_TABLE, '=', 76, "\r\n", 2 },
121
- { BASE64_TYPE_URL, BASE64_TABLE_URL, 0, 0, NULL, 0 }
122
- };
123
- static const size_t BASE64_SPECS_LENGTH = {
124
- sizeof(BASE64_SPECS) / sizeof(BASE64_SPECS[0])
125
- };
126
-
127
- char *base64Encode(const char *data, const size_t size, const BASE64_TYPE type)
128
- {
129
- BASE64_SPEC spec;
130
- size_t length;
131
- char *base64;
132
- char *cursor;
133
- int lineLength;
134
- int i;
135
- int j;
136
-
137
- if (data == NULL) {
138
- return NULL;
139
- }
140
-
141
- spec = BASE64_SPECS[0];
142
- for (i = 0; i < (int)BASE64_SPECS_LENGTH; i++) {
143
- if (BASE64_SPECS[i].type == type) {
144
- spec = BASE64_SPECS[i];
145
- break;
146
- }
147
- }
148
-
149
- length = size * 4 / 3 + 3 + 1;
150
- if (spec.maxLineLength > 0) {
151
- length += size / spec.maxLineLength * spec.lineSepLength;
152
- }
153
- //base64 = (char*)malloc(length);
154
- base64 = new char[length];
155
- if (base64 == NULL) {
156
- return NULL;
157
- }
158
-
159
- cursor = base64;
160
- lineLength = 0;
161
- for (i = 0, j = size; j > 0; i += 3, j -= 3) {
162
- if (spec.maxLineLength > 0) {
163
- if (lineLength >= spec.maxLineLength) {
164
- char *sep;
165
-
166
- for (sep = spec.lineSep; *sep != 0; sep++) {
167
- *(cursor++) = *sep;
168
- }
169
- lineLength = 0;
170
- }
171
- lineLength += 4;
172
- }
173
-
174
- if (j == 1) {
175
- *(cursor++) = spec.table[(data[i + 0] >> 2 & 0x3f)];
176
- *(cursor++) = spec.table[(data[i + 0] << 4 & 0x30)];
177
- *(cursor++) = spec.pad;
178
- *(cursor++) = spec.pad;
179
- }
180
- else if (j == 2) {
181
- *(cursor++) = spec.table[(data[i + 0] >> 2 & 0x3f)];
182
- *(cursor++) = spec.table[(data[i + 0] << 4 & 0x30) | (data[i + 1] >> 4 & 0x0f)];
183
- *(cursor++) = spec.table[(data[i + 1] << 2 & 0x3c)];
184
- *(cursor++) = spec.pad;
185
- }
186
- else {
187
- *(cursor++) = spec.table[(data[i + 0] >> 2 & 0x3f)];
188
- *(cursor++) = spec.table[(data[i + 0] << 4 & 0x30) | (data[i + 1] >> 4 & 0x0f)];
189
- *(cursor++) = spec.table[(data[i + 1] << 2 & 0x3c) | (data[i + 2] >> 6 & 0x03)];
190
- *(cursor++) = spec.table[(data[i + 2] << 0 & 0x3f)];
191
- }
192
- }
193
- *cursor = 0;
194
-
195
- return base64;
196
- }
197
-
198
- int main(){
199
- json ret_js;
200
- try{
201
- const char* query_string = std::getenv("QUERY_STRING");
202
- std::string query_string_str = query_string ? query_string : "";
203
- if(query_string_str==""){
204
- query_string_str = "bvid=BV1Yq4y1Z785&image_base64=1";
205
- }
206
-
207
- // QUERY_STRINGをパースしてunordered_mapに格納する
208
- std::unordered_map<std::string, std::string> params;
209
- size_t pos = 0;
210
- while (pos < query_string_str.size()) {
211
- size_t end_pos = query_string_str.find('&', pos);
212
- if (end_pos == std::string::npos) {
213
- end_pos = query_string_str.size();
214
- }
215
- size_t sep_pos = query_string_str.find('=', pos);
216
- if (sep_pos == std::string::npos || sep_pos > end_pos) {
217
- sep_pos = end_pos;
218
- }
219
- std::string key = query_string_str.substr(pos, sep_pos - pos);
220
- std::string value = "";
221
- if (sep_pos < end_pos) {
222
- value = query_string_str.substr(sep_pos + 1, end_pos - sep_pos - 1);
223
- }
224
- params[key] = value;
225
- pos = end_pos + 1;
226
- }
227
- delete query_string;
228
- if(params.count("bvid")!=1){//bvidが見つからないとき
229
- ret_js["status"] = "failed";
230
- ret_js["message"] = "plese set bvid in query string example ?bvid=BV1Yq4y1Z785";
231
- ret_js["product_type"] = "bilibili api";
232
- return_data(ret_js);
233
- }
234
- else{
235
- std::string api_url = "https://api.bilibili.com/x/web-interface/view?bvid=" + params["bvid"];
236
- //char* api_res_char = downloadFileOnMemory(api_url);
237
- MemoryStructAdvance tmp_ms;
238
- try{
239
- tmp_ms = downloadFileOnMemory(api_url);
240
- }
241
- catch(...){
242
- ret_js["status"] = "failed";
243
- ret_js["message"] = "network access error";
244
- ret_js["product_type"] = "bilibili api";
245
- return_data(ret_js);
246
- }
247
- char* api_res_char = tmp_ms.memory;
248
- std::string api_res_string = strdup(api_res_char);
249
- delete api_res_char;
250
- api_res_char = NULL;
251
- //tmp_ms.free_memory();
252
- ret_js = json::parse(api_res_string);
253
- if(params.count("image_base64")==1&&params["image_base64"]=="1"){
254
- std::string image_url = ret_js["data"]["pic"];
255
- MemoryStructAdvance image_res_data_ms;
256
- try{
257
- image_res_data_ms = downloadFileOnMemory(image_url);
258
- }
259
- catch(...){
260
- ret_js["status"] = "failed";
261
- ret_js["message"] = "network access error";
262
- ret_js["product_type"] = "bilibili api";
263
- return_data(ret_js);
264
- }
265
- char* image_base64_char = base64Encode(image_res_data_ms.memory,image_res_data_ms.size,BASE64_TYPE_STANDARD);
266
- std::string image_base64_string = image_base64_char;
267
- ret_js["image_base64"] = "data:image/jpeg;base64," + image_base64_string;
268
- delete image_base64_char;
269
- image_base64_char = NULL;
270
- image_res_data_ms.free_memory();
271
- }
272
- return_data(ret_js);
273
- }
274
- }
275
- catch(...){
276
- ret_js["status"] = "failed";
277
- ret_js["message"] = "internal server error";
278
- ret_js["product_type"] = "bilibili api";
279
- return_data(ret_js);
280
- }
281
- }
@@ -1,46 +0,0 @@
1
- package main
2
-
3
- import (
4
- "encoding/base64"
5
- "encoding/json"
6
- "fmt"
7
- "io"
8
- "net/http"
9
- "os"
10
- "strings"
11
- "unsafe"
12
- )
13
-
14
- func main() {
15
- queryString := os.Getenv("QUERY_STRING")
16
- // QUERY_STRINGをパースして、値を取得
17
- values := make(map[string]string)
18
- pairs := strings.Split(queryString, "&")
19
- for _, pair := range pairs {
20
- kv := strings.Split(pair, "=")
21
- if len(kv) == 2 {
22
- values[kv[0]] = kv[1]
23
- }
24
- }
25
-
26
- url := "https://api.bilibili.com/x/web-interface/view?bvid=" + values["bvid"]
27
- resp, _ := http.Get(url)
28
- defer resp.Body.Close()
29
-
30
- byteArray, _ := io.ReadAll(resp.Body)
31
- var tmp_json interface{}
32
- json.Unmarshal(byteArray, &tmp_json)
33
- if val, ok := values["image_base64"]; ok {
34
- if val == "1" {
35
- pic_url := tmp_json.(map[string]interface{})["data"].(map[string]interface{})["pic"].(string)
36
- resp, _ := http.Get(pic_url)
37
- defer resp.Body.Close()
38
- byteArray, _ := io.ReadAll(resp.Body)
39
- base64_image := base64.StdEncoding.EncodeToString(byteArray)
40
- tmp_json.(map[string]interface{})["image_base64"] = "data:image/jpeg;base64," + base64_image
41
- }
42
- }
43
- json_st, _ := json.MarshalIndent(tmp_json, "", " ") //書き出し
44
- fmt.Println("Content-Type: application/json\n\n")
45
- fmt.Println(*(*string)(unsafe.Pointer(&json_st)))
46
- }