├── .github
└── workflows
│ └── main.yml
├── .gitignore
├── LICENSE
├── README.md
├── fumo_data.json
├── imgfetch.js
├── package-lock.json
├── package.json
└── src
├── fumo_checklist.mustache
├── fumo_list.mustache
├── fumo_table.mustache
├── index.mustache
├── index.scss
├── japanese.mustache
├── proxy_forward.mustache
└── reseller.mustache
/.github/workflows/main.yml:
--------------------------------------------------------------------------------
1 | # This is a basic workflow to help you get started with Actions
2 |
3 | name: Node Deployment
4 |
5 | # Controls when the action will run. Triggers the workflow on push
6 | # events but only for the master branch
7 | on:
8 | push:
9 | branches: [ master ]
10 |
11 | # A workflow run is made up of one or more jobs that can run sequentially or in parallel
12 | jobs:
13 | # This workflow contains a single job called "build"
14 | build:
15 | # The type of runner that the job will run on
16 | runs-on: ubuntu-latest
17 |
18 | # Steps represent a sequence of tasks that will be executed as part of the job
19 | steps:
20 | # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
21 | - uses: actions/checkout@v2
22 | - name: Install Node.js
23 | uses: actions/setup-node@v1
24 | with:
25 | node-version: '17.x'
26 | - name: Install Dependencies
27 | run: npm install -g sass mustache
28 | - name: Run Build
29 | run: npm run build
30 | - name: Deploy to Server
31 | uses: easingthemes/ssh-deploy@v2.1.1
32 | env:
33 | SSH_PRIVATE_KEY: ${{ secrets.SERVER_SSH_KEY }}
34 | ARGS: -rtgozvO --delete --exclude=/img
35 | SOURCE: "static/"
36 | REMOTE_HOST: ${{ secrets.REMOTE_HOST }}
37 | REMOTE_USER: ${{ secrets.REMOTE_USER }}
38 | TARGET: ${{ secrets.REMOTE_TARGET }}
39 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | static/
2 | node_modules/
3 | .vscode/
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 Ununoctium117
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Fumo Guides
2 |
3 | This is the source code for https://fumo.website.
4 |
5 | ## Development
6 |
7 | Pages are generated using the templates in src/ and the data in fumo_data.json. CSS for all pages is generated
8 | using SCSS.
9 |
10 | Changes to this repository are automatically reflected in the real site (excluding images). Please feel free to
11 | open pull requests with content changes, fixes, or improvements.
12 |
13 | Anyone is welcome to contribute.
--------------------------------------------------------------------------------
/fumo_data.json:
--------------------------------------------------------------------------------
1 | {
2 | "characters": [
3 | {
4 | "ch_name": "Hakurei Reimu",
5 | "thwiki": "https://en.touhouwiki.net/wiki/Reimu_Hakurei",
6 | "regular": [
7 | {
8 | "name": "Version 1",
9 | "id": "001",
10 | "img": "https://www.gift-gift.jp/nui/files/images/nui001_01.jpg",
11 | "release_dates": [
12 | 2008,
13 | 2009,
14 | 2010,
15 | 2011,
16 | 2012
17 | ],
18 | "rarity": "Uncommon",
19 | "second_hand_cost": "High",
20 | "price_range": "$70 - $120",
21 | "gift_link": "https://www.gift-gift.jp/nui/nui001.html",
22 | "amiami_link": "https://www.amiami.com/eng/detail/?gcode=CGD-2206"
23 | },
24 | {
25 | "name": "Nendroid Plus",
26 | "id": "029",
27 | "img": "https://www.gift-gift.jp/archive/nui/images/nui029_01.jpg",
28 | "release_dates": [
29 | 2010
30 | ],
31 | "rarity": "Rare",
32 | "second_hand_cost": "High",
33 | "price_range": "$80 - $120",
34 | "gift_link": "https://www.gift-gift.jp/archive/nui/nui029.html"
35 | },
36 | {
37 | "name": "Kourindou Version",
38 | "id": "345",
39 | "img": "https://www.gift-gift.jp/nui/files/images/nui345_01.jpg",
40 | "release_dates": [
41 | 2015,
42 | 2016,
43 | 2017,
44 | 2018,
45 | 2020
46 | ],
47 | "rarity": "Common",
48 | "second_hand_cost": "Normal",
49 | "price_range": "$40 - $60",
50 | "gift_link": "https://www.gift-gift.jp/nui/nui345.html",
51 | "amiami_link": "https://www.amiami.com/eng/detail/?gcode=GOODS-00099826"
52 | },
53 | {
54 | "name": "Version 1.5",
55 | "id": "897",
56 | "img": "https://www.gift-gift.jp/nui/files/images/nui897_01.jpg",
57 | "release_dates": [
58 | 2022
59 | ],
60 | "rarity": "Common",
61 | "second_hand_cost": "Normal",
62 | "gift_link": "https://www.gift-gift.jp/nui/nui897.html",
63 | "amiami_link": "https://www.amiami.com/eng/detail/?gcode=GOODS-04230781"
64 | },
65 | {
66 | "name": "Phantasmagoria of Dim. Dream Version",
67 | "id": "1035",
68 | "img": "https://www.gift-gift.jp/nui/files/images/42cc88423f061963c36e659d8895b881b121239b.jpg",
69 | "release_dates": [
70 | 2023
71 | ],
72 | "gift_link": "https://www.gift-gift.jp/nui/nui1035.html",
73 | "amiami_link": "https://www.amiami.com/eng/detail/?gcode=GOODS-04417656"
74 | },
75 | {
76 | "name": "Lost Word ~ God-Summoning Shaman Version",
77 | "id": "983",
78 | "img": "https://www.gift-gift.jp/nui/files/images/nui983_01.jpg",
79 | "release_dates": [
80 | 2023
81 | ],
82 | "gift_link": "https://www.gift-gift.jp/nui/nui983.html"
83 | }
84 | ],
85 | "straps": [
86 | {
87 | "name": "Nendroid Plus",
88 | "id": "122",
89 | "img": "https://www.gift-gift.jp/nui/files/images/nui122_01.jpg",
90 | "release_dates": [
91 | 2011
92 | ],
93 | "rarity": "Rare",
94 | "second_hand_cost": "Normal",
95 | "gift_link": "https://www.gift-gift.jp/nui/nui122.html"
96 | },
97 | {
98 | "name": "Kourindou Version",
99 | "id": "452",
100 | "img": "https://www.gift-gift.jp/nui/files/images/nui452_01.jpg",
101 | "release_dates": [
102 | 2016
103 | ],
104 | "rarity": "Rare",
105 | "second_hand_cost": "Normal",
106 | "price_range": "$100 - $200+",
107 | "gift_link": "https://www.gift-gift.jp/nui/nui452.html"
108 | },
109 | {
110 | "name": "Plush Strap",
111 | "id": "745",
112 | "img": "https://www.gift-gift.jp/nui/files/images/nui745.jpg",
113 | "release_dates": [
114 | 2020
115 | ],
116 | "rarity": "Common",
117 | "second_hand_cost": "Low",
118 | "price_range": "$20",
119 | "gift_link": "https://www.gift-gift.jp/nui/nui745.html"
120 | }
121 | ],
122 | "dekas": [
123 | {
124 | "name": "Version 1",
125 | "id": "009",
126 | "img": "https://www.gift-gift.jp/archive/nui/images/nui009_01.jpg",
127 | "release_dates": [
128 | 2009,
129 | 2010,
130 | 2011,
131 | 2012
132 | ],
133 | "rarity": "Super Rare",
134 | "second_hand_cost": "High",
135 | "price_range": "$500 - $750+",
136 | "gift_link": "https://www.gift-gift.jp/archive/nui/nui009.html"
137 | },
138 | {
139 | "name": "Kourindou Version",
140 | "id": "739",
141 | "img": "https://www.gift-gift.jp/nui/files/images/74192eafba17dba313c25cb6de2376c7e179450c.jpg",
142 | "release_dates": [
143 | 2020
144 | ],
145 | "rarity": "Super Rare",
146 | "second_hand_cost": "Normal",
147 | "price_range": "$500",
148 | "gift_link": "https://www.gift-gift.jp/nui/nui739.html"
149 | },
150 | {
151 | "name": "Yukkuri (47cm)",
152 | "id": "1064",
153 | "img": "https://www.gift-gift.jp/nui/files/images/nui1064_01.jpg",
154 | "release_dates": [
155 | 2024
156 | ],
157 | "gift_link": "https://www.gift-gift.jp/nui/nui1064.html"
158 | }
159 | ],
160 | "puppets": [
161 | {
162 | "name": "Puppet",
163 | "id": "021",
164 | "img": "https://www.gift-gift.jp/nui/files/images/nui021_01.jpg",
165 | "release_dates": [
166 | 2009
167 | ],
168 | "rarity": "Rare",
169 | "second_hand_cost": "High",
170 | "price_range": "$120+",
171 | "gift_link": "https://www.gift-gift.jp/nui/nui021.html"
172 | }
173 | ]
174 | },
175 | {
176 | "ch_name": "Kirisame Marisa",
177 | "thwiki": "https://en.touhouwiki.net/wiki/Marisa_Kirisame",
178 | "regular": [
179 | {
180 | "name": "Version 1",
181 | "id": "002",
182 | "img": "https://www.gift-gift.jp/nui/files/images/nui002_01.jpg",
183 | "release_dates": [
184 | 2008,
185 | 2009,
186 | 2010,
187 | 2011,
188 | 2012
189 | ],
190 | "rarity": "Uncommon",
191 | "second_hand_cost": "Normal",
192 | "gift_link": "https://www.gift-gift.jp/nui/nui002.html"
193 | },
194 | {
195 | "name": "Nendroid Plus",
196 | "id": "030",
197 | "img": "https://www.gift-gift.jp/archive/nui/images/nui030_01.jpg",
198 | "release_dates": [
199 | 2010
200 | ],
201 | "rarity": "Rare",
202 | "second_hand_cost": "High",
203 | "gift_link": "https://www.gift-gift.jp/archive/nui/nui030.html"
204 | },
205 | {
206 | "name": "Version 2",
207 | "id": "278",
208 | "img": "https://www.gift-gift.jp/nui/files/images/nui278_01.jpg",
209 | "release_dates": [
210 | 2014,
211 | 2016,
212 | 2020
213 | ],
214 | "rarity": "Rare",
215 | "second_hand_cost": "Normal",
216 | "gift_link": "https://www.gift-gift.jp/nui/nui278.html",
217 | "amiami_link": "https://www.amiami.com/eng/detail/?gcode=CGD-2531"
218 | },
219 | {
220 | "name": "Kourindou Version",
221 | "id": "423",
222 | "img": "https://www.gift-gift.jp/nui/files/images/nui423_01.jpg",
223 | "release_dates": [
224 | 2016,
225 | 2017,
226 | 2018,
227 | 2020
228 | ],
229 | "rarity": "Common",
230 | "second_hand_cost": "Normal",
231 | "gift_link": "https://www.gift-gift.jp/nui/nui423.html",
232 | "amiami_link": "https://www.amiami.com/eng/detail/?gcode=GOODS-00099828"
233 | },
234 | {
235 | "name": "Version 1.5",
236 | "id": "898",
237 | "img": "https://www.gift-gift.jp/nui/files/images/nui898_01.jpg",
238 | "release_dates": [
239 | 2022
240 | ],
241 | "rarity": "Common",
242 | "second_hand_cost": "Normal",
243 | "price_range": "$70 - $120",
244 | "gift_link": "https://www.gift-gift.jp/nui/nui898.html",
245 | "amiami_link": "https://www.amiami.com/eng/detail/?gcode=GOODS-04230783"
246 | },
247 | {
248 | "name": "Lost Word ~ Witch of Scarlet Dreams Version",
249 | "id": "984",
250 | "img": "https://www.gift-gift.jp/nui/files/images/nui984_01.jpg",
251 | "release_dates": [
252 | 2023
253 | ],
254 | "gift_link": "https://www.gift-gift.jp/nui/nui984.html",
255 | "amiami_link": "https://www.amiami.com/eng/detail/?gcode=GOODS-04366743"
256 | },
257 | {
258 | "name": "Phantasmagoria of Dim. Dream Version",
259 | "id": "1036",
260 | "img": "https://www.gift-gift.jp/nui/files/images/nui1036_01.jpg",
261 | "release_dates": [
262 | 2023
263 | ],
264 | "gift_link": "https://www.gift-gift.jp/nui/nui1036.html",
265 | "amiami_link": "https://www.amiami.com/eng/detail/?gcode=GOODS-04417657"
266 | }
267 | ],
268 | "straps": [
269 | {
270 | "name": "Nendroid Plus",
271 | "id": "123",
272 | "img": "https://www.gift-gift.jp/nui/files/images/nui123_01.jpg",
273 | "release_dates": [
274 | 2011
275 | ],
276 | "rarity": "Rare",
277 | "second_hand_cost": "Normal",
278 | "gift_link": "https://www.gift-gift.jp/nui/nui123.html"
279 | },
280 | {
281 | "name": "Kourindou Version",
282 | "id": "453",
283 | "img": "https://www.gift-gift.jp/nui/files/images/nui453_01.jpg",
284 | "release_dates": [
285 | 2016
286 | ],
287 | "rarity": "Rare",
288 | "second_hand_cost": "Normal",
289 | "gift_link": "https://www.gift-gift.jp/nui/nui453.html"
290 | },
291 | {
292 | "name": "Plush Strap",
293 | "id": "746",
294 | "img": "https://www.gift-gift.jp/nui/files/images/nui746.jpg",
295 | "release_dates": [
296 | 2020
297 | ],
298 | "rarity": "Common",
299 | "gift_link": "https://www.gift-gift.jp/nui/nui746.html"
300 | }
301 | ],
302 | "dekas": [
303 | {
304 | "name": "Version 1",
305 | "id": "023",
306 | "img": "https://www.gift-gift.jp/archive/nui/images/nui023_01.jpg",
307 | "release_dates": [
308 | 2009,
309 | 2010,
310 | 2011
311 | ],
312 | "rarity": "Super Rare",
313 | "second_hand_cost": "High",
314 | "gift_link": "https://www.gift-gift.jp/archive/nui/nui023.html"
315 | },
316 | {
317 | "name": "Kourindou Version",
318 | "id": "740",
319 | "img": "https://www.gift-gift.jp/nui/files/images/0ef10aad3fd6ea049e15659f3f14d95a3026a917.jpg",
320 | "release_dates": [
321 | 2020
322 | ],
323 | "rarity": "Super Rare",
324 | "second_hand_cost": "Normal",
325 | "gift_link": "https://www.gift-gift.jp/nui/nui740.html"
326 | },
327 | {
328 | "name": "Yukkuri (47cm)",
329 | "id": "1065",
330 | "img": "https://www.gift-gift.jp/nui/files/images/nui1065_01.jpg",
331 | "release_dates": [
332 | 2024
333 | ],
334 | "gift_link": "https://www.gift-gift.jp/nui/nui1065.html"
335 | }
336 | ],
337 | "puppets": [
338 | {
339 | "name": "Puppet",
340 | "id": "022",
341 | "img": "https://www.gift-gift.jp/nui/files/images/nui022_01.jpg",
342 | "release_dates": [
343 | 2009
344 | ],
345 | "rarity": "Rare",
346 | "second_hand_cost": "High",
347 | "gift_link": "https://www.gift-gift.jp/nui/nui022.html"
348 | }
349 | ]
350 | },
351 | {
352 | "ch_name": "Izayoi Sakuya",
353 | "thwiki": "https://en.touhouwiki.net/wiki/Sakuya_Izayoi",
354 | "regular": [
355 | {
356 | "name": "Version 1",
357 | "id": "004",
358 | "img": "https://www.gift-gift.jp/nui/files/images/nui004_01.jpg",
359 | "release_dates": [
360 | 2009,
361 | 2010,
362 | 2011,
363 | 2012
364 | ],
365 | "rarity": "Rare",
366 | "second_hand_cost": "Normal",
367 | "gift_link": "https://www.gift-gift.jp/nui/nui004.html",
368 | "amiami_link": "https://www.amiami.com/eng/detail/?gcode=CGD-2532"
369 | },
370 | {
371 | "name": "Nendroid Plus",
372 | "id": "044",
373 | "img": "https://www.gift-gift.jp/archive/nui/images/nui044_01.jpg",
374 | "release_dates": [
375 | 2010
376 | ],
377 | "rarity": "Rare",
378 | "second_hand_cost": "High",
379 | "gift_link": "https://www.gift-gift.jp/archive/nui/nui044.html"
380 | },
381 | {
382 | "name": "Kourindou Version",
383 | "id": "356",
384 | "img": "https://www.gift-gift.jp/nui/files/images/nui356_01.jpg",
385 | "release_dates": [
386 | 2015,
387 | 2016,
388 | 2017,
389 | 2018,
390 | 2019,
391 | 2022
392 | ],
393 | "rarity": "Common",
394 | "second_hand_cost": "Normal",
395 | "gift_link": "https://www.gift-gift.jp/nui/nui356.html",
396 | "amiami_link": "https://www.amiami.com/eng/detail/?gcode=GOODS-04230805"
397 | },
398 | {
399 | "name": "Version 1.5",
400 | "id": "968",
401 | "img": "https://www.gift-gift.jp/nui/files/images/nui968_01.jpg",
402 | "release_dates": [
403 | 2023
404 | ],
405 | "gift_link": "https://www.gift-gift.jp/nui/nui968.html",
406 | "amiami_link": "https://www.amiami.com/eng/detail/?gcode=GOODS-04321735"
407 | },
408 | {
409 | "name": "Inu (Dog) Version",
410 | "id": "inu-sakuya",
411 | "img": "https://cdn.discordapp.com/attachments/454070186405003266/550907554436481024/Diverse1252940707.png?ex=66327764&is=663125e4&hm=2750ab091d90ff90e0e660546110d1118d56bf2dc82f3db102ac6a1de4c20f20&",
412 | "release_dates": [
413 | 2009
414 | ],
415 | "gift_link": "",
416 | "rarity": "Rare",
417 | "second_hand_cost": "Very High",
418 | "price_range": "$70 - $110"
419 | }
420 | ],
421 | "straps": [
422 | {
423 | "name": "Nendroid Plus",
424 | "id": "152",
425 | "img": "https://www.gift-gift.jp/nui/files/images/nui152_01.jpg",
426 | "release_dates": [
427 | 2011
428 | ],
429 | "rarity": "Rare",
430 | "second_hand_cost": "Normal",
431 | "gift_link": "https://www.gift-gift.jp/nui/nui152.html"
432 | },
433 | {
434 | "name": "Plush Strap",
435 | "id": "903",
436 | "img": "https://www.gift-gift.jp/nui/files/images/nui903.jpg",
437 | "release_dates": [
438 | 2022
439 | ],
440 | "rarity": "Common",
441 | "price_range": "$20",
442 | "gift_link": "https://www.gift-gift.jp/nui/nui903.html"
443 | }
444 | ],
445 | "mannakas": [
446 | {
447 | "name": "Medium-sized Version",
448 | "id": "1078",
449 | "img": "https://www.gift-gift.jp/nui/files/images/nui1078_01.jpg",
450 | "release_dates:": [
451 | 2024
452 | ],
453 | "gift_link": "https://www.gift-gift.jp/nui/nui1078.html",
454 | "amiami_link": "https://www.amiami.com/eng/detail/?gcode=GOODS-04480781"
455 | }
456 | ],
457 | "dekas": [
458 | {
459 | "name": "Version 1",
460 | "id": "853",
461 | "img": "https://www.gift-gift.jp/nui/files/images/nui853_01.jpg",
462 | "release_dates": [
463 | 2022
464 | ],
465 | "rarity": "Super Rare",
466 | "second_hand_cost": "Normal",
467 | "gift_link": "https://www.gift-gift.jp/nui/nui853.html",
468 | "amiami_link": "https://www.amiami.com/eng/detail/?gcode=GOODS-04299811"
469 | }
470 | ]
471 | },
472 | {
473 | "ch_name": "Remilia Scarlet",
474 | "thwiki": "https://en.touhouwiki.net/wiki/Remilia_Scarlet",
475 | "regular": [
476 | {
477 | "name": "Version 1",
478 | "id": "005",
479 | "img": "https://www.gift-gift.jp/nui/files/images/nui005_01.jpg",
480 | "release_dates": [
481 | 2009,
482 | 2010,
483 | 2011,
484 | 2012
485 | ],
486 | "rarity": "Common",
487 | "second_hand_cost": "Normal",
488 | "gift_link": "https://www.gift-gift.jp/nui/nui005.html"
489 | },
490 | {
491 | "name": "Nendroid Plus",
492 | "id": "105",
493 | "img": "https://www.gift-gift.jp/archive/nui/images/nui105_01.jpg",
494 | "release_dates": [
495 | 2011,
496 | 2012
497 | ],
498 | "rarity": "Rare",
499 | "second_hand_cost": "High",
500 | "gift_link": "https://www.gift-gift.jp/archive/nui/nui105.html"
501 | },
502 | {
503 | "name": "Kourindou Version",
504 | "id": "364",
505 | "img": "https://www.gift-gift.jp/nui/files/images/nui364_01.jpg",
506 | "release_dates": [
507 | 2015,
508 | 2017,
509 | 2018,
510 | 2020,
511 | 2022
512 | ],
513 | "rarity": "Common",
514 | "second_hand_cost": "Normal",
515 | "gift_link": "https://www.gift-gift.jp/nui/nui364.html",
516 | "amiami_link": "https://www.amiami.com/eng/detail/?gcode=GOODS-04230803"
517 | },
518 | {
519 | "name": "Version 1.5",
520 | "id": "686",
521 | "img": "https://www.gift-gift.jp/nui/files/images/nui686_01.jpg",
522 | "release_dates": [
523 | 2019,
524 | 2020,
525 | 2022
526 | ],
527 | "rarity": "Common",
528 | "second_hand_cost": "Normal",
529 | "gift_link": "https://www.gift-gift.jp/nui/nui686.html",
530 | "amiami_link": "https://www.amiami.com/eng/detail/?gcode=GOODS-04321734"
531 | },
532 | {
533 | "name": "Lost Word ~ Tiny Devil Mistress Version",
534 | "id": "1032",
535 | "img": "https://www.gift-gift.jp/nui/files/images/nui1032_01.jpg",
536 | "release_dates": [
537 | 2023
538 | ],
539 | "gift_link": "https://www.gift-gift.jp/nui/nui1032.html",
540 | "amiami_link": "https://www.amiami.com/eng/detail/?gcode=GOODS-04417654"
541 | }
542 | ],
543 | "straps": [
544 | {
545 | "name": "Nendroid Plus",
546 | "id": "168",
547 | "img": "https://www.gift-gift.jp/nui/files/images/nui168_01.jpg",
548 | "release_dates": [
549 | 2011
550 | ],
551 | "rarity": "Rare",
552 | "second_hand_cost": "Normal",
553 | "gift_link": "https://www.gift-gift.jp/nui/nui168.html"
554 | },
555 | {
556 | "name": "Plush Strap",
557 | "id": "901",
558 | "img": "https://www.gift-gift.jp/nui/files/images/nui901.jpg",
559 | "release_dates": [
560 | 2022
561 | ],
562 | "rarity": "Common",
563 | "price_range": "$20",
564 | "gift_link": "https://www.gift-gift.jp/nui/nui901.html"
565 | }
566 | ],
567 | "mannakas": [
568 | {
569 | "name": "Medium-sized Version",
570 | "id": "1076",
571 | "img": "https://www.gift-gift.jp/nui/files/images/nui1076_01.jpg",
572 | "release_dates": [
573 | 2024
574 | ],
575 | "gift_link": "https://www.gift-gift.jp/nui/nui1076.html",
576 | "amiami_link": "https://www.amiami.com/eng/detail/?gcode=GOODS-04480779"
577 | }
578 | ],
579 | "dekas": [
580 | {
581 | "name": "Version 1",
582 | "id": "124",
583 | "img": "https://www.gift-gift.jp/archive/nui/images/nui124_01.jpg",
584 | "release_dates": [
585 | 2011
586 | ],
587 | "rarity": "Super Super Rare",
588 | "second_hand_cost": "High",
589 | "gift_link": "https://www.gift-gift.jp/archive/nui/nui124.html"
590 | },
591 | {
592 | "name": "Version 1.5",
593 | "id": "851",
594 | "img": "https://www.gift-gift.jp/nui/files/images/nui851_01.jpg",
595 | "release_dates": [
596 | 2022
597 | ],
598 | "rarity": "Super Rare",
599 | "second_hand_cost": "Normal",
600 | "gift_link": "https://www.gift-gift.jp/nui/nui851.html",
601 | "amiami_link": "https://www.amiami.com/eng/detail/?gcode=GOODS-04257770"
602 | }
603 |
604 | ]
605 | },
606 | {
607 | "ch_name": "Patchouli Knowledge",
608 | "thwiki": "https://en.touhouwiki.net/wiki/Patchouli_Knowledge",
609 | "regular": [
610 | {
611 | "name": "Version 1",
612 | "id": "006",
613 | "img": "https://www.gift-gift.jp/nui/files/images/nui006_01.jpg",
614 | "release_dates": [
615 | 2009,
616 | 2010,
617 | 2011,
618 | 2012
619 | ],
620 | "rarity": "Uncommon",
621 | "second_hand_cost": "Normal",
622 | "gift_link": "https://www.gift-gift.jp/nui/nui006.html"
623 | },
624 | {
625 | "name": "Version 1.5",
626 | "id": "492",
627 | "img": "https://www.gift-gift.jp/nui/files/images/nui492_01.jpg",
628 | "release_dates": [
629 | 2020,
630 | 2021,
631 | 2022
632 | ],
633 | "rarity": "Common",
634 | "second_hand_cost": "Normal",
635 | "gift_link": "https://www.gift-gift.jp/nui/nui492.html"
636 | }
637 | ],
638 | "straps": [
639 | {
640 | "name": "Plush Strap",
641 | "id": "943",
642 | "img": "https://www.gift-gift.jp/nui/files/images/nui943_01.jpg",
643 | "release_dates": [
644 | 2022
645 | ],
646 | "rarity": "Common",
647 | "price_range": "$20",
648 | "gift_link": "https://www.gift-gift.jp/nui/nui943.html"
649 | }
650 | ]
651 | },
652 | {
653 | "ch_name": "Alice Margatroid",
654 | "thwiki": "https://en.touhouwiki.net/wiki/Alice_Margatroid",
655 | "regular": [
656 | {
657 | "name": "Version 1",
658 | "id": "007",
659 | "img": "https://www.gift-gift.jp/nui/files/images/nui007_01.jpg",
660 | "release_dates": [
661 | 2009,
662 | 2010,
663 | 2011,
664 | 2012
665 | ],
666 | "rarity": "Common",
667 | "second_hand_cost": "Normal",
668 | "gift_link": "https://www.gift-gift.jp/nui/nui007.html"
669 | },
670 | {
671 | "name": "Version 1.5",
672 | "id": "491",
673 | "img": "https://www.gift-gift.jp/nui/files/images/nui491_01.jpg",
674 | "release_dates": [
675 | 2017,
676 | 2020,
677 | 2021,
678 | 2022
679 | ],
680 | "rarity": "Common",
681 | "second_hand_cost": "Normal",
682 | "gift_link": "https://www.gift-gift.jp/nui/nui491.html"
683 | }
684 | ],
685 | "straps": [
686 | {
687 | "name": "Plush Strap",
688 | "id": "944",
689 | "img": "https://www.gift-gift.jp/nui/files/images/nui944_01.jpg",
690 | "release_dates": [
691 | 2022
692 | ],
693 | "rarity": "Common",
694 | "price_range": "$20",
695 | "gift_link": "https://www.gift-gift.jp/nui/nui944.html"
696 | }
697 | ]
698 | },
699 | {
700 | "ch_name": "Flandre Scarlet",
701 | "thwiki": "https://en.touhouwiki.net/wiki/Flandre_Scarlet",
702 | "regular": [
703 | {
704 | "name": "Version 1",
705 | "id": "008",
706 | "img": "https://www.gift-gift.jp/nui/files/images/nui008_01.jpg",
707 | "release_dates": [
708 | 2009,
709 | 2010,
710 | 2011,
711 | 2012
712 | ],
713 | "rarity": "Common",
714 | "second_hand_cost": "Normal",
715 | "gift_link": "https://www.gift-gift.jp/nui/nui008.html"
716 | },
717 | {
718 | "name": "Nendroid Plus",
719 | "id": "106",
720 | "img": "https://www.gift-gift.jp/archive/nui/images/nui106_01.jpg",
721 | "release_dates": [
722 | 2011,
723 | 2012
724 | ],
725 | "rarity": "Rare",
726 | "second_hand_cost": "High",
727 | "gift_link": "https://www.gift-gift.jp/archive/nui/nui106.html"
728 | },
729 | {
730 | "name": "Version 1.5",
731 | "id": "346",
732 | "img": "https://www.gift-gift.jp/nui/files/images/nui346_01.jpg",
733 | "release_dates": [
734 | 2015,
735 | 2016,
736 | 2017,
737 | 2018,
738 | 2019,
739 | 2020,
740 | 2022
741 | ],
742 | "rarity": "Common",
743 | "second_hand_cost": "Normal",
744 | "gift_link": "https://www.gift-gift.jp/nui/nui346.html"
745 | }
746 | ],
747 | "dekas": [
748 | {
749 | "name": "Version 1",
750 | "id": "189",
751 | "img": "https://www.gift-gift.jp/archive/nui/images/nui189_01.jpg",
752 | "release_dates": [
753 | 2012
754 | ],
755 | "rarity": "Super Super Rare",
756 | "second_hand_cost": "High",
757 | "gift_link": "https://www.gift-gift.jp/archive/nui/nui189.html"
758 | },
759 | {
760 | "name": "Version 1.5",
761 | "id": "852",
762 | "img": "https://www.gift-gift.jp/nui/files/images/nui852_01.jpg",
763 | "release_dates": [
764 | 2022
765 | ],
766 | "rarity": "Super Rare",
767 | "second_hand_cost": "Normal",
768 | "gift_link": "https://www.gift-gift.jp/nui/nui852.html"
769 | }
770 | ],
771 | "straps": [
772 | {
773 | "name": "Nendroid Plus",
774 | "id": "181",
775 | "img": "https://www.gift-gift.jp/nui/files/images/nui181_01.jpg",
776 | "release_dates": [
777 | 2012
778 | ],
779 | "rarity": "Rare",
780 | "second_hand_cost": "Normal",
781 | "gift_link": "https://www.gift-gift.jp/nui/nui181.html"
782 | },
783 | {
784 | "name": "Plush Strap",
785 | "id": "902",
786 | "img": "https://www.gift-gift.jp/nui/files/images/nui902.jpg",
787 | "release_dates": [
788 | 2022
789 | ],
790 | "rarity": "Common",
791 | "price_range": "$20",
792 | "gift_link": "https://www.gift-gift.jp/nui/nui902.html"
793 | }
794 | ]
795 | },
796 | {
797 | "ch_name": "Kochiya Sanae",
798 | "thwiki": "https://en.touhouwiki.net/wiki/Sanae_Kochiya",
799 | "regular": [
800 | {
801 | "name": "Version 1",
802 | "id": "013",
803 | "img": "https://www.gift-gift.jp/nui/files/images/nui013_01.jpg",
804 | "release_dates": [
805 | 2009,
806 | 2010,
807 | 2011
808 | ],
809 | "rarity": "Common",
810 | "second_hand_cost": "Normal",
811 | "gift_link": "https://www.gift-gift.jp/nui/nui013.html"
812 | },
813 | {
814 | "name": "Nendroid Plus",
815 | "id": "045",
816 | "img": "https://www.gift-gift.jp/archive/nui/images/nui045_01.jpg",
817 | "release_dates": [
818 | 2010
819 | ],
820 | "rarity": "Rare",
821 | "second_hand_cost": "Normal",
822 | "gift_link": "https://www.gift-gift.jp/archive/nui/nui045.html"
823 | },
824 | {
825 | "name": "Version 2",
826 | "id": "290",
827 | "img": "https://www.gift-gift.jp/nui/files/images/nui290_01.jpg",
828 | "release_dates": [
829 | 2014,
830 | 2019,
831 | 2020,
832 | 2022
833 | ],
834 | "rarity": "Common",
835 | "second_hand_cost": "Normal",
836 | "gift_link": "https://www.gift-gift.jp/nui/nui290.html"
837 | }
838 | ],
839 | "straps": [
840 | {
841 | "name": "Nendroid Plus",
842 | "id": "153",
843 | "img": "https://www.gift-gift.jp/nui/files/images/nui153_01.jpg",
844 | "release_dates": [
845 | 2011
846 | ],
847 | "rarity": "Rare",
848 | "second_hand_cost": "Normal",
849 | "gift_link": "https://www.gift-gift.jp/nui/nui153.html"
850 | }
851 | ]
852 | },
853 | {
854 | "ch_name": "Cirno",
855 | "thwiki": "https://en.touhouwiki.net/wiki/Cirno",
856 | "regular": [
857 | {
858 | "name": "Version 1",
859 | "id": "014",
860 | "img": "https://www.gift-gift.jp/nui/files/images/nui014_01.jpg",
861 | "release_dates": [
862 | 2009,
863 | 2010,
864 | 2011,
865 | 2013
866 | ],
867 | "rarity": "Common",
868 | "second_hand_cost": "Very High",
869 | "gift_link": "https://www.gift-gift.jp/nui/nui014.html"
870 | },
871 | {
872 | "name": "Nendroid Plus",
873 | "id": "195",
874 | "img": "https://www.gift-gift.jp/archive/nui/images/nui195_01.jpg",
875 | "release_dates": [
876 | 2012
877 | ],
878 | "rarity": "Rare",
879 | "second_hand_cost": "Very High",
880 | "gift_link": "https://www.gift-gift.jp/archive/nui/nui195.html"
881 | },
882 | {
883 | "name": "Version 1.5",
884 | "id": "558",
885 | "img": "https://www.gift-gift.jp/nui/files/images/nui558_01.jpg",
886 | "release_dates": [
887 | 2018,
888 | 2019,
889 | 2020,
890 | 2021,
891 | 2022
892 | ],
893 | "rarity": "Common",
894 | "second_hand_cost": "Very High",
895 | "gift_link": "https://www.gift-gift.jp/nui/nui558.html"
896 | },
897 | {
898 | "name": "Tanned Version",
899 | "id": 559,
900 | "img": "https://www.gift-gift.jp/nui/files/images/nui559_01.jpg",
901 | "release_dates": [
902 | 2018,
903 | 2019,
904 | 2022
905 | ],
906 | "rarity": "Uncommon",
907 | "second_hand_cost": "Very High",
908 | "gift_link": "https://www.gift-gift.jp/nui/nui559.html"
909 | }
910 | ],
911 | "dekas": [
912 | {
913 | "name": "Version 1",
914 | "id": "050",
915 | "img": "https://www.gift-gift.jp/archive/nui/images/nui050_01.jpg",
916 | "release_dates": [
917 | 2010,
918 | 2011
919 | ],
920 | "rarity": "Super Super Rare",
921 | "second_hand_cost": "Very High",
922 | "gift_link": "https://www.gift-gift.jp/archive/nui/nui050.html"
923 | }
924 | ]
925 | },
926 | {
927 | "ch_name": "Moriya Suwako",
928 | "thwiki": "https://en.touhouwiki.net/wiki/Suwako_Moriya",
929 | "regular": [
930 | {
931 | "name": "Version 1",
932 | "id": "015",
933 | "img": "https://www.gift-gift.jp/nui/files/images/nui015_01.jpg",
934 | "release_dates": [
935 | 2009,
936 | 2010,
937 | 2011
938 | ],
939 | "rarity": "Super Rare",
940 | "second_hand_cost": "High",
941 | "gift_link": "https://www.gift-gift.jp/nui/nui015.html"
942 | },
943 | {
944 | "name": "Version 1.5",
945 | "id": "936",
946 | "img": "https://www.gift-gift.jp/nui/files/images/nui936_01.jpg",
947 | "release_dates": [
948 | 2022
949 | ],
950 | "rarity": "Common",
951 | "second_hand_cost": "Normal",
952 | "gift_link": "https://www.gift-gift.jp/nui/nui936.html"
953 | }
954 | ]
955 | },
956 | {
957 | "ch_name": "Konpaku Youmu",
958 | "thwiki": "https://en.touhouwiki.net/wiki/Youmu_Konpaku",
959 | "regular": [
960 | {
961 | "name": "Version 1",
962 | "id": "039",
963 | "img": "https://www.gift-gift.jp/nui/files/images/nui039_01.jpg",
964 | "release_dates": [
965 | 2009,
966 | 2010,
967 | 2011
968 | ],
969 | "rarity": "Uncommon",
970 | "second_hand_cost": "Normal",
971 | "gift_link": "https://www.gift-gift.jp/nui/nui039.html"
972 | },
973 | {
974 | "name": "Version 1.5",
975 | "id": "489",
976 | "img": "https://www.gift-gift.jp/nui/files/images/nui489_01.jpg",
977 | "release_dates": [
978 | 2017,
979 | 2018,
980 | 2019,
981 | 2020,
982 | 2021,
983 | 2023
984 | ],
985 | "rarity": "Common",
986 | "second_hand_cost": "Normal",
987 | "gift_link": "https://www.gift-gift.jp/nui/nui489.html"
988 | },
989 | {
990 | "name": "Lost Word ~ Mysterious Sword Master Version",
991 | "id": "918",
992 | "img": "https://www.gift-gift.jp/nui/files/images/nui918.jpg",
993 | "release_dates": [
994 | 2022
995 | ],
996 | "rarity": "Uncommon",
997 | "gift_link": "https://www.gift-gift.jp/nui/nui918.html"
998 | }
999 | ],
1000 | "straps": [
1001 | {
1002 | "name": "Plush Strap",
1003 | "id": "946",
1004 | "img": "https://www.gift-gift.jp/nui/files/images/nui946_01.jpg",
1005 | "release_dates": [
1006 | 2022
1007 | ],
1008 | "rarity": "Common",
1009 | "second_hand_cost": "Normal",
1010 | "gift_link": "https://www.gift-gift.jp/nui/nui946.html"
1011 | }
1012 | ],
1013 | "dekas": [
1014 | {
1015 | "name": "Version 1",
1016 | "id": "920",
1017 | "img": "https://www.gift-gift.jp/nui/files/images/nui920_01.jpg",
1018 | "release_dates": [
1019 | 2022
1020 | ],
1021 | "rarity": "Super Rare",
1022 | "second_hand_cost": "Normal",
1023 | "gift_link": "https://www.gift-gift.jp/nui/nui920.html"
1024 | }
1025 | ]
1026 | },
1027 | {
1028 | "ch_name": "Saigyouji Yuyuko",
1029 | "thwiki": "https://en.touhouwiki.net/wiki/Yuyuko_Saigyouji",
1030 | "regular": [
1031 | {
1032 | "name": "Version 1",
1033 | "id": "040",
1034 | "img": "https://www.gift-gift.jp/nui/files/images/nui040_01.jpg",
1035 | "release_dates": [
1036 | 2010,
1037 | 2011,
1038 | 2012
1039 | ],
1040 | "rarity": "Uncommon",
1041 | "second_hand_cost": "Normal",
1042 | "gift_link": "https://www.gift-gift.jp/nui/nui040.html"
1043 | },
1044 | {
1045 | "name": "Version 1.5",
1046 | "id": "490",
1047 | "img": "https://www.gift-gift.jp/nui/files/images/nui490_01.jpg",
1048 | "release_dates": [
1049 | 2017,
1050 | 2018,
1051 | 2019,
1052 | 2020,
1053 | 2021,
1054 | 2023
1055 | ],
1056 | "rarity": "Common",
1057 | "second_hand_cost": "Normal",
1058 | "gift_link": "https://www.gift-gift.jp/nui/nui490.html"
1059 | }
1060 | ],
1061 | "straps": [
1062 | {
1063 | "name": "Plush Strap",
1064 | "id": "945",
1065 | "img": "https://www.gift-gift.jp/nui/files/images/nui945_01.jpg",
1066 | "release_dates": [
1067 | 2022
1068 | ],
1069 | "rarity": "Common",
1070 | "second_hand_cost": "Normal",
1071 | "gift_link": "https://www.gift-gift.jp/nui/nui945.html"
1072 | }
1073 | ],
1074 | "dekas": [
1075 | {
1076 | "name": "Version 1",
1077 | "id": "921",
1078 | "img": "https://www.gift-gift.jp/nui/files/images/nui921_01.jpg",
1079 | "release_dates": [
1080 | 2022
1081 | ],
1082 | "rarity": "Super Rare",
1083 | "second_hand_cost": "Normal",
1084 | "gift_link": "https://www.gift-gift.jp/nui/nui921.html"
1085 | }
1086 | ]
1087 | },
1088 | {
1089 | "ch_name": "Hong Meiling",
1090 | "thwiki": "https://en.touhouwiki.net/wiki/Hong_Meiling",
1091 | "regular": [
1092 | {
1093 | "name": "Version 1",
1094 | "id": "056",
1095 | "img": "https://www.gift-gift.jp/nui/files/images/nui056_01.jpg",
1096 | "release_dates": [
1097 | 2010,
1098 | 2011
1099 | ],
1100 | "rarity": "Super Rare",
1101 | "second_hand_cost": "High",
1102 | "gift_link": "https://www.gift-gift.jp/nui/nui056.html"
1103 | },
1104 | {
1105 | "name": "Version 1.5",
1106 | "id": "935",
1107 | "img": "https://www.gift-gift.jp/nui/files/images/nui935_01.jpg",
1108 | "release_dates": [
1109 | 2022
1110 | ],
1111 | "rarity": "Common",
1112 | "second_hand_cost": "Normal",
1113 | "gift_link": "https://www.gift-gift.jp/nui/nui935.html"
1114 | }
1115 | ]
1116 | },
1117 | {
1118 | "ch_name": "Chen",
1119 | "thwiki": "https://en.touhouwiki.net/wiki/Chen",
1120 | "regular": [
1121 | {
1122 | "name": "Version 1",
1123 | "id": "080",
1124 | "img": "https://www.gift-gift.jp/nui/files/images/nui080_01.jpg",
1125 | "release_dates": [
1126 | 2010,
1127 | 2011,
1128 | 2013
1129 | ],
1130 | "rarity": "Uncommon",
1131 | "second_hand_cost": "Normal",
1132 | "gift_link": "https://www.gift-gift.jp/nui/nui080.html"
1133 | },
1134 | {
1135 | "name": "Version 1.5",
1136 | "id": "523",
1137 | "img": "https://www.gift-gift.jp/nui/files/images/nui523_01.jpg",
1138 | "release_dates": [
1139 | 2017,
1140 | 2018,
1141 | 2020,
1142 | 2022
1143 | ],
1144 | "rarity": "Common",
1145 | "second_hand_cost": "Normal",
1146 | "gift_link": "https://www.gift-gift.jp/nui/nui523.html"
1147 | }
1148 | ]
1149 | },
1150 | {
1151 | "ch_name": "Yakumo Ran",
1152 | "thwiki": "https://en.touhouwiki.net/wiki/Ran_Yakumo",
1153 | "regular": [
1154 | {
1155 | "name": "Version 1",
1156 | "id": "081",
1157 | "img": "https://www.gift-gift.jp/nui/files/images/nui081_01.jpg",
1158 | "release_dates": [
1159 | 2010,
1160 | 2011,
1161 | 2013
1162 | ],
1163 | "rarity": "Uncommon",
1164 | "second_hand_cost": "High",
1165 | "gift_link": "https://www.gift-gift.jp/nui/nui081.html"
1166 | },
1167 | {
1168 | "name": "Version 1.5",
1169 | "id": "524",
1170 | "img": "https://www.gift-gift.jp/nui/files/images/nui524_01.jpg",
1171 | "release_dates": [
1172 | 2017,
1173 | 2018,
1174 | 2020,
1175 | 2022
1176 | ],
1177 | "rarity": "Rare",
1178 | "second_hand_cost": "High",
1179 | "gift_link": "https://www.gift-gift.jp/nui/nui524.html"
1180 | }
1181 | ]
1182 | },
1183 | {
1184 | "ch_name": "Yakumo Yukari",
1185 | "thwiki": "https://en.touhouwiki.net/wiki/Yukari_Yakumo",
1186 | "regular": [
1187 | {
1188 | "name": "Version 1",
1189 | "id": "082",
1190 | "img": "https://www.gift-gift.jp/nui/files/images/nui082_01.jpg",
1191 | "release_dates": [
1192 | 2010,
1193 | 2011,
1194 | 2013
1195 | ],
1196 | "rarity": "Uncommon",
1197 | "second_hand_cost": "Normal",
1198 | "gift_link": "https://www.gift-gift.jp/nui/nui082.html"
1199 | },
1200 | {
1201 | "name": "Version 1.5",
1202 | "id": "525",
1203 | "img": "https://www.gift-gift.jp/nui/files/images/nui525_01.jpg",
1204 | "release_dates": [
1205 | 2017,
1206 | 2018,
1207 | 2022
1208 | ],
1209 | "rarity": "Common",
1210 | "second_hand_cost": "Normal",
1211 | "gift_link": "https://www.gift-gift.jp/nui/nui525.html"
1212 | }
1213 | ]
1214 | },
1215 | {
1216 | "ch_name": "Houraisan Kaguya",
1217 | "thwiki": "https://en.touhouwiki.net/wiki/Kaguya_Houraisan",
1218 | "regular": [
1219 | {
1220 | "name": "Version 1",
1221 | "id": "138",
1222 | "img": "https://www.gift-gift.jp/nui/files/images/nui138_01.jpg",
1223 | "release_dates": [
1224 | 2011,
1225 | 2020,
1226 | 2021,
1227 | 2023
1228 | ],
1229 | "rarity": "Uncommon",
1230 | "second_hand_cost": "Normal",
1231 | "gift_link": "https://www.gift-gift.jp/nui/nui138.html"
1232 | }
1233 | ]
1234 | },
1235 | {
1236 | "ch_name": "Fujiwara no Mokou",
1237 | "thwiki": "https://en.touhouwiki.net/wiki/Fujiwara_no_Mokou",
1238 | "regular": [
1239 | {
1240 | "name": "Version 1",
1241 | "id": "139",
1242 | "img": "https://www.gift-gift.jp/nui/files/images/nui139_01.jpg",
1243 | "release_dates": [
1244 | 2011,
1245 | 2016,
1246 | 2018,
1247 | 2020,
1248 | 2021,
1249 | 2023
1250 | ],
1251 | "rarity": "Uncommon",
1252 | "second_hand_cost": "Normal",
1253 | "gift_link": "https://www.gift-gift.jp/nui/nui139.html"
1254 | }
1255 | ]
1256 | },
1257 | {
1258 | "ch_name": "Komeiji Satori",
1259 | "thwiki": "https://en.touhouwiki.net/wiki/Satori_Komeiji",
1260 | "regular": [
1261 | {
1262 | "name": "Version 1",
1263 | "id": "196",
1264 | "img": "https://www.gift-gift.jp/nui/files/images/nui196_01.jpg",
1265 | "release_dates": [
1266 | 2012,
1267 | 2013,
1268 | 2015,
1269 | 2016,
1270 | 2017,
1271 | 2018,
1272 | 2020,
1273 | 2022
1274 | ],
1275 | "rarity": "Common",
1276 | "second_hand_cost": "Normal",
1277 | "gift_link": "https://www.gift-gift.jp/nui/nui196.html"
1278 | }
1279 | ],
1280 | "straps": [
1281 | {
1282 | "name": "Plush Strap",
1283 | "id": "808",
1284 | "img": "https://www.gift-gift.jp/nui/files/images/nui808_01.jpg",
1285 | "release_dates": [
1286 | 2021
1287 | ],
1288 | "rarity": "Common",
1289 | "second_hand_cost": "Normal",
1290 | "gift_link": "https://www.gift-gift.jp/nui/nui808.html"
1291 | }
1292 | ],
1293 | "dekas": [
1294 | {
1295 | "name": "Version 1",
1296 | "id": "820",
1297 | "img": "https://www.gift-gift.jp/nui/files/images/nui820_01.jpg",
1298 | "release_dates":[
1299 | 2021,
1300 | 2022
1301 | ],
1302 | "rarity": "Super Rare",
1303 | "second_hand_cost": "Normal",
1304 | "gift_link": "https://www.gift-gift.jp/nui/nui820.html"
1305 | }
1306 | ]
1307 | },
1308 | {
1309 | "ch_name": "Komeiji Koishi",
1310 | "thwiki": "https://en.touhouwiki.net/wiki/Koishi_Komeiji",
1311 | "regular": [
1312 | {
1313 | "name": "Version 1",
1314 | "id": "197",
1315 | "img": "https://www.gift-gift.jp/nui/files/images/nui197_01.jpg",
1316 | "release_dates": [
1317 | 2012,
1318 | 2013,
1319 | 2015,
1320 | 2016,
1321 | 2017,
1322 | 2018,
1323 | 2019,
1324 | 2020,
1325 | 2022
1326 | ],
1327 | "rarity": "Common",
1328 | "second_hand_cost": "Normal",
1329 | "gift_link": "https://www.gift-gift.jp/nui/nui197.html"
1330 | }
1331 | ],
1332 | "straps": [
1333 | {
1334 | "name": "Plush Strap",
1335 | "id": "809",
1336 | "img": "https://www.gift-gift.jp/nui/files/images/nui809_01.jpg",
1337 | "release_dates": [
1338 | 2021
1339 | ],
1340 | "rarity": "Common",
1341 | "second_hand_cost": "Normal",
1342 | "gift_link": "https://www.gift-gift.jp/nui/nui809.html"
1343 | }
1344 | ],
1345 | "dekas": [
1346 | {
1347 | "name": "Version 1",
1348 | "id": "821",
1349 | "img": "https://www.gift-gift.jp/nui/files/images/nui821_01.jpg",
1350 | "release_dates": [
1351 | 2021,
1352 | 2022
1353 | ],
1354 | "rarity": "Super Rare",
1355 | "second_hand_cost": "Normal",
1356 | "gift_link": "https://www.gift-gift.jp/nui/nui821.html"
1357 | }
1358 | ]
1359 | },
1360 | {
1361 | "ch_name": "Reisen Udongein Inaba",
1362 | "thwiki": "https://en.touhouwiki.net/wiki/Reisen_Udongein_Inaba",
1363 | "regular": [
1364 | {
1365 | "name": "Version 1",
1366 | "id": "236",
1367 | "img": "https://www.gift-gift.jp/nui/files/images/nui236_01.jpg",
1368 | "release_dates": [
1369 | 2013,
1370 | 2016,
1371 | 2020,
1372 | 2021,
1373 | 2023
1374 | ],
1375 | "rarity": "Rare",
1376 | "second_hand_cost": "Normal",
1377 | "gift_link": "https://www.gift-gift.jp/nui/nui236.html"
1378 | },
1379 | {
1380 | "name": "Hisouten Version",
1381 | "id": "424",
1382 | "img": "https://www.gift-gift.jp/nui/files/images/nui424_01.jpg",
1383 | "release_dates": [
1384 | 2016,
1385 | 2020
1386 | ],
1387 | "rarity": "Rare",
1388 | "second_hand_cost": "Normal",
1389 | "gift_link": "https://www.gift-gift.jp/nui/nui424.html"
1390 | }
1391 | ]
1392 | },
1393 | {
1394 | "ch_name": "Inaba Tewi",
1395 | "thwiki": "https://en.touhouwiki.net/wiki/Tewi_Inaba",
1396 | "regular": [
1397 | {
1398 | "name": "Version 1",
1399 | "id": "237",
1400 | "img": "https://www.gift-gift.jp/nui/files/images/nui237_01.jpg",
1401 | "release_dates": [
1402 | 2013,
1403 | 2015,
1404 | 2020,
1405 | 2021,
1406 | 2023
1407 | ],
1408 | "rarity": "Uncommon",
1409 | "second_hand_cost": "Normal",
1410 | "gift_link": "https://www.gift-gift.jp/nui/nui237.html"
1411 | }
1412 | ]
1413 | },
1414 | {
1415 | "ch_name": "Hata no Kokoro",
1416 | "thwiki": "https://en.touhouwiki.net/wiki/Hata_no_Kokoro",
1417 | "regular": [
1418 | {
1419 | "name": "Version 1",
1420 | "id": "310",
1421 | "img": "https://www.gift-gift.jp/nui/files/images/nui310_01.jpg",
1422 | "release_dates": [
1423 | 2014,
1424 | 2015,
1425 | 2016,
1426 | 2017,
1427 | 2018,
1428 | 2020,
1429 | 2021,
1430 | 2022
1431 | ],
1432 | "rarity": "Common",
1433 | "second_hand_cost": "Normal",
1434 | "gift_link": "https://www.gift-gift.jp/nui/nui310.html"
1435 | }
1436 | ]
1437 | },
1438 | {
1439 | "ch_name": "Ibaraki Kasen",
1440 | "thwiki": "https://en.touhouwiki.net/wiki/Kasen_Ibaraki",
1441 | "regular": [
1442 | {
1443 | "name": "Version 1",
1444 | "id": "454",
1445 | "img": "https://www.gift-gift.jp/nui/files/images/nui454_01.jpg",
1446 | "release_dates": [
1447 | 2016,
1448 | 2017,
1449 | 2020,
1450 | 2022
1451 | ],
1452 | "rarity": "Common",
1453 | "second_hand_cost": "Normal",
1454 | "gift_link": "https://www.gift-gift.jp/nui/nui454.html"
1455 | }
1456 | ]
1457 | },
1458 | {
1459 | "ch_name": "Shameimaru Aya",
1460 | "thwiki": "https://en.touhouwiki.net/wiki/Aya_Shameimaru",
1461 | "regular": [
1462 | {
1463 | "name": "Nendroid Plus",
1464 | "id": "058",
1465 | "img": "https://www.gift-gift.jp/archive/nui/images/nui058_01.jpg",
1466 | "release_dates": [
1467 | 2010
1468 | ],
1469 | "rarity": "Rare",
1470 | "second_hand_cost": "High",
1471 | "gift_link": "https://www.gift-gift.jp/archive/nui/nui058.html"
1472 | },
1473 | {
1474 | "name": "Version 1",
1475 | "id": "493",
1476 | "img": "https://www.gift-gift.jp/nui/files/images/nui493_01.jpg",
1477 | "release_dates": [
1478 | 2017,
1479 | 2018,
1480 | 2019,
1481 | 2020,
1482 | 2021
1483 | ],
1484 | "rarity": "Common",
1485 | "second_hand_cost": "Normal",
1486 | "gift_link": "https://www.gift-gift.jp/nui/nui493.html"
1487 | },
1488 | {
1489 | "name": "Fujinroku Version",
1490 | "id": "937",
1491 | "img": "https://www.gift-gift.jp/nui/files/images/nui937_01.jpg",
1492 | "release_dates": [
1493 | 2022
1494 | ],
1495 | "rarity": "Common",
1496 | "second_hand_cost": "Normal",
1497 | "gift_link": "https://www.gift-gift.jp/nui/nui937.html"
1498 | }
1499 | ]
1500 | },
1501 | {
1502 | "ch_name": "Himekaidou Hatate",
1503 | "thwiki": "https://en.touhouwiki.net/wiki/Hatate_Himekaidou",
1504 | "regular": [
1505 | {
1506 | "name": "Version 1",
1507 | "id": "494",
1508 | "img": "https://www.gift-gift.jp/nui/files/images/nui494_01.jpg",
1509 | "release_dates": [
1510 | 2017,
1511 | 2020,
1512 | 2021
1513 | ],
1514 | "rarity": "Common",
1515 | "second_hand_cost": "Normal",
1516 | "gift_link": "https://www.gift-gift.jp/nui/nui494.html"
1517 | }
1518 | ]
1519 | },
1520 | {
1521 | "ch_name": "Hinanawi Tenshi",
1522 | "thwiki": "https://en.touhouwiki.net/wiki/Tenshi_Hinanawi",
1523 | "regular": [
1524 | {
1525 | "name": "Version 1",
1526 | "id": "593",
1527 | "img": "https://www.gift-gift.jp/nui/files/images/nui593_01.jpg",
1528 | "release_dates": [
1529 | 2018,
1530 | 2019,
1531 | 2020,
1532 | 2021,
1533 | 2022
1534 | ],
1535 | "rarity": "Uncommon",
1536 | "second_hand_cost": "Normal",
1537 | "gift_link": "https://www.gift-gift.jp/nui/nui593.html"
1538 | }
1539 | ]
1540 | },
1541 | {
1542 | "ch_name": "Yorigami Shion",
1543 | "thwiki": "https://en.touhouwiki.net/wiki/Shion_Yorigami",
1544 | "regular": [
1545 | {
1546 | "name": "Version 1",
1547 | "id": "644",
1548 | "img": "https://www.gift-gift.jp/nui/files/images/9245f412ccd5e559baca9cf78d195743b8f73fb6.jpg",
1549 | "release_dates": [
1550 | 2019,
1551 | 2020,
1552 | 2021,
1553 | 2023
1554 | ],
1555 | "rarity": "Common",
1556 | "second_hand_cost": "Normal",
1557 | "gift_link": "https://www.gift-gift.jp/nui/nui644.html"
1558 | }
1559 | ]
1560 | },
1561 | {
1562 | "ch_name": "Kazami Yuuka",
1563 | "thwiki": "https://en.touhouwiki.net/wiki/Yuuka_Kazami",
1564 | "regular": [
1565 | {
1566 | "name": "Version 1",
1567 | "id": "685",
1568 | "img": "https://www.gift-gift.jp/nui/files/images/nui685_01.jpg",
1569 | "release_dates": [
1570 | 2019,
1571 | 2020,
1572 | 2021,
1573 | 2022
1574 | ],
1575 | "rarity": "Common",
1576 | "second_hand_cost": "Normal",
1577 | "gift_link": "https://www.gift-gift.jp/nui/nui685.html"
1578 | }
1579 | ]
1580 | },
1581 | {
1582 | "ch_name": "Inubashiri Momiji",
1583 | "thwiki": "https://en.touhouwiki.net/wiki/Momiji_Inubashiri",
1584 | "regular": [
1585 | {
1586 | "name": "Version 1",
1587 | "id": "773",
1588 | "img": "https://www.gift-gift.jp/nui/files/images/nui773_01.jpg",
1589 | "release_dates": [
1590 | 2020,
1591 | 2021
1592 | ],
1593 | "rarity": "Common",
1594 | "second_hand_cost": "Normal",
1595 | "gift_link": "https://www.gift-gift.jp/nui/nui773.html"
1596 | }
1597 | ]
1598 | },
1599 | {
1600 | "ch_name": "Eirin Yagokoro",
1601 | "thwiki": "https://en.touhouwiki.net/wiki/Eirin_Yagokoro",
1602 | "regular": [
1603 | {
1604 | "name": "Version 1",
1605 | "id": "807",
1606 | "img": "https://www.gift-gift.jp/nui/files/images/nui807_01.jpg",
1607 | "release_dates": [
1608 | 2021,
1609 | 2022
1610 | ],
1611 | "rarity": "Common",
1612 | "second_hand_cost": "Normal",
1613 | "gift_link": "https://www.gift-gift.jp/nui/nui807.html"
1614 | }
1615 | ]
1616 | },
1617 | {
1618 | "ch_name": "Rumia",
1619 | "thwiki": "https://en.touhouwiki.net/wiki/Rumia",
1620 | "regular": [
1621 | {
1622 | "name": "Version 1",
1623 | "id": "834",
1624 | "img": "https://www.gift-gift.jp/nui/files/images/nui834_01.jpg",
1625 | "release_dates": [
1626 | 2021,
1627 | 2022
1628 | ],
1629 | "rarity": "Common",
1630 | "second_hand_cost": "Normal",
1631 | "gift_link": "https://www.gift-gift.jp/nui/nui834.html"
1632 | }
1633 | ]
1634 | },
1635 | {
1636 | "ch_name": "Shiki Eiki, Yamaxanadu",
1637 | "thwiki": "https://en.touhouwiki.net/wiki/Eiki_Shiki_Yamaxanadu",
1638 | "regular": [
1639 | {
1640 | "name": "Version 1",
1641 | "id": "835",
1642 | "img": "https://www.gift-gift.jp/nui/files/images/nui835_01.jpg",
1643 | "release_dates": [
1644 | 2021,
1645 | 2022
1646 | ],
1647 | "rarity": "Common",
1648 | "second_hand_cost": "Normal",
1649 | "gift_link": "https://www.gift-gift.jp/nui/nui835.html"
1650 | }
1651 | ]
1652 | },
1653 | {
1654 | "ch_name": "Kawashiro Nitori",
1655 | "thwiki": "https://en.touhouwiki.net/wiki/Nitori_Kawashiro",
1656 | "regular": [
1657 | {
1658 | "name": "Version 1",
1659 | "id": "836",
1660 | "img": "https://www.gift-gift.jp/nui/files/images/nui836_01.jpg",
1661 | "release_dates": [
1662 | 2021,
1663 | 2022
1664 | ],
1665 | "rarity": "Common",
1666 | "second_hand_cost": "Normal",
1667 | "gift_link": "https://www.gift-gift.jp/nui/nui836.html"
1668 | }
1669 | ]
1670 | },
1671 | {
1672 | "ch_name": "Yorigami Joon",
1673 | "thwiki": "https://en.touhouwiki.net/wiki/Joon_Yorigami",
1674 | "regular": [
1675 | {
1676 | "name": "Version 1",
1677 | "id": "837",
1678 | "img": "https://www.gift-gift.jp/nui/files/images/nui837_01.jpg",
1679 | "release_dates": [
1680 | 2021,
1681 | 2022,
1682 | 2023
1683 | ],
1684 | "rarity": "Common",
1685 | "second_hand_cost": "Normal",
1686 | "gift_link": "https://www.gift-gift.jp/nui/nui837.html"
1687 | }
1688 | ]
1689 | },
1690 | {
1691 | "ch_name": "Usami Renko",
1692 | "thwiki": "https://en.touhouwiki.net/wiki/Renko_Usami",
1693 | "regular": [
1694 | {
1695 | "name": "Version 1",
1696 | "id": "899",
1697 | "img": "https://www.gift-gift.jp/nui/files/images/nui899_01.jpg",
1698 | "release_dates": [
1699 | 2022
1700 | ],
1701 | "rarity": "Common",
1702 | "second_hand_cost": "Normal",
1703 | "gift_link": "https://www.gift-gift.jp/nui/nui899.html"
1704 | }
1705 | ]
1706 | },
1707 | {
1708 | "ch_name": "Toyosatomimi no Miko",
1709 | "thwiki": "https://en.touhouwiki.net/wiki/Toyosatomimi_no_Miko",
1710 | "regular": [
1711 | {
1712 | "name": "Version 1",
1713 | "id": "900",
1714 | "img": "https://www.gift-gift.jp/nui/files/images/nui900_01.jpg",
1715 | "release_dates": [
1716 | 2022
1717 | ],
1718 | "rarity": "Common",
1719 | "second_hand_cost": "Normal",
1720 | "gift_link": "https://www.gift-gift.jp/nui/nui900.html"
1721 | }
1722 | ]
1723 | },
1724 | {
1725 | "ch_name": "Junko",
1726 | "thwiki": "https://en.touhouwiki.net/wiki/Junko",
1727 | "regular": [
1728 | {
1729 | "name": "Version 1",
1730 | "id": "938",
1731 | "img": "https://www.gift-gift.jp/nui/files/images/nui938_01.jpg",
1732 | "release_dates": [
1733 | 2022
1734 | ],
1735 | "rarity": "Common",
1736 | "second_hand_cost": "Normal",
1737 | "gift_link": "https://www.gift-gift.jp/nui/nui938.html"
1738 | }
1739 | ]
1740 | },
1741 | {
1742 | "ch_name": "Haniyasushin Keiki",
1743 | "thwiki": "https://en.touhouwiki.net/wiki/Keiki_Haniyasushin",
1744 | "regular": [
1745 | {
1746 | "name": "Version 1",
1747 | "id": "939",
1748 | "img": "https://www.gift-gift.jp/nui/files/images/nui939_01.jpg",
1749 | "release_dates": [
1750 | 2022
1751 | ],
1752 | "rarity": "Common",
1753 | "second_hand_cost": "Normal",
1754 | "gift_link": "https://www.gift-gift.jp/nui/nui939.html"
1755 | }
1756 | ]
1757 | }
1758 | ],
1759 | "faq": [
1760 | {
1761 | "id": "how-get",
1762 | "question": "How do I get a Fumo?",
1763 | "answer": [
1764 | "You have three main options: find a trustworthy",
1765 | "reseller at a reasonable price,",
1766 | "order one from Amiami's international site, or",
1767 | "order from Gift or Amiami's Japanese site directly using a",
1768 | "Proxy or Forwarding Service ."
1769 | ]
1770 | },
1771 | {
1772 | "id": "prerequisites",
1773 | "question": "What do I need in order to get a Fumo?",
1774 | "answer": [
1775 | "The same things you need for any other online shopping:",
1776 | "
",
1777 | "A payment method - this means a credit or debit card. Gift itself does not",
1778 | "accept Paypal, but many storefronts do. ",
1779 | "Money - expect to spend between 50 and 200 USD, depending on the Fumo,",
1780 | "shipping costs, and source. Deka fumos range from $500 - $3000. ",
1781 | "Time - Shipping from overseas can take a long time. ",
1782 | " "
1783 | ]
1784 | },
1785 | {
1786 | "id": "which-char",
1787 | "question": "Which characters have Fumos?",
1788 | "answer": [
1789 | "Check out our helpful Fumo Table .",
1790 | "You can also look through the entire Gift catalog here ."
1791 | ]
1792 | },
1793 | {
1794 | "id": "species",
1795 | "question": "What are the varieties of Fumo?",
1796 | "answer": [
1797 | "",
1798 | "Normal - a normal fumo. Typically about 20cm tall sitting.",
1799 | "Nendroid ones are taller and posable. ",
1800 | "Toy Strap - a small fumo with a strap for key chains. ",
1801 | "Mannaka - a medium sized fumo, about 40cm tall. \"Mannaka\" is a Japanese word (真ん中) meaning \"middle\".",
1802 | " Deka - a giant fumo. 70cm tall and incredibly expensive. \"Deka\" comes from the Japanese",
1803 | "\"dekai\", meaning huge. ",
1804 | "Puppet - a hand puppet, about 40cm tall. ",
1805 | " "
1806 | ]
1807 | },
1808 | {
1809 | "id": "bootlegs",
1810 | "question": "How good are bootleg Fumos?",
1811 | "answer": [
1812 | "Bootleg fumos, mimicking the Fumo style and passed off as being authentic, are often cheaper",
1813 | "than real ones. However, Some have their own character and value, like the long-legged",
1814 | "bootleg dekas, but many do not. You'll have to decide on your own, but know that you're taking",
1815 | "a risk. For information on avoiding bootlegs, see the reseller guide ."
1816 | ]
1817 | },
1818 | {
1819 | "id": "customs",
1820 | "question": "I've seen Fumos that aren't listed!",
1821 | "answer": [
1822 | "That was most likely a custom fumo! There are quite a few people out there who make custom fumos",
1823 | "themselves."
1824 | ]
1825 | },
1826 | {
1827 | "id": "etymology",
1828 | "question": "What does \"Fumo\" mean?",
1829 | "answer": [
1830 | "The word \"Fumo\" comes from the Japanese onomatopoeia \"モフモフ\" (mofumofu), which means \"soft to the",
1831 | "touch\", or \"fluffy\"."
1832 | ]
1833 | },
1834 | {
1835 | "id": "community",
1836 | "question": "Where can I find, meet, and/or discuss fumo with others?",
1837 | "answer": [
1838 | "There are plenty of online communities for discussing and sharing our soft friends. /jp/ on 4chan regularly has ",
1839 | "fumo related threads. /r/fumofumo on reddit also is a nice place to post fumos, and there are several fumo-related ",
1840 | "Discord communities like Fumo Project: https://discord.gg/TyF7VKSwGZ ."
1841 | ]
1842 | },
1843 | {
1844 | "id": "fumo",
1845 | "question": "Fumo?",
1846 | "answer": [
1847 | "Fumo."
1848 | ]
1849 | }
1850 | ],
1851 | "japanese": {
1852 | "keywords": [
1853 | {
1854 | "type": "Keyword",
1855 | "jp": "ふもふも",
1856 | "jp_alt": [
1857 | "ふも",
1858 | "フモフモ"
1859 | ],
1860 | "en": "Fumo"
1861 | },
1862 | {
1863 | "type": "Keyword",
1864 | "jp": "でかふも",
1865 | "jp_alt": [],
1866 | "en": "Deka Fumo"
1867 | },
1868 | {
1869 | "type": "Keyword",
1870 | "jp": "在庫切れ",
1871 | "jp_alt": [
1872 | "売り切れ",
1873 | "在庫なし"
1874 | ],
1875 | "en": "Out of Stock"
1876 | },
1877 | {
1878 | "type": "Keyword",
1879 | "jp": "ぬいぐるみ",
1880 | "jp_alt": [
1881 | "縫いぐるみ"
1882 | ],
1883 | "en": "Plush"
1884 | },
1885 | {
1886 | "type": "Keyword",
1887 | "jp": "東方",
1888 | "jp_alt": [
1889 | "とうほう",
1890 | "東方Project"
1891 | ],
1892 | "en": "Touhou"
1893 | },
1894 | {
1895 | "type": "Keyword",
1896 | "jp": "円",
1897 | "jp_alt": [
1898 | "えん",
1899 | "¥"
1900 | ],
1901 | "en": "Yen"
1902 | },
1903 | {
1904 | "type": "Keyword",
1905 | "jp": "即決価格",
1906 | "jp_alt": [],
1907 | "en": "Buyout Price"
1908 | }
1909 | ],
1910 | "form_elements": [
1911 | {
1912 | "jp": "氏名",
1913 | "jp_alt": [],
1914 | "en": "Full Name"
1915 | },
1916 | {
1917 | "jp": "苗字",
1918 | "jp_alt": [
1919 | "名字",
1920 | "姓"
1921 | ],
1922 | "en": "Family Name"
1923 | },
1924 | {
1925 | "jp": "お名前",
1926 | "jp_alt": [
1927 | "名前",
1928 | "名"
1929 | ],
1930 | "en": "Given Name"
1931 | },
1932 | {
1933 | "jp": "フリガナ",
1934 | "en": "Furigana (Typically, leave this blank)"
1935 | },
1936 | {
1937 | "jp": "郵便番号",
1938 | "jp_alt": [
1939 | "〒"
1940 | ],
1941 | "en": "Postal Code (XXX-XXXX)"
1942 | },
1943 | {
1944 | "jp": "都道府県",
1945 | "jp_alt": [],
1946 | "en": "Prefecture"
1947 | },
1948 | {
1949 | "jp": "市区町村",
1950 | "jp_alt": [
1951 | "郡市区(島)"
1952 | ],
1953 | "en": "Municipality/City/Ward"
1954 | },
1955 | {
1956 | "jp": "町名",
1957 | "jp_alt": [],
1958 | "en": "City District/Town"
1959 | },
1960 | {
1961 | "jp": "番地",
1962 | "jp_alt": [],
1963 | "en": "House or Building Number (Hyphen positions matter)"
1964 | },
1965 | {
1966 | "jp": "建物名",
1967 | "jp_alt": [
1968 | "ビル名",
1969 | "マンション名"
1970 | ],
1971 | "en": "Building Name"
1972 | },
1973 | {
1974 | "jp": "号室",
1975 | "jp_alt": [],
1976 | "en": "Room Number"
1977 | },
1978 | {
1979 | "jp": "住所",
1980 | "jp_alt": [],
1981 | "en": "Address"
1982 | },
1983 | {
1984 | "jp": "会社名",
1985 | "jp_alt": [],
1986 | "en": "Company Name"
1987 | },
1988 | {
1989 | "jp": "電話番号",
1990 | "jp_alt": [],
1991 | "en": "Telephone Number"
1992 | },
1993 | {
1994 | "jp": "メールアドレス",
1995 | "jp_alt": [],
1996 | "en": "Email Address"
1997 | }
1998 | ],
1999 | "characters": [
2000 | {
2001 | "type": "Character",
2002 | "jp": "秋静葉",
2003 | "jp_alt": [
2004 | "あきしずは"
2005 | ],
2006 | "en": "Aki Shizuha"
2007 | },
2008 | {
2009 | "type": "Character",
2010 | "jp": "アリス・マーガトロイド",
2011 | "jp_alt": [],
2012 | "en": "Alice Margatroid"
2013 | },
2014 | {
2015 | "type": "Character",
2016 | "jp": "橙",
2017 | "jp_alt": [
2018 | "チェン",
2019 | "ちぇん"
2020 | ],
2021 | "en": "Chen"
2022 | },
2023 | {
2024 | "type": "Character",
2025 | "jp": "チルノ",
2026 | "jp_alt": [
2027 | "ちるの",
2028 | "⑨"
2029 | ],
2030 | "en": "Cirno"
2031 | },
2032 | {
2033 | "type": "Character",
2034 | "jp": "クラウンピース",
2035 | "jp_alt": [
2036 | "クラピ"
2037 | ],
2038 | "en": "Clownpiece"
2039 | },
2040 | {
2041 | "type": "Character",
2042 | "jp": "大妖精",
2043 | "jp_alt": [
2044 | "だいようせい",
2045 | "大ちゃん"
2046 | ],
2047 | "en": "Daiyousei"
2048 | },
2049 | {
2050 | "type": "Character",
2051 | "jp": "ドレミー・スイート",
2052 | "jp_alt": [],
2053 | "en": "Doremy Sweet"
2054 | },
2055 | {
2056 | "type": "Character",
2057 | "jp": "戎瓔花",
2058 | "jp_alt": [
2059 | "えびすえいか"
2060 | ],
2061 | "en": "Ebisu Eika"
2062 | },
2063 | {
2064 | "type": "Character",
2065 | "jp": "エタニティラルバ",
2066 | "jp_alt": [],
2067 | "en": "Eternity Larva"
2068 | },
2069 | {
2070 | "type": "Character",
2071 | "jp": "フランドール・スカーレット",
2072 | "jp_alt": [
2073 | "フラン"
2074 | ],
2075 | "en": "Flandre Scarlet"
2076 | },
2077 | {
2078 | "type": "Character",
2079 | "jp": "藤原妹紅",
2080 | "jp_alt": [
2081 | "ふじわらのもこう",
2082 | "もこたん"
2083 | ],
2084 | "en": "Fujiwara no Mokou"
2085 | },
2086 | {
2087 | "type": "Character",
2088 | "jp": "二ッ岩マミゾウ",
2089 | "jp_alt": [
2090 | "ふたついわマミゾウ"
2091 | ],
2092 | "en": "Futatsuiwa Mamizou"
2093 | },
2094 | {
2095 | "type": "Character",
2096 | "jp": "博麗霊夢",
2097 | "jp_alt": [
2098 | "はくれいれいむ"
2099 | ],
2100 | "en": "Hakurei Reimu"
2101 | },
2102 | {
2103 | "type": "Character",
2104 | "jp": "埴安神袿姫",
2105 | "jp_alt": [
2106 | "はにやすしんけいき"
2107 | ],
2108 | "en": "Haniyasushin Keiki"
2109 | },
2110 | {
2111 | "type": "Character",
2112 | "jp": "秦こころ",
2113 | "jp_alt": [
2114 | "はたのこころ"
2115 | ],
2116 | "en": "Hata no Kokoro"
2117 | },
2118 | {
2119 | "type": "Character",
2120 | "jp": "ヘカーティア・ラピスラズリ",
2121 | "jp_alt": [],
2122 | "en": "Hecatia Lapislazuli"
2123 | },
2124 | {
2125 | "type": "Character",
2126 | "jp": "稗田阿求",
2127 | "jp_alt": [
2128 | "ひえだのあきゅう"
2129 | ],
2130 | "en": "Hieda no Akyuu"
2131 | },
2132 | {
2133 | "type": "Character",
2134 | "jp": "聖白蓮",
2135 | "jp_alt": [
2136 | "ひじりびゃくれん"
2137 | ],
2138 | "en": "Hijiri Byakuren"
2139 | },
2140 | {
2141 | "type": "Character",
2142 | "jp": "姫海棠はたて",
2143 | "jp_alt": [
2144 | "ひめかいどうはたて"
2145 | ],
2146 | "en": "Himekaidou Hatate"
2147 | },
2148 | {
2149 | "type": "Character",
2150 | "jp": "比那名居天子",
2151 | "jp_alt": [
2152 | "ひななゐてんし"
2153 | ],
2154 | "en": "Hinanawi Tenshi"
2155 | },
2156 | {
2157 | "type": "Character",
2158 | "jp": "紅美鈴",
2159 | "jp_alt": [
2160 | "ホンメイリン"
2161 | ],
2162 | "en": "Hong Meiling"
2163 | },
2164 | {
2165 | "type": "Character",
2166 | "jp": "堀川雷鼓",
2167 | "jp_alt": [
2168 | "ほりかわらいこ"
2169 | ],
2170 | "en": "Horikawa Raiko"
2171 | },
2172 | {
2173 | "type": "Character",
2174 | "jp": "星熊勇儀",
2175 | "jp_alt": "ほしぐまゆうぎ",
2176 | "en": "Hoshiguma Yuugi"
2177 | },
2178 | {
2179 | "type": "Character",
2180 | "jp": "封獣ぬえ",
2181 | "jp_alt": [
2182 | "ほうじゅうぬえ"
2183 | ],
2184 | "en": "Houjuu Nue"
2185 | },
2186 | {
2187 | "type": "Character",
2188 | "jp": "蓬莱山輝夜",
2189 | "jp_alt": [
2190 | "ほうらいさんかぐや",
2191 | "ニート姫"
2192 | ],
2193 | "en": "Houraisan Kaguya"
2194 | },
2195 | {
2196 | "type": "Character",
2197 | "jp": "茨木華扇",
2198 | "jp_alt": [
2199 | "いばらきかせん"
2200 | ],
2201 | "en": "Ibaraki Kasen"
2202 | },
2203 | {
2204 | "type": "Character",
2205 | "jp": "伊吹萃香",
2206 | "jp_alt": [
2207 | "いぶきすいか"
2208 | ],
2209 | "en": "Ibuki Suika"
2210 | },
2211 | {
2212 | "type": "Character",
2213 | "jp": "今泉影狼",
2214 | "jp_alt": [
2215 | "いまいずみかげろう"
2216 | ],
2217 | "en": "Imaizumi Kagerou"
2218 | },
2219 | {
2220 | "type": "Character",
2221 | "jp": "因幡てゐ",
2222 | "jp_alt": [
2223 | "いなばてゐ"
2224 | ],
2225 | "en": "Inaba Tewi"
2226 | },
2227 | {
2228 | "type": "Character",
2229 | "jp": "犬走椛",
2230 | "jp_alt": [
2231 | "いぬばしりもみじ"
2232 | ],
2233 | "en": "Inubashiri Momiji"
2234 | },
2235 | {
2236 | "type": "Character",
2237 | "jp": "十六夜咲夜",
2238 | "jp_alt": "いざよいさくや",
2239 | "en": "Izayoi Sakuya"
2240 | },
2241 | {
2242 | "type": "Character",
2243 | "jp": "杖刀偶磨弓",
2244 | "jp_alt": [
2245 | "じょうとうぐうまゆみ"
2246 | ],
2247 | "en": "Joutouguu Mayumi"
2248 | },
2249 | {
2250 | "type": "Character",
2251 | "jp": "純狐",
2252 | "jp_alt": [
2253 | "じゅんこ"
2254 | ],
2255 | "en": "Junko"
2256 | },
2257 | {
2258 | "type": "Character",
2259 | "jp": "火焔猫燐",
2260 | "jp_alt": [
2261 | "かえんびょうりん",
2262 | "お燐"
2263 | ],
2264 | "en": "Kaenbyou Rin"
2265 | },
2266 | {
2267 | "type": "Character",
2268 | "jp": "鍵山雛",
2269 | "jp_alt": [
2270 | "かぎやまひな"
2271 | ],
2272 | "en": "Kagiyama Hina"
2273 | },
2274 | {
2275 | "type": "Character",
2276 | "jp": "霍青娥",
2277 | "jp_alt": [
2278 | "かくせいが"
2279 | ],
2280 | "en": "Kaku Seiga"
2281 | },
2282 | {
2283 | "type": "Character",
2284 | "jp": "上白沢慧音",
2285 | "jp_alt": [
2286 | "かみしらさわけいね"
2287 | ],
2288 | "en": "Kamishirasawa Keine"
2289 | },
2290 | {
2291 | "type": "Character",
2292 | "jp": "幽谷響子",
2293 | "jp_alt": [
2294 | "かそだにきょうこ"
2295 | ],
2296 | "en": "Kasodani Kyouko"
2297 | },
2298 | {
2299 | "type": "Character",
2300 | "jp": "河城にとり",
2301 | "jp_alt": [
2302 | "かわしろにとり"
2303 | ],
2304 | "en": "Kawashiro Nitori"
2305 | },
2306 | {
2307 | "type": "Character",
2308 | "jp": "風見幽香",
2309 | "jp_alt": [
2310 | "かざみゆうか"
2311 | ],
2312 | "en": "Kazami Yuuka"
2313 | },
2314 | {
2315 | "type": "Character",
2316 | "jp": "吉弔八千慧",
2317 | "jp_alt": [
2318 | "きっちょうやちえ"
2319 | ],
2320 | "en": "Kicchou Yachie"
2321 | },
2322 | {
2323 | "type": "Character",
2324 | "jp": "鬼人正邪",
2325 | "jp_alt": [
2326 | "きじんせいじゃ"
2327 | ],
2328 | "en": "Kijin Seija"
2329 | },
2330 | {
2331 | "type": "Character",
2332 | "jp": "霧雨魔理沙",
2333 | "jp_alt": [
2334 | "きりさめまりさ"
2335 | ],
2336 | "en": "Kirisame Marisa"
2337 | },
2338 | {
2339 | "type": "Character",
2340 | "jp": "稀神サグメ",
2341 | "jp_alt": [
2342 | "きしんサグメ"
2343 | ],
2344 | "en": "Kishin Sagume"
2345 | },
2346 | {
2347 | "type": "Character",
2348 | "jp": "小悪魔",
2349 | "jp_alt": [
2350 | "こあくま",
2351 | "こあ"
2352 | ],
2353 | "en": "Koakuma"
2354 | },
2355 | {
2356 | "type": "Character",
2357 | "jp": "東風谷早苗",
2358 | "jp_alt": [
2359 | "こちやさなえ"
2360 | ],
2361 | "en": "Kochiya Sanae"
2362 | },
2363 | {
2364 | "type": "Character",
2365 | "jp": "高麗野あうん",
2366 | "jp_alt": [
2367 | "こまのあうん"
2368 | ],
2369 | "en": "Komano Aunn"
2370 | },
2371 | {
2372 | "type": "Character",
2373 | "jp": "古明地こいし",
2374 | "jp_alt": [
2375 | "こめいじこいし"
2376 | ],
2377 | "en": "Komeiji Koishi"
2378 | },
2379 | {
2380 | "type": "Character",
2381 | "jp": "古明地さとり",
2382 | "jp_alt": [
2383 | "こめいじさとり"
2384 | ],
2385 | "en": "Komeiji Satori"
2386 | },
2387 | {
2388 | "type": "Character",
2389 | "jp": "魂魄妖夢",
2390 | "jp_alt": [
2391 | "こんぱくようむ"
2392 | ],
2393 | "en": "Konpaku Youmu"
2394 | },
2395 | {
2396 | "type": "Character",
2397 | "jp": "雲居一輪",
2398 | "jp_alt": [
2399 | "くもいいちりん"
2400 | ],
2401 | "en": "Kumoi Ichirin"
2402 | },
2403 | {
2404 | "type": "Character",
2405 | "jp": "黒谷ヤマメ",
2406 | "jp_alt": [
2407 | "くろだにやめめ"
2408 | ],
2409 | "en": "Kurodani Yamame"
2410 | },
2411 | {
2412 | "type": "Character",
2413 | "jp": "驪駒早鬼",
2414 | "jp_alt": [
2415 | "くろこまさき"
2416 | ],
2417 | "en": "Kurokoma Saki"
2418 | },
2419 | {
2420 | "type": "Character",
2421 | "jp": "レティ・ホワイトロック",
2422 | "jp_alt": [],
2423 | "en": "Letty Whiterock"
2424 | },
2425 | {
2426 | "type": "Character",
2427 | "jp": "リリーホワイト",
2428 | "jp_alt": [],
2429 | "en": "Lily White"
2430 | },
2431 | {
2432 | "type": "Character",
2433 | "jp": "ルナサ・プリズムリバー",
2434 | "jp_alt": [],
2435 | "en": "Lunasa Prismriver"
2436 | },
2437 | {
2438 | "type": "Character",
2439 | "jp": "リリカ・プリズムリバー",
2440 | "jp_alt": [],
2441 | "en": "Lyrica Prismriver"
2442 | },
2443 | {
2444 | "type": "Character",
2445 | "jp": "マエリベリー・ハーン",
2446 | "jp_alt": [
2447 | "メリー"
2448 | ],
2449 | "en": "Maribel Hearn"
2450 | },
2451 | {
2452 | "type": "Character",
2453 | "jp": "摩多羅隠岐奈",
2454 | "jp_alt": [
2455 | "またらおきな"
2456 | ],
2457 | "en": "Matara Okina"
2458 | },
2459 | {
2460 | "type": "Character",
2461 | "jp": "メディスン・メランコリー",
2462 | "jp_alt": [],
2463 | "en": "Medicine Melancholy"
2464 | },
2465 | {
2466 | "type": "Character",
2467 | "jp": "メルラン・プリズムリバー",
2468 | "jp_alt": [],
2469 | "en": "Merlin Prismriver"
2470 | },
2471 | {
2472 | "type": "Character",
2473 | "jp": "魅魔",
2474 | "jp_alt": [
2475 | "みま"
2476 | ],
2477 | "en": "Mima"
2478 | },
2479 | {
2480 | "type": "Character",
2481 | "jp": "水橋パルスィ",
2482 | "jp_alt": [
2483 | "みずはしパルスィ"
2484 | ],
2485 | "en": "Mizuhashi Parsee"
2486 | },
2487 | {
2488 | "type": "Character",
2489 | "jp": "物部布都",
2490 | "jp_alt": [
2491 | "もののべのふと"
2492 | ],
2493 | "en": "Mononobe no Futo"
2494 | },
2495 | {
2496 | "type": "Character",
2497 | "jp": "森近霖之助",
2498 | "jp_alt": [
2499 | "もりちかりんのすけ"
2500 | ],
2501 | "en": "Morichika Rinnosuke"
2502 | },
2503 | {
2504 | "type": "Character",
2505 | "jp": "洩矢諏訪子",
2506 | "jp_alt": [
2507 | "もりやすわこ"
2508 | ],
2509 | "en": "Moriya Suwako"
2510 | },
2511 | {
2512 | "type": "Character",
2513 | "jp": "村紗水蜜",
2514 | "jp_alt": [
2515 | "むらさみなみつ"
2516 | ],
2517 | "en": "Murasa Minamitsu"
2518 | },
2519 | {
2520 | "type": "Character",
2521 | "jp": "ミスティア・ローレライ",
2522 | "jp_alt": [
2523 | "ミスチー",
2524 | "みすちー"
2525 | ],
2526 | "en": "Mystia Lorelei"
2527 | },
2528 | {
2529 | "type": "Character",
2530 | "jp": "永江衣玖",
2531 | "jp_alt": [
2532 | "ながえいく"
2533 | ],
2534 | "en": "Nagae Iku"
2535 | },
2536 | {
2537 | "type": "Character",
2538 | "jp": "ナズーリン",
2539 | "jp_alt": [],
2540 | "en": "Nazrin"
2541 | },
2542 | {
2543 | "type": "Character",
2544 | "jp": "爾子田里乃",
2545 | "jp_alt": [
2546 | "にしださとの"
2547 | ],
2548 | "en": "Nishida Satono"
2549 | },
2550 | {
2551 | "type": "Character",
2552 | "jp": "庭渡久侘歌",
2553 | "jp_alt": [
2554 | "にわたりくたか"
2555 | ],
2556 | "en": "Niwatari Kutaka"
2557 | },
2558 | {
2559 | "type": "Character",
2560 | "jp": "奥野田美宵",
2561 | "jp_alt": [
2562 | "おくのだみよい"
2563 | ],
2564 | "en": "Okunoda Miyoi"
2565 | },
2566 | {
2567 | "type": "Character",
2568 | "jp": "小野塚小町",
2569 | "jp_alt": [
2570 | "おのづかこまち"
2571 | ],
2572 | "en": "Onozuka Komachi"
2573 | },
2574 | {
2575 | "type": "Character",
2576 | "jp": "パチュリー・ノーレッジ",
2577 | "jp_alt": [
2578 | "パチェ",
2579 | "むきゅー"
2580 | ],
2581 | "en": "Patchouli Knowledge"
2582 | },
2583 | {
2584 | "type": "Character",
2585 | "jp": "鈴仙・優曇華院・イナバ",
2586 | "jp_alt": [
2587 | "鈴仙・U・イナバ",
2588 | "れいせん・うどんげいん・イナバ",
2589 | "優曇華",
2590 | "うどんげ"
2591 | ],
2592 | "en": "Reisen Udongein Inaba"
2593 | },
2594 | {
2595 | "type": "Character",
2596 | "jp": "霊烏路空",
2597 | "jp_alt": [
2598 | "れいうじうつほ",
2599 | "お空"
2600 | ],
2601 | "en": "Reiuji Utsuho"
2602 | },
2603 | {
2604 | "type": "Character",
2605 | "jp": "レミリア・スカーレット",
2606 | "jp_alt": [
2607 | "レミィ"
2608 | ],
2609 | "en": "Remilia Scarlet"
2610 | },
2611 | {
2612 | "type": "Character",
2613 | "jp": "ルーミア",
2614 | "jp_alt": [],
2615 | "en": "Rumia"
2616 | },
2617 | {
2618 | "type": "Character",
2619 | "jp": "西行寺幽々子",
2620 | "jp_alt": [
2621 | "さいぎょうじゆゆこ"
2622 | ],
2623 | "en": "Saigyouji Yuyuko"
2624 | },
2625 | {
2626 | "type": "Character",
2627 | "jp": "坂田ネムノ",
2628 | "jp_alt": [
2629 | "さかたネムノ"
2630 | ],
2631 | "en": "Sakata Nemuno"
2632 | },
2633 | {
2634 | "type": "Character",
2635 | "jp": "赤蛮奇",
2636 | "jp_alt": [
2637 | "せきばんき"
2638 | ],
2639 | "en": "Sekibanki"
2640 | },
2641 | {
2642 | "type": "Character",
2643 | "jp": "射命丸文",
2644 | "jp_alt": [
2645 | "しゃめいまるあや"
2646 | ],
2647 | "en": "Shameimaru Aya"
2648 | },
2649 | {
2650 | "type": "Character",
2651 | "jp": "四季映姫・ヤマザナドゥ",
2652 | "jp_alt": [
2653 | "四季映姫",
2654 | "しきえいき"
2655 | ],
2656 | "en": "Shiki Eiki, Yamaxanadu"
2657 | },
2658 | {
2659 | "type": "Character",
2660 | "jp": "蘇我屠自古",
2661 | "jp_alt": [
2662 | "そがのとじこ"
2663 | ],
2664 | "en": "Soga no Tojiko"
2665 | },
2666 | {
2667 | "type": "Character",
2668 | "jp": "スターサファイア",
2669 | "jp_alt": [],
2670 | "en": "Star Sapphire"
2671 | },
2672 | {
2673 | "type": "Character",
2674 | "jp": "少名針妙丸",
2675 | "jp_alt": [
2676 | "すくなしんみょうまる"
2677 | ],
2678 | "en": "Sukuna Shinmyoumaru"
2679 | },
2680 | {
2681 | "type": "Character",
2682 | "jp": "多々良小傘",
2683 | "jp_alt": [
2684 | "たたらこがさ"
2685 | ],
2686 | "en": "Tatara Kogasa"
2687 | },
2688 | {
2689 | "type": "Character",
2690 | "jp": "丁礼田舞",
2691 | "jp_alt": [
2692 | "ていれいだまい"
2693 | ],
2694 | "en": "Teireida Mai"
2695 | },
2696 | {
2697 | "type": "Character",
2698 | "jp": "寅丸星",
2699 | "jp_alt": [
2700 | "とらまるしょう"
2701 | ],
2702 | "en": "Toramaru Shou"
2703 | },
2704 | {
2705 | "type": "Character",
2706 | "jp": "豊聡耳神子",
2707 | "jp_alt": [
2708 | "とよさとみみのみこ"
2709 | ],
2710 | "en": "Toyosatomimi no Miko"
2711 | },
2712 | {
2713 | "type": "Character",
2714 | "jp": "九十九八橋",
2715 | "jp_alt": [
2716 | "つくもやつはし"
2717 | ],
2718 | "en": "Tsukumo Yatsuhashi"
2719 | },
2720 | {
2721 | "type": "Character",
2722 | "jp": "雲山",
2723 | "jp_alt": [
2724 | "うんざん"
2725 | ],
2726 | "en": "Unzan"
2727 | },
2728 | {
2729 | "type": "Character",
2730 | "jp": "牛崎潤美",
2731 | "jp_alt": [
2732 | "うしざきうるみ"
2733 | ],
2734 | "en": "Ushizaki Urumi"
2735 | },
2736 | {
2737 | "type": "Character",
2738 | "jp": "宇佐見蓮子",
2739 | "jp_alt": [
2740 | "うさみれんこ"
2741 | ],
2742 | "en": "Usami Renko"
2743 | },
2744 | {
2745 | "type": "Character",
2746 | "jp": "宇佐見菫子",
2747 | "jp_alt": [
2748 | "うさみすみれこ"
2749 | ],
2750 | "en": "Usami Sumireko"
2751 | },
2752 | {
2753 | "type": "Character",
2754 | "jp": "わかさぎ姫",
2755 | "jp_alt": [
2756 | "わかさぎひめ"
2757 | ],
2758 | "en": "Wakasagihime"
2759 | },
2760 | {
2761 | "type": "Character",
2762 | "jp": "綿月豊姫",
2763 | "jp_alt": [
2764 | "わたつきのとよひめ"
2765 | ],
2766 | "en": "Watatsuki no Toyohime"
2767 | },
2768 | {
2769 | "type": "Character",
2770 | "jp": "綿月依姫",
2771 | "jp_alt": [
2772 | "わたつきのよりひめ"
2773 | ],
2774 | "en": "Watatsuki no Yorihime"
2775 | },
2776 | {
2777 | "type": "Character",
2778 | "jp": "リグル・ナイトバグ",
2779 | "jp_alt": [],
2780 | "en": "Wriggle Nightbug"
2781 | },
2782 | {
2783 | "type": "Character",
2784 | "jp": "八意永琳",
2785 | "jp_alt": [
2786 | "やごころえいりん"
2787 | ],
2788 | "en": "Yagokoro Eirin"
2789 | },
2790 | {
2791 | "type": "Character",
2792 | "jp": "八雲藍",
2793 | "jp_alt": [
2794 | "やくもらん"
2795 | ],
2796 | "en": "Yakumo Ran"
2797 | },
2798 | {
2799 | "type": "Character",
2800 | "jp": "八雲紫",
2801 | "jp_alt": [
2802 | "やくもゆかり"
2803 | ],
2804 | "en": "Yakumo Yukari"
2805 | },
2806 | {
2807 | "type": "Character",
2808 | "jp": "八坂神奈子",
2809 | "jp_alt": [
2810 | "やさかかなこ"
2811 | ],
2812 | "en": "Yasaka Kanako"
2813 | },
2814 | {
2815 | "type": "Character",
2816 | "jp": "矢田寺成美",
2817 | "jp_alt": [
2818 | "やたでらなるみ"
2819 | ],
2820 | "en": "Yatadera Narumi"
2821 | },
2822 | {
2823 | "type": "Character",
2824 | "jp": "依神女苑",
2825 | "jp_alt": [
2826 | "よりがみじょおん"
2827 | ],
2828 | "en": "Yorigami Joon"
2829 | },
2830 | {
2831 | "type": "Character",
2832 | "jp": "依神紫苑",
2833 | "jp_alt": [
2834 | "よりがみしおん"
2835 | ],
2836 | "en": "Yorigami Shion"
2837 | }
2838 | ]
2839 | },
2840 | "forwarders": [
2841 | {
2842 | "name": "Big in Japan",
2843 | "link": "https://www.biginjap.com/",
2844 | "per_package": "¥500",
2845 | "consolidation": "¥1500 for any number of packages",
2846 | "notes": ""
2847 | },
2848 | {
2849 | "name": "Blackship",
2850 | "link": "https://blackship.com/",
2851 | "per_package": "$1",
2852 | "consolidation": "$3 per package",
2853 | "notes": "There is an optional monthly subscription service and many optional features"
2854 | },
2855 | {
2856 | "name": "Japamart",
2857 | "link": "https://japamart.com/",
2858 | "per_package": "5% + a commission based on total price - about $6 for a single Fumo",
2859 | "consolidation": "Apparently free",
2860 | "notes": "Does not accept forwards from auction sites; only accepts PayPal"
2861 | },
2862 | {
2863 | "name": "JPN-DEPOT",
2864 | "link": "https://www.jpn-depot.com/",
2865 | "per_package": "¥200",
2866 | "consolidation": "¥100 per package",
2867 | "notes": ""
2868 | },
2869 | {
2870 | "name": "Tenso",
2871 | "link": "https://www.tenso.com/en/",
2872 | "per_package": "Based on weight - about ¥150 for a single Fumo",
2873 | "consolidation": "¥200 + ¥300 per package beyond the first",
2874 | "notes": "Partnered with Buyee"
2875 | }
2876 | ],
2877 | "proxies": [
2878 | {
2879 | "name": "Big in Japan",
2880 | "link": "https://www.biginjap.com/",
2881 | "per_order": "¥500 + 15%",
2882 | "other_fees": "",
2883 | "consolidation": "Not offered",
2884 | "sniper_bids": "Not offered",
2885 | "notes": "Sends invoices via PayPal"
2886 | },
2887 | {
2888 | "name": "Buyee",
2889 | "link": "https://buyee.jp/",
2890 | "per_order": "¥300; Optional ¥0-500 for insurance/inspection",
2891 | "other_fees": "¥200 per successful bid on Yahoo Auctions",
2892 | "consolidation": "¥500 for two packages or ¥1000 for 3 or more",
2893 | "sniper_bids": "5 minutes",
2894 | "notes": ""
2895 | },
2896 | {
2897 | "name": "From Japan",
2898 | "link": "https://www.fromjapan.co.jp/en/",
2899 | "per_order": "¥300, or ¥700 if you want insurance",
2900 | "other_fees": "¥200 per successful bid on Yahoo Auctions",
2901 | "consolidation": "Free",
2902 | "sniper_bids": "10 minutes",
2903 | "notes": ""
2904 | },
2905 | {
2906 | "name": "J-Subculture",
2907 | "link": "https://www.j-subculture.com/",
2908 | "per_order": "¥500, or ¥850 if you want insurance",
2909 | "other_fees": "¥50 per item won at auction",
2910 | "consolidation": "Free for up to 5 items",
2911 | "sniper_bids": "15 minutes",
2912 | "notes": ""
2913 | },
2914 | {
2915 | "name": "Japamart",
2916 | "link": "https://japamart.com/",
2917 | "per_order": "5% + $2 + a commission based on total price, about $10 for a single Fumo",
2918 | "other_fees": "Some shenanigans if multiple Japamart users bid on the same item",
2919 | "consolidation": "Apparently free",
2920 | "sniper_bids": "Not specified, but near auction close",
2921 | "notes": "Only accepts PayPal"
2922 | },
2923 | {
2924 | "name": "Jauce",
2925 | "link": "https://www.jauce.com/",
2926 | "per_order": "1300¥ + 8% for non-auction; 700¥ + 8% for auctions",
2927 | "other_fees": "",
2928 | "consolidation": "¥300 per package + ¥120/kg",
2929 | "sniper_bids": "6 minutes",
2930 | "notes": ""
2931 | },
2932 | {
2933 | "name": "JPN-DEPOT",
2934 | "link": "https://www.jpn-depot.com/",
2935 | "per_order": "¥400",
2936 | "other_fees": "¥200 per auction on Yahoo Auctions",
2937 | "consolidation": "¥100 per package",
2938 | "sniper_bids": "Not offered",
2939 | "notes": ""
2940 | },
2941 | {
2942 | "name": "Kuboten",
2943 | "link": "https://www.kuboten.com/",
2944 | "per_order": "¥1000 + 10%",
2945 | "other_fees": "3.9% money transfer fee",
2946 | "consolidation": "Apparently free",
2947 | "sniper_bids": "Not offered",
2948 | "notes": "Suggests placing orders 12 hours before auctions close"
2949 | },
2950 | {
2951 | "name": "Noppin",
2952 | "link": "https://noppin.com/",
2953 | "per_order": "Non-auction: ¥1000 + 10%; 12.5% (minimum ¥500) for auctions",
2954 | "other_fees": "Additional charges based on size and weight; 3.5% money transfer fee",
2955 | "consolidation": "Free",
2956 | "sniper_bids": "Not offered",
2957 | "notes": "Packing takes about 3 business days"
2958 | },
2959 | {
2960 | "name": "Proxy Rabbit Japan",
2961 | "link": "https://www.proxyrabbitjapan.net/",
2962 | "per_order": "¥400 + 5%",
2963 | "other_fees": "3.6% money transfer fee",
2964 | "consolidation": "Free for up to 5 items",
2965 | "sniper_bids": "Not offered",
2966 | "notes": ""
2967 | },
2968 | {
2969 | "name": "Sendico",
2970 | "link": "https://www.sendico.com/",
2971 | "per_order": "¥500",
2972 | "other_fees": "",
2973 | "consolidation": "¥500 per item",
2974 | "sniper_bids": "Not offered",
2975 | "notes": ""
2976 | },
2977 | {
2978 | "name": "Treasure Japan",
2979 | "link": "https://treasure-japan.com/",
2980 | "per_order": "Rates vary by price range and weight; minimum ¥700.",
2981 | "other_fees": "4% money transfer fee",
2982 | "consolidation": "Not offered",
2983 | "sniper_bids": "Not offered",
2984 | "notes": "Estimated total fee for a single Fumo is around 10%"
2985 | },
2986 | {
2987 | "name": "White Rabbit Express",
2988 | "link": "https://www.whiterabbitexpress.com/",
2989 | "per_order": "$5 + 9.9%",
2990 | "other_fees": "",
2991 | "consolidation": "Free",
2992 | "sniper_bids": "Not offered",
2993 | "notes": "Partnered with Blackship."
2994 | },
2995 | {
2996 | "name": "Zenmarket",
2997 | "link": "https://zenmarket.jp/en/",
2998 | "per_order": "¥300",
2999 | "other_fees": "3.5% money transfer fee",
3000 | "consolidation": "Free",
3001 | "sniper_bids": "5 minutes",
3002 | "notes": ""
3003 | }
3004 | ],
3005 | "storefronts": [
3006 | {
3007 | "name": "Gift Online Shop",
3008 | "link": "http://giftshop.jz.shopserve.jp/",
3009 | "desc": [
3010 | "The source of all Fumos. Prices are always cheapest here.",
3011 | "The most popular Fumos tend to sell out in an hour or less.",
3012 | "Proxies are often too slow, or sometimes reach order limits.",
3013 | "Since August 2021, Gift has preferred AmiAmi over its own storefront for fumo releases."
3014 | ]
3015 | },
3016 | {
3017 | "name": "Amiami",
3018 | "link": "https://www.amiami.com/eng/",
3019 | "desc": [
3020 | "Since August 2021, Gift has been officially releasing fumos on AmiAmi.",
3021 | "Offers shipping through DHL, EMS, and surface mail to most international locations.",
3022 | "AmiAmi's site tends to experience reliability issues when traffic is high (i.e., around starting time of fumo sales).",
3023 | "There is a separate Japanese storefront that only ships to addresses inside Japan.",
3024 | "Warning: The Japanese storefront has been rumored to reject orders that would ship to known forwarders."
3025 | ]
3026 | },
3027 | {
3028 | "name": "Suruga-ya",
3029 | "link": "https://www.suruga-ya.jp/",
3030 | "desc": [
3031 | "Second-hand retailer of lots of hobby goods.",
3032 | "Will nearly always have Fumos in stock.",
3033 | "Prices vary wildly but tend to be more expensive than Gift's.",
3034 | "Also has an English storefront ."
3035 | ]
3036 | },
3037 | {
3038 | "name": "Mandarake",
3039 | "link": "https://order.mandarake.co.jp/order/",
3040 | "desc": [
3041 | "Sells preowned hobby goods.",
3042 | "Fumos here tend to sell very quickly.",
3043 | "This is a digital storefront for physical stores, so staff has to confirm that nobody has bought your item before you can pay."
3044 | ]
3045 | },
3046 | {
3047 | "name": "Amazon Japan",
3048 | "link": "https://www.amazon.co.jp/",
3049 | "desc": [
3050 | "It's Amazon but in Japanese.",
3051 | "Fumos are rarely listed here and are usually very expensive."
3052 | ]
3053 | },
3054 | {
3055 | "name": "SolarisJapan",
3056 | "link": "https://solarisjapan.com/",
3057 | "desc": [
3058 | "English storefront for Japanese figures and merchandise.",
3059 | "Prices are very high."
3060 | ]
3061 | },
3062 | {
3063 | "name": "Goods Republic",
3064 | "link": "https://goodsrepublic.com/",
3065 | "desc": [
3066 | "English storefront for Japanese figures and merchandise.",
3067 | "Prices are very high.",
3068 | "Although the site is in English, searches still need to be in Japanese."
3069 | ]
3070 | },
3071 | {
3072 | "name": "JPFigures",
3073 | "link": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
3074 | "desc": [
3075 | "Literally a scam. Do not purchase anything from them.",
3076 | "They have a nice looking webpage. Don't be fooled.",
3077 | "The link above is a rickroll."
3078 | ]
3079 | }
3080 | ],
3081 | "auction_houses": [
3082 | {
3083 | "name": "Yahoo Auctions JP",
3084 | "link": "https://auctions.yahoo.co.jp/",
3085 | "desc": [
3086 | "Basically Japanese eBay. Every proxy can interact with it.",
3087 | "Always has Fumos listed, and mostly at reasonable prices.",
3088 | "Just like eBay, you can be sniped or outbid.",
3089 | "Some sellers have blacklisted some proxies."
3090 | ]
3091 | },
3092 | {
3093 | "name": "Mercari",
3094 | "link": "https://www.mercari.com/jp/",
3095 | "desc": [
3096 | "No auctions, just direct sales.",
3097 | "Often has individual and group batches of fumos.",
3098 | "Proxies can be too slow for some of the quicker deals."
3099 | ]
3100 | },
3101 | {
3102 | "name": "Rakuten",
3103 | "link": "https://search.rakuten.co.jp/",
3104 | "desc": [
3105 | "A storefront for both corporations and individual sellers.",
3106 | "When searching, use 東方ぬいぐるみ (Touhou Plush) not 東方ふもふも (Touhou Fumo).",
3107 | "Prices might be fair for newer Fumos, but are very expensive for older ones."
3108 | ]
3109 | }
3110 | ]
3111 | }
3112 |
--------------------------------------------------------------------------------
/imgfetch.js:
--------------------------------------------------------------------------------
1 | const fumoData = require('./fumo_data.json');
2 | const fs = require('fs');
3 | const path = require('path');
4 | const url = require('url');
5 | const https = require('https');
6 |
7 | function downloadFumo(fumo) {
8 | const targetFileName = 'static/img/' + fumo.id + path.extname(fumo.img);
9 |
10 | console.log(fumo.img, '=>', targetFileName);
11 |
12 | return new Promise((resolve, reject) => {
13 | const file = fs.createWriteStream(targetFileName);
14 | const imgUrl = url.parse(fumo.img);
15 | https.get({
16 | host: imgUrl.host,
17 | path: imgUrl.path,
18 | headers: {
19 | 'Referer': fumo.gift_link,
20 | }
21 | }, (resp) => {
22 | resp.pipe(file);
23 | file.on('finish', () => {
24 | file.close();
25 | resolve(file);
26 | })
27 | }).on('error', (err) => {
28 | reject(err);
29 | });
30 | });
31 | }
32 |
33 | async function doWork() {
34 | if (!fs.existsSync('static/img')) {
35 | fs.mkdirSync('static/img', { recursive: true });
36 | }
37 |
38 | for (let character of fumoData.characters) {
39 | console.log('Downloading images of ' + character.ch_name + ' fumos...');
40 | for (let key of ['regular', 'straps', 'puppets', 'dekas']) {
41 | if (character.hasOwnProperty(key)) {
42 | for (let fumo of character[key]) {
43 | if (fumo.id !== 'inu-sakuya') {
44 | await downloadFumo(fumo);
45 | }
46 | }
47 | }
48 | }
49 | }
50 | }
51 |
52 | doWork();
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "fumosite",
3 | "version": "1.0.0",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "fumosite",
9 | "version": "1.0.0",
10 | "license": "MIT",
11 | "dependencies": {
12 | "mustache": "^4.0.1",
13 | "sass": "^1.26.10"
14 | }
15 | },
16 | "node_modules/anymatch": {
17 | "version": "3.1.1",
18 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
19 | "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
20 | "dependencies": {
21 | "normalize-path": "^3.0.0",
22 | "picomatch": "^2.0.4"
23 | },
24 | "engines": {
25 | "node": ">= 8"
26 | }
27 | },
28 | "node_modules/binary-extensions": {
29 | "version": "2.1.0",
30 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz",
31 | "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==",
32 | "engines": {
33 | "node": ">=8"
34 | }
35 | },
36 | "node_modules/braces": {
37 | "version": "3.0.3",
38 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
39 | "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
40 | "dependencies": {
41 | "fill-range": "^7.1.1"
42 | },
43 | "engines": {
44 | "node": ">=8"
45 | }
46 | },
47 | "node_modules/chokidar": {
48 | "version": "3.4.2",
49 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.2.tgz",
50 | "integrity": "sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==",
51 | "dependencies": {
52 | "anymatch": "~3.1.1",
53 | "braces": "~3.0.2",
54 | "glob-parent": "~5.1.0",
55 | "is-binary-path": "~2.1.0",
56 | "is-glob": "~4.0.1",
57 | "normalize-path": "~3.0.0",
58 | "readdirp": "~3.4.0"
59 | },
60 | "engines": {
61 | "node": ">= 8.10.0"
62 | },
63 | "optionalDependencies": {
64 | "fsevents": "~2.1.2"
65 | }
66 | },
67 | "node_modules/fill-range": {
68 | "version": "7.1.1",
69 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
70 | "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
71 | "dependencies": {
72 | "to-regex-range": "^5.0.1"
73 | },
74 | "engines": {
75 | "node": ">=8"
76 | }
77 | },
78 | "node_modules/fsevents": {
79 | "version": "2.1.3",
80 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
81 | "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
82 | "deprecated": "\"Please update to latest v2.3 or v2.2\"",
83 | "hasInstallScript": true,
84 | "optional": true,
85 | "os": [
86 | "darwin"
87 | ],
88 | "engines": {
89 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
90 | }
91 | },
92 | "node_modules/glob-parent": {
93 | "version": "5.1.2",
94 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
95 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
96 | "dependencies": {
97 | "is-glob": "^4.0.1"
98 | },
99 | "engines": {
100 | "node": ">= 6"
101 | }
102 | },
103 | "node_modules/is-binary-path": {
104 | "version": "2.1.0",
105 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
106 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
107 | "dependencies": {
108 | "binary-extensions": "^2.0.0"
109 | },
110 | "engines": {
111 | "node": ">=8"
112 | }
113 | },
114 | "node_modules/is-extglob": {
115 | "version": "2.1.1",
116 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
117 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
118 | "engines": {
119 | "node": ">=0.10.0"
120 | }
121 | },
122 | "node_modules/is-glob": {
123 | "version": "4.0.1",
124 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
125 | "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
126 | "dependencies": {
127 | "is-extglob": "^2.1.1"
128 | },
129 | "engines": {
130 | "node": ">=0.10.0"
131 | }
132 | },
133 | "node_modules/is-number": {
134 | "version": "7.0.0",
135 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
136 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
137 | "engines": {
138 | "node": ">=0.12.0"
139 | }
140 | },
141 | "node_modules/mustache": {
142 | "version": "4.0.1",
143 | "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.0.1.tgz",
144 | "integrity": "sha512-yL5VE97+OXn4+Er3THSmTdCFCtx5hHWzrolvH+JObZnUYwuaG7XV+Ch4fR2cIrcYI0tFHxS7iyFYl14bW8y2sA==",
145 | "bin": {
146 | "mustache": "bin/mustache"
147 | },
148 | "engines": {
149 | "npm": ">=1.4.0"
150 | }
151 | },
152 | "node_modules/normalize-path": {
153 | "version": "3.0.0",
154 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
155 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
156 | "engines": {
157 | "node": ">=0.10.0"
158 | }
159 | },
160 | "node_modules/picomatch": {
161 | "version": "2.2.2",
162 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
163 | "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
164 | "engines": {
165 | "node": ">=8.6"
166 | },
167 | "funding": {
168 | "url": "https://github.com/sponsors/jonschlinkert"
169 | }
170 | },
171 | "node_modules/readdirp": {
172 | "version": "3.4.0",
173 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz",
174 | "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==",
175 | "dependencies": {
176 | "picomatch": "^2.2.1"
177 | },
178 | "engines": {
179 | "node": ">=8.10.0"
180 | }
181 | },
182 | "node_modules/sass": {
183 | "version": "1.26.10",
184 | "resolved": "https://registry.npmjs.org/sass/-/sass-1.26.10.tgz",
185 | "integrity": "sha512-bzN0uvmzfsTvjz0qwccN1sPm2HxxpNI/Xa+7PlUEMS+nQvbyuEK7Y0qFqxlPHhiNHb1Ze8WQJtU31olMObkAMw==",
186 | "dependencies": {
187 | "chokidar": ">=2.0.0 <4.0.0"
188 | },
189 | "bin": {
190 | "sass": "sass.js"
191 | },
192 | "engines": {
193 | "node": ">=8.9.0"
194 | }
195 | },
196 | "node_modules/to-regex-range": {
197 | "version": "5.0.1",
198 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
199 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
200 | "dependencies": {
201 | "is-number": "^7.0.0"
202 | },
203 | "engines": {
204 | "node": ">=8.0"
205 | }
206 | }
207 | },
208 | "dependencies": {
209 | "anymatch": {
210 | "version": "3.1.1",
211 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
212 | "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
213 | "requires": {
214 | "normalize-path": "^3.0.0",
215 | "picomatch": "^2.0.4"
216 | }
217 | },
218 | "binary-extensions": {
219 | "version": "2.1.0",
220 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz",
221 | "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ=="
222 | },
223 | "braces": {
224 | "version": "3.0.3",
225 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
226 | "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
227 | "requires": {
228 | "fill-range": "^7.1.1"
229 | }
230 | },
231 | "chokidar": {
232 | "version": "3.4.2",
233 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.2.tgz",
234 | "integrity": "sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==",
235 | "requires": {
236 | "anymatch": "~3.1.1",
237 | "braces": "~3.0.2",
238 | "fsevents": "~2.1.2",
239 | "glob-parent": "~5.1.0",
240 | "is-binary-path": "~2.1.0",
241 | "is-glob": "~4.0.1",
242 | "normalize-path": "~3.0.0",
243 | "readdirp": "~3.4.0"
244 | }
245 | },
246 | "fill-range": {
247 | "version": "7.1.1",
248 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
249 | "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
250 | "requires": {
251 | "to-regex-range": "^5.0.1"
252 | }
253 | },
254 | "fsevents": {
255 | "version": "2.1.3",
256 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
257 | "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
258 | "optional": true
259 | },
260 | "glob-parent": {
261 | "version": "5.1.2",
262 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
263 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
264 | "requires": {
265 | "is-glob": "^4.0.1"
266 | }
267 | },
268 | "is-binary-path": {
269 | "version": "2.1.0",
270 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
271 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
272 | "requires": {
273 | "binary-extensions": "^2.0.0"
274 | }
275 | },
276 | "is-extglob": {
277 | "version": "2.1.1",
278 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
279 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
280 | },
281 | "is-glob": {
282 | "version": "4.0.1",
283 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
284 | "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
285 | "requires": {
286 | "is-extglob": "^2.1.1"
287 | }
288 | },
289 | "is-number": {
290 | "version": "7.0.0",
291 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
292 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
293 | },
294 | "mustache": {
295 | "version": "4.0.1",
296 | "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.0.1.tgz",
297 | "integrity": "sha512-yL5VE97+OXn4+Er3THSmTdCFCtx5hHWzrolvH+JObZnUYwuaG7XV+Ch4fR2cIrcYI0tFHxS7iyFYl14bW8y2sA=="
298 | },
299 | "normalize-path": {
300 | "version": "3.0.0",
301 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
302 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
303 | },
304 | "picomatch": {
305 | "version": "2.2.2",
306 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
307 | "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg=="
308 | },
309 | "readdirp": {
310 | "version": "3.4.0",
311 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz",
312 | "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==",
313 | "requires": {
314 | "picomatch": "^2.2.1"
315 | }
316 | },
317 | "sass": {
318 | "version": "1.26.10",
319 | "resolved": "https://registry.npmjs.org/sass/-/sass-1.26.10.tgz",
320 | "integrity": "sha512-bzN0uvmzfsTvjz0qwccN1sPm2HxxpNI/Xa+7PlUEMS+nQvbyuEK7Y0qFqxlPHhiNHb1Ze8WQJtU31olMObkAMw==",
321 | "requires": {
322 | "chokidar": ">=2.0.0 <4.0.0"
323 | }
324 | },
325 | "to-regex-range": {
326 | "version": "5.0.1",
327 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
328 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
329 | "requires": {
330 | "is-number": "^7.0.0"
331 | }
332 | }
333 | }
334 | }
335 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "fumosite",
3 | "version": "1.0.0",
4 | "description": "",
5 | "dependencies": {
6 | "mustache": "^4.0.1",
7 | "sass": "^1.26.10"
8 | },
9 | "scripts": {
10 | "styles": "sass --style=expanded --embed-sources src/index.scss:static/index.css",
11 | "fumogen": "mustache fumo_data.json src/index.mustache static/index.html && mustache fumo_data.json src/fumo_table.mustache static/fumo_table.html && mustache fumo_data.json src/fumo_list.mustache static/fumo_list.html && mustache fumo_data.json src/japanese.mustache static/japanese.html && mustache fumo_data.json src/proxy_forward.mustache static/proxy_forward.html && mustache fumo_data.json src/reseller.mustache static/reseller.html && mustache fumo_data.json src/fumo_checklist.mustache static/fumo_checklist.html",
12 | "build": "npm run styles && npm run fumogen"
13 | },
14 | "watch": {
15 | "styles": {
16 | "patterns": [
17 | "."
18 | ],
19 | "extensions": "scss",
20 | "runOnChangeOnly": false
21 | },
22 | "fumogen": {
23 | "patterns": [
24 | "."
25 | ],
26 | "extensions": "mustache,json",
27 | "runOnChangeOnly": false
28 | }
29 | },
30 | "author": "",
31 | "license": "MIT"
32 | }
33 |
--------------------------------------------------------------------------------
/src/fumo_checklist.mustache:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Fumo Checklist
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | Fumo Checklist
16 |
17 |
18 | Welcome to the fumo checklist!
19 | Use this page to track your fumo collection and share it with your friends.
20 |
21 | Your data is saved locally !
22 | If you clear your brower data or switch computers, your data will be lost!
23 |
24 |
25 |
26 | You're looking at someone else's collection!
27 |
28 |
29 |
30 |
31 |
32 |
33 | Hide already-collected fumos
34 | Hide fumos you don't own
35 |
36 |
37 | ⚠️ Reset checklist
38 | 🔗 Share checklist
39 |
40 |
41 |
42 |
43 |
44 | 💾 Overwrite your existing checklist
45 | 🚫 Go back to your own collection
46 |
47 |
48 |
49 |
50 | {{#characters}}
51 |
52 |
{{ch_name}}
53 |
54 | {{#regular}}
55 |
56 |
57 |
58 |
59 |
{{name}}
60 |
61 |
62 |
63 |
64 | {{/regular}}
65 | {{#straps}}
66 |
67 |
68 |
69 |
70 |
Strap - {{name}}
71 |
72 |
73 |
74 |
75 | {{/straps}}
76 | {{#dekas}}
77 |
78 |
79 |
80 |
81 |
Deka - {{name}}
82 |
83 |
84 |
85 |
86 | {{/dekas}}
87 | {{#puppets}}
88 |
89 |
90 |
91 |
92 |
{{name}}
93 |
94 |
95 |
96 |
97 | {{/puppets}}
98 |
99 |
100 | {{/characters}}
101 |
102 |
103 |
370 |
371 |
--------------------------------------------------------------------------------
/src/fumo_list.mustache:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Fumo List
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | Fumo List
16 |
17 |
18 | {{#characters}}
19 |
20 |
21 | {{#regular}}
22 |
23 |
24 | {{name}}
25 |
26 |
27 |
28 |
29 | Type: Regular Fumo
30 |
49 | {{#amiami_link}}
50 |
51 | AmiAmi Store Page
52 |
53 | {{/amiami_link}}
54 | {{^amiami_link}}
55 |
56 | AmiAmi store link unknown or not yet available.
57 | AmiAmi Search Link
58 |
59 | {{/amiami_link}}
60 | {{#gift_link}}
61 |
62 | Gift Store Page
63 |
64 | {{/gift_link}}
65 |
66 |
67 |
68 |
69 | {{/regular}}
70 | {{#straps}}
71 |
72 |
73 | Toy Strap - {{name}}
74 |
75 |
76 |
77 |
78 | Type: Toy Strap
79 |
95 | {{#amiami_link}}
96 |
97 | AmiAmi Store Page
98 |
99 | {{/amiami_link}}
100 | {{^amiami_link}}
101 |
102 | AmiAmi store link unknown or not yet available.
103 | AmiAmi Search Link
104 |
105 | {{/amiami_link}}
106 | {{#gift_link}}
107 |
108 | Gift Store Page
109 |
110 | {{/gift_link}}
111 |
112 |
113 |
114 |
115 | {{/straps}}
116 | {{#mannakas}}
117 |
118 |
119 | Mannaka - {{name}}
120 |
121 |
122 |
123 |
124 | Type: Mannaka Fumo
125 |
141 | {{#amiami_link}}
142 |
143 | AmiAmi Store Page
144 |
145 | {{/amiami_link}}
146 | {{^amiami_link}}
147 |
148 | AmiAmi store link unknown or not yet available.
149 | AmiAmi Search Link
150 |
151 | {{/amiami_link}}
152 | {{#gift_link}}
153 |
154 | Gift Store Page
155 |
156 | {{/gift_link}}
157 |
158 |
159 |
160 |
161 | {{/mannakas}}
162 | {{#dekas}}
163 |
164 |
165 | Deka - {{name}}
166 |
167 |
168 |
169 |
170 | Type: Deka Fumo
171 |
187 | {{#amiami_link}}
188 |
189 | AmiAmi Store Page
190 |
191 | {{/amiami_link}}
192 | {{^amiami_link}}
193 |
194 | AmiAmi store link unknown or not yet available.
195 | AmiAmi Search Link
196 |
197 | {{/amiami_link}}
198 | {{#gift_link}}
199 |
200 | Gift Store Page
201 |
202 | {{/gift_link}}
203 |
204 |
205 |
206 |
207 | {{/dekas}}
208 | {{#puppets}}
209 |
210 |
211 | Puppet - {{name}}
212 |
213 |
214 |
215 |
216 | Type: Puppet
217 |
233 | {{#amiami_link}}
234 |
235 | AmiAmi Store Page
236 |
237 | {{/amiami_link}}
238 | {{^amiami_link}}
239 |
240 | AmiAmi store link unknown or not yet available.
241 | AmiAmi Search Link
242 |
243 | {{/amiami_link}}
244 | {{#gift_link}}
245 |
246 | Gift Store Page
247 |
248 | {{/gift_link}}
249 |
250 |
251 |
252 |
253 | {{/puppets}}
254 |
255 | {{/characters}}
256 |
257 |
258 |
259 |
--------------------------------------------------------------------------------
/src/fumo_table.mustache:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Fumo Table
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | Fumo Table
16 |
17 |
18 |
19 | Character
20 | Regular Fumos
21 | Toy Straps
22 | Mannaka Fumos
23 | Deka Fumos
24 | Puppets
25 |
26 |
27 |
28 | {{#characters}}
29 |
30 | {{ch_name}}
31 |
32 | {{#regular}}
33 | {{name}}
34 | {{/regular}}
35 | {{^regular}}
36 |
37 | {{/regular}}
38 |
39 |
40 | {{#straps}}
41 | {{name}}
42 | {{/straps}}
43 | {{^straps}}
44 |
45 | {{/straps}}
46 |
47 |
48 | {{#mannakas}}
49 | {{name}}
50 | {{/mannakas}}
51 | {{^mannakas}}
52 |
53 | {{/mannakas}}
54 |
55 |
56 | {{#dekas}}
57 | {{name}}
58 | {{/dekas}}
59 | {{^dekas}}
60 |
61 | {{/dekas}}
62 |
63 |
64 | {{#puppets}}
65 | {{name}}
66 | {{/puppets}}
67 | {{^puppets}}
68 |
69 | {{/puppets}}
70 |
71 |
72 | {{/characters}}
73 |
74 |
75 |
76 |
77 |
--------------------------------------------------------------------------------
/src/index.mustache:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | Fumo Guides
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | Fumo Buying Guides
22 |
23 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 | Fumos are a line of high-quality plush character figures manufactured and sold by the Japanese
59 | company Gift . Fumos exist for multiple franchises,
60 | but most notably the Touhou Project .
61 | Touhou Fumos are designed by ANGELTYPE .
62 | Update: ANGELTYPE has changed their circle name to ROYALCAT since 2017.
63 |
64 |
65 |
66 | Fumos are generally difficult to purchase, even in Japan, due to their relative scarcity.
67 | Fumos are out-of-stock as a rule, and Gift typically only manufactures them twice a year, when
68 | they open for limited pre-orders. For most restocks, Gift does not ship outside of Japan; when they do, the sales go through the AmiAmi store.
69 |
70 |
71 |
72 | However, don't let that discourage you! With the helpful information on this site, you too can
73 | welcome a soft friend into your home.
74 |
75 |
76 |
77 | Frequently Asked Questions
78 |
79 | {{#faq}}
80 |
81 |
82 |
{{question}}
83 |
84 | {{#answer}}
85 | {{&.}}
86 | {{/answer}}
87 |
88 |
89 | {{/faq}}
90 |
91 |
92 |
93 |
101 |
102 |
103 |
104 |
105 |
--------------------------------------------------------------------------------
/src/index.scss:
--------------------------------------------------------------------------------
1 | html {
2 | width: 100%;
3 | height: 100%;
4 | }
5 |
6 | body {
7 | display: flex;
8 | margin: 0px;
9 | padding: 1.25rem;
10 | background-color: #F8F4E3;
11 | color: #2A2B2A;
12 | font-family: Verdana, Geneva, Tahoma, sans-serif;
13 | flex-direction: column;
14 | align-items: center;
15 | }
16 |
17 | img.github-banner {
18 | position: absolute;
19 | top: -5px;
20 | right: -5px;
21 | border: 0;
22 | z-index: 0;
23 | }
24 |
25 | .hidden {
26 | display: none !important;
27 | }
28 |
29 | #top-button-group {
30 | margin-top: 2rem;
31 | width: 100%;
32 | display: flex;
33 | flex-direction: row;
34 | justify-content: center;
35 | z-index: 100;
36 |
37 | a {
38 | flex: 1;
39 | margin-left: 1rem;
40 | margin-right: 1rem;
41 |
42 | div {
43 | text-align: center;
44 | display: flex;
45 | justify-content: center;
46 | align-items: center;
47 | }
48 | }
49 | }
50 |
51 | #body-text {
52 | margin-top: 1rem;
53 | width: 100%;
54 | justify-content: start;
55 | }
56 |
57 | #fumo-examples {
58 | margin-top: 2rem;
59 | display: flex;
60 | flex-direction: row;
61 | justify-content: center;
62 | width: 100%;
63 |
64 | img {
65 | border-radius: 1rem;
66 | margin-left: 1rem;
67 | margin-right: 1rem;
68 | max-width: 33%;
69 | }
70 | }
71 |
72 | #faq {
73 | margin-top: 2rem;
74 | border-radius: 1rem;
75 | }
76 |
77 | .faq-section {
78 | &:not(:nth-child(2)) {
79 | padding-top: 1rem;
80 | }
81 |
82 | > input[type=checkbox] {
83 | display: none;
84 |
85 | &:not(:checked) {
86 | ~ .faq-question:before {
87 | content: "\0ff0b";
88 | }
89 |
90 | ~ .faq-answer {
91 | display: none;
92 | }
93 | }
94 |
95 | &:checked {
96 | ~ .faq-question:before {
97 | content: "\0ff0d";
98 | }
99 |
100 | ~ .faq-answer {
101 | display: block;
102 | }
103 | }
104 | }
105 |
106 | > .faq-question {
107 | user-select: none;
108 | cursor: pointer;
109 |
110 | &:before {
111 | min-width: 1.5rem;
112 | max-width: 1.5rem;
113 | }
114 | }
115 |
116 | .faq-answer {
117 | margin-top: 0.15rem;
118 | margin-left: 2rem;
119 |
120 | ul {
121 | margin-top: 0px;
122 | padding-left: 0px;
123 | margin-bottom: 0px;
124 | }
125 | }
126 | }
127 |
128 | table {
129 | margin-top: 1rem;
130 | table-layout: fixed;
131 | width: 100%;
132 | border-collapse: collapse;
133 | border: 3px solid black;
134 | margin-bottom: 1rem;
135 |
136 | caption {
137 | font-size: larger;
138 | padding-bottom: 0.5rem;
139 | }
140 |
141 | th {
142 | background-color: #F8F4E3;
143 | position: sticky;
144 | top: -3px;
145 | z-index: -100;
146 | }
147 |
148 |
149 | td, th {
150 | text-align: center;
151 | padding: 0.5rem;
152 |
153 | &.left {
154 | text-align: left;
155 | }
156 | }
157 |
158 | & td, & th {
159 | padding: 1rem;
160 | }
161 | }
162 |
163 | .vertical-list {
164 | display: inline-block;
165 | &:not(:first-child) {
166 | margin-top: 0.5rem;
167 | }
168 | }
169 |
170 | table.striped {
171 | tbody tr {
172 | &:nth-child(even) {
173 | background-color: #F8F4E3;
174 | }
175 |
176 | &:nth-child(odd) {
177 | background-color: #706C61;
178 | color: #F8F4E3;
179 | }
180 | }
181 | }
182 |
183 | table.checkered {
184 | tbody tr {
185 | &:nth-child(even) td {
186 | &:nth-child(even) {
187 | background-color: #F8F4E3;
188 | }
189 |
190 | &:nth-child(odd) {
191 | background-color: #706C61;
192 | color: #F8F4E3;
193 | }
194 | }
195 |
196 | &:nth-child(odd) td {
197 | &:nth-child(odd) {
198 | background-color: #F8F4E3;
199 | }
200 |
201 | &:nth-child(even) {
202 | background-color: #706C61;
203 | color: #F8F4E3;
204 | }
205 | }
206 | }
207 | }
208 |
209 | #storefront-list {
210 | width: 100%;
211 | display: flex;
212 | flex-direction: row;
213 | margin-top: 1rem;
214 |
215 | > ul {
216 | margin-top: 0;
217 | flex: 1;
218 |
219 | &:first-child {
220 | border-right: 1px solid black;
221 | }
222 |
223 | > li > a {
224 | display: block;
225 | }
226 | }
227 | }
228 |
229 | #fumo-list {
230 | width: 100%;
231 | display: flex;
232 | flex-direction: column;
233 |
234 | ul {
235 | margin-top: 0;
236 | }
237 | }
238 |
239 | input[id="hide-obtained"].checklist-control {
240 | &:checked {
241 | &~ .checklist-controls label[for="hide-obtained"] {
242 | &::before {
243 | content: "✔️"
244 | }
245 |
246 | border-color: green;
247 | background-color: lightgreen;
248 | }
249 |
250 | &~ #fumo-checklist input.checklist-checkbox:checked + li {
251 | display: none;
252 | }
253 | }
254 |
255 | &:not(:checked) ~ .checklist-controls label[for="hide-obtained"] {
256 | &::before {
257 | content: "❌"
258 | }
259 |
260 | border-color: red;
261 | }
262 | }
263 |
264 | input[id="hide-unobtained"].checklist-control {
265 | &:checked {
266 | &~ .checklist-controls label[for="hide-unobtained"] {
267 | border-color: green;
268 | background-color: lightgreen;
269 |
270 | &::before {
271 | content: "✔️"
272 | }
273 | }
274 |
275 | &~ #fumo-checklist input.checklist-checkbox:not(:checked) + li {
276 | display: none;
277 | }
278 | }
279 |
280 | &:not(:checked) ~ .checklist-controls label[for="hide-unobtained"] {
281 | border-color: red;
282 |
283 | &::before {
284 | content: "❌"
285 | }
286 | }
287 | }
288 |
289 | .checklist-controls {
290 | display: flex;
291 | flex-direction: column;
292 | justify-content: space-evenly;
293 | align-items: center;
294 |
295 | div {
296 | flex: 1;
297 |
298 | &:first-child {
299 | margin-bottom: 1rem;
300 | }
301 |
302 | label {
303 | user-select: none;
304 | border: 1px solid;
305 | border-radius: 0.3rem;
306 | padding: 0.3rem;
307 | cursor: pointer;
308 | }
309 |
310 | span {
311 | border: 1px solid black;
312 | border-radius: 0.3rem;
313 | padding: 0.3rem;
314 | user-select: none;
315 | cursor: pointer;
316 | }
317 | }
318 | }
319 |
320 |
321 |
322 | #fumo-checklist {
323 | width: 100%;
324 | display: flex;
325 | flex-flow: row wrap;
326 | justify-content: space-evenly;
327 | row-gap: 1rem;
328 |
329 | ul {
330 | display: inline-block;
331 | list-style-type: none;
332 | padding-left: 0px;
333 |
334 | li {
335 | padding: 0.3rem;
336 |
337 | label {
338 | cursor: pointer;
339 | }
340 | }
341 | }
342 |
343 | input.checklist-checkbox:checked + li div.checklist-item {
344 | border: 2px solid green;
345 | background-color: lightgreen;
346 | }
347 |
348 | input.checklist-checkbox:not(:checked) + li div.checklist-item {
349 | border: 2px solid red;
350 | }
351 |
352 | .checklist-character {
353 | flex: 1 0 21%;
354 | border-bottom: 2px solid black;
355 | user-select: none;
356 |
357 | .checklist-item {
358 | border-radius: 0.3rem;
359 | padding-left: 1rem;
360 | padding-right: 1rem;
361 | padding-top: 0.3rem;
362 | padding-bottom: 0.3rem;
363 |
364 | h5 {
365 | margin-top: 0.3rem;
366 | }
367 |
368 | img {
369 | width: 5rem;
370 | }
371 | }
372 | }
373 | }
374 |
375 | .list-entry {
376 | display: flex;
377 | flex-direction: row;
378 |
379 | img {
380 | max-height: 20rem;
381 | }
382 |
383 | div {
384 | flex: 1;
385 | padding-left: 2rem;
386 |
387 | ul {
388 | list-style: disc;
389 | padding-left: 2rem;
390 |
391 | li {
392 | padding-bottom: 0.4rem;
393 | }
394 | }
395 | }
396 |
397 | .rarity {
398 | &[data-rarity=Common]:after {
399 | content: " (always in stock)";
400 | }
401 |
402 | &[data-rarity=Uncommon]:after {
403 | content: " (usually in stock)";
404 | }
405 |
406 | &[data-rarity=Rare]:after {
407 | content: " (not always in stock)";
408 | }
409 |
410 | &[data-rarity="Super Rare"]:after {
411 | content: " (rarely in stock; might have to wait before any show up)";
412 | }
413 |
414 | &[data-rarity="Super Super Rare"]:after {
415 | content: " (practically never in stock)";
416 | }
417 | }
418 |
419 | .second-hand-cost {
420 | &[data-second-hand-cost=Normal]:after {
421 | content: " (price tends to be the same as other fumos of the same type)";
422 | }
423 |
424 | &[data-second-hand-cost=High]:after {
425 | content: " (price tends to be higher than other fumos of the same type)";
426 | }
427 |
428 | &[data-second-hand-cost="Very High"]:after {
429 | content: " (price tends to be significantly higher than other fumos of the same type)";
430 | }
431 | }
432 | }
433 |
434 |
435 | .comma-separated {
436 | &:not(:last-child):after {
437 | content: ", ";
438 | user-select: text;
439 | }
440 |
441 | &:last-child:not(:first-child):not(:nth-child(2)):before {
442 | content: "and ";
443 | user-select: text;
444 | }
445 | }
446 |
447 | .jp {
448 | &:not(:last-child):after {
449 | content: "、";
450 | }
451 |
452 | user-select: all;
453 | }
454 |
455 | .button {
456 | display: flex;
457 | flex-direction: row;
458 | justify-content: center;
459 | background-color: #706C61;
460 | border: 3px solid #2A2B2A;
461 | padding: 2rem;
462 | color: #F8F4E3 !important;
463 | transition: background-color 0.3s ease;
464 | text-decoration: none;
465 | border-radius: 1rem;
466 | }
467 |
468 | .button:hover {
469 | background-color: #2a2b2a;
470 | }
471 |
472 | h1 {
473 | margin: 0px;
474 | }
475 |
476 | p {
477 | width: 100%;
478 | justify-content: start;
479 | }
480 |
481 | a {
482 | color: inherit;
483 | }
484 |
485 | a:visited {
486 | color: inherit;
487 | }
488 |
489 | legend {
490 | background-color: #706C61;
491 | color: #F8F4E3;
492 | padding: 0.5rem;
493 | border-radius: 0.3rem;
494 | }
--------------------------------------------------------------------------------
/src/japanese.mustache:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | FUMO
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | Helpful Japanese Phrases
16 |
17 |
18 | Keywords
19 |
20 |
21 | English
22 | Japanese (Most Common)
23 | Japanese (Alt. Forms)
24 |
25 |
26 |
27 | {{#japanese.keywords}}
28 |
29 | {{en}}
30 | {{jp}}
31 |
32 | {{#jp_alt}}
33 | {{.}}
34 | {{/jp_alt}}
35 |
36 |
37 | {{/japanese.keywords}}
38 |
39 |
40 |
41 |
42 | Some online storefronts require you to enter your own name and will only accept Japanese characters.
43 | This site can help - it will phonetically
44 | translate your name into katakana, one of the two Japanese syllabaries.
45 |
46 |
47 |
48 | Form Fields
49 |
50 |
51 | Japanese (Most Common)
52 | Japanese (Alt. Forms)
53 | English
54 |
55 |
56 |
57 | {{#japanese.form_elements}}
58 |
59 | {{jp}}
60 |
61 | {{#jp_alt}}
62 | {{.}}
63 | {{/jp_alt}}
64 |
65 | {{en}}
66 |
67 | {{/japanese.form_elements}}
68 |
69 |
70 |
71 |
72 | Names are given in the original order ZUN used. For Japanese names like Hakurei Reimu, that
73 | means the family name comes first. For Western names like Alice Margatroid, the given name comes first.
74 |
75 |
76 | Characters
77 |
78 |
79 | English
80 | Japanese (Most Common)
81 | Japanese (Alt. Forms)
82 |
83 |
84 |
85 | {{#japanese.characters}}
86 |
87 | {{en}}
88 | {{jp}}
89 |
90 | {{#jp_alt}}
91 | {{.}}
92 | {{/jp_alt}}
93 |
94 |
95 | {{/japanese.characters}}
96 |
97 |
98 |
99 |
--------------------------------------------------------------------------------
/src/proxy_forward.mustache:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Proxies and Forwarders
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | Proxies and Forwarders
16 |
17 |
18 | Many Japanese companies (including Gift and various resellers and storefronts)
19 | don't want to deal with shipping outside of Japan, for various reasons. However,
20 | people outside of Japan can still order from them through the use of a proxy
21 | or a forwarder. Keep in mind that, depending on your country, you may have to pay
22 | import taxes, customs, or other fees.
23 |
24 |
25 |
26 | A forwarder provides a package forwarding service. They will provide you a Japanese
27 | address (similar to a P.O. box in the United States) for you to have goods shipped to, and
28 | will forward any packages that arrive at that address to your real, overseas address. Some
29 | forwarders also provide package consolidation services that can saving on shipping and customs
30 | costs. Note: to comply with Japanese anti-gang laws, forwarders will require you to demonstrate
31 | proof of address and identity before actually forwarding your package. Typically, this is a
32 | photo of your ID and a bill with your name and address.
33 |
34 |
35 | A proxy is similar to a forwarder, except that they will place the online order for you.
36 | Typically, you provide a link to the item you want to buy and a brief description of the item,
37 | and then the proxy provides status updates as the order/delivery process proceeds. Many proxies
38 | require a deposit. Some storefronts refuse to do business with proxy services, although Gift is
39 | not known to turn away proxies.
40 |
41 |
42 |
43 | Pros and Cons of Proxies and Forwarders
44 |
45 |
46 | Proxies
47 | Forwarders
48 |
49 |
50 | Pros
51 | Cons
52 | Pros
53 | Cons
54 |
55 |
56 |
57 |
58 | Simple - minimal knowledge of Japanese needed.
59 | Unreliable - may fail to place an order if volume is too high or auction is too competitive.
60 | Reliable - you have full control over placing the order.
61 | Complex - requires some understanding of Japanese addresses.
62 |
63 |
64 | If you can't pay directly, a proxy may offer alternate payment systems.
65 | Tends to be more expensive than a forwarder.
66 | Tends to be cheaper than a proxy.
67 | Requires verifying your identity to satisfy Japanese anti-gang laws.
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 | The following is a partial list of Proxy and Forwarding services, with some basic information about each.
76 | Note: fees do not include shipping costs, since they vary dramatically based on destination and store.
77 | Please keep in mind that there are two shipping costs: one from the seller to the proxy/forwarder,
78 | and one from the proxy/forwarder to you.
79 |
80 |
81 | This information is not guaranteed to be correct or up-to-date, but please let us know if it's wrong.
82 | Fees do not include shipping costs.
83 |
84 |
85 |
86 | Forwarders
87 |
88 |
89 | Name
90 | Cost per Package
91 | Consolidation Fees
92 | Notes
93 |
94 |
95 |
96 | {{#forwarders}}
97 |
98 | {{name}}
99 | {{per_package}}
100 | {{consolidation}}
101 | {{¬es}}
102 |
103 | {{/forwarders}}
104 |
105 |
106 |
107 |
108 | Sniper Bids are bids placed close to the end of an auction.
109 | Costs per order are often reduced when ordering multiple items from the same seller in a 24 hour period.
110 | Check the individual sites for more information.
111 |
112 |
113 | Proxies
114 |
115 |
116 | Name
117 | Cost per Order
118 | Other Fees
119 | Consolidation Fees
120 | Guaranteed Sniper Bid Timing
121 | Notes
122 |
123 |
124 |
125 | {{#proxies}}
126 |
127 | {{name}}
128 | {{per_order}}
129 | {{other_fees}}
130 | {{consolidation}}
131 | {{sniper_bids}}
132 | {{¬es}}
133 |
134 | {{/proxies}}
135 |
136 |
137 |
138 |
--------------------------------------------------------------------------------
/src/reseller.mustache:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Fumo Resellers and Storefronts
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | Fumo Resellers and Storefronts
16 | Spotting Bootlegs
17 |
18 | All official Fumos originally came with either a tag or a tin badge. If that is missing, that could be
19 | a sign of a bootleg (although it's possible the seller lost the tag or badge, or bought it from someone
20 | else who originally lost the tag or badge). A missing tag will generally lower the price too.
21 |
22 |
23 | Keep in mind that Fumos originally sell for around $40 (or around $500 for a Deka). If you see a price
24 | lower than that, it's very likely to be a bootleg or other fraudulent listing.
25 |
26 |
27 | Look at the photos in the listing. Try reverse image searching them to make sure they're unique.
28 | If the Fumo looks particularly derpy, it's probably a bootleg. You can compare against the stock
29 | photos in our Fumo List .
30 |
31 |
32 | There are some bootleg Deka Fumos with very long legs (the originals have the same stubby legs as their
33 | smaller counterparts).
34 |
35 |
36 | Commonly Used Resellers and Storefronts
37 |
73 |
74 |
75 |
--------------------------------------------------------------------------------