├── .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 | "" 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 | "" 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 | Fork me on GitHub 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 | 28 | 29 | 30 | 31 |
32 |
33 | 34 | 35 |
36 |
37 | ⚠️ Reset checklist 38 | 🔗 Share checklist 39 |
40 |
41 | 42 | 48 | 49 |
50 | {{#characters}} 51 |
52 |

{{ch_name}}

53 | 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 | Fork me on GitHub 13 | 14 | 15 |

Fumo List

16 | 17 |
18 | {{#characters}} 19 |

{{ch_name}}

20 | 255 | {{/characters}} 256 |
257 | 258 | 259 | -------------------------------------------------------------------------------- /src/fumo_table.mustache: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Fumo Table 7 | 8 | 9 | 10 | 11 | 12 | Fork me on GitHub 13 | 14 | 15 |

Fumo Table

16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | {{#characters}} 29 | 30 | 31 | 39 | 47 | 55 | 63 | 71 | 72 | {{/characters}} 73 | 74 |
CharacterRegular FumosToy StrapsMannaka FumosDeka FumosPuppets
{{ch_name}} 32 | {{#regular}} 33 | {{name}}
34 | {{/regular}} 35 | {{^regular}} 36 |   37 | {{/regular}} 38 |
40 | {{#straps}} 41 | {{name}}
42 | {{/straps}} 43 | {{^straps}} 44 |   45 | {{/straps}} 46 |
48 | {{#mannakas}} 49 | {{name}}
50 | {{/mannakas}} 51 | {{^mannakas}} 52 |   53 | {{/mannakas}} 54 |
56 | {{#dekas}} 57 | {{name}}
58 | {{/dekas}} 59 | {{^dekas}} 60 |   61 | {{/dekas}} 62 |
64 | {{#puppets}} 65 | {{name}}
66 | {{/puppets}} 67 | {{^puppets}} 68 |   69 | {{/puppets}} 70 |
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 | Fork me on GitHub 19 | 20 | 21 |

Fumo Buying Guides

22 | 23 |
24 | 25 |
26 | Fumo Table 27 |
28 |
29 | 30 |
31 | Fumo Checklist 32 |
33 |
34 | 35 |
36 | Helpful Japanese Phrases 37 |
38 |
39 | 40 |
41 | Proxies and Forwarders 42 |
43 |
44 | 45 |
46 | Reseller and Storefront Guide 47 |
48 |
49 |
50 | 51 |
52 | An image of a Reimu fumo 53 | An image of a Marisa fumo 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 | 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 | Fork me on GitHub 13 | 14 | 15 |

Helpful Japanese Phrases

16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | {{#japanese.keywords}} 28 | 29 | 30 | 31 | 36 | 37 | {{/japanese.keywords}} 38 | 39 |
Keywords
EnglishJapanese (Most Common)Japanese (Alt. Forms)
{{en}} 32 | {{#jp_alt}} 33 | 34 | {{/jp_alt}} 35 |
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 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | {{#japanese.form_elements}} 58 | 59 | 60 | 65 | 66 | 67 | {{/japanese.form_elements}} 68 | 69 |
Form Fields
Japanese (Most Common)Japanese (Alt. Forms)English
61 | {{#jp_alt}} 62 | 63 | {{/jp_alt}} 64 | {{en}}
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 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | {{#japanese.characters}} 86 | 87 | 88 | 89 | 94 | 95 | {{/japanese.characters}} 96 | 97 |
Characters
EnglishJapanese (Most Common)Japanese (Alt. Forms)
{{en}} 90 | {{#jp_alt}} 91 | 92 | {{/jp_alt}} 93 |
98 | 99 | -------------------------------------------------------------------------------- /src/proxy_forward.mustache: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Proxies and Forwarders 7 | 8 | 9 | 10 | 11 | 12 | Fork me on GitHub 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 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 |
Pros and Cons of Proxies and Forwarders
ProxiesForwarders
ProsConsProsCons
Simple - minimal knowledge of Japanese needed.Unreliable - may fail to place an order if volume is too high or auction is too competitive.Reliable - you have full control over placing the order.Complex - requires some understanding of Japanese addresses.
If you can't pay directly, a proxy may offer alternate payment systems.Tends to be more expensive than a forwarder.Tends to be cheaper than a proxy.Requires verifying your identity to satisfy Japanese anti-gang laws.
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 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | {{#forwarders}} 97 | 98 | 99 | 100 | 101 | 102 | 103 | {{/forwarders}} 104 | 105 |
Forwarders
NameCost per PackageConsolidation FeesNotes
{{name}}{{per_package}}{{consolidation}}{{¬es}}
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 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | {{#proxies}} 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | {{/proxies}} 135 | 136 |
Proxies
NameCost per OrderOther FeesConsolidation FeesGuaranteed Sniper Bid TimingNotes
{{name}}{{per_order}}{{other_fees}}{{consolidation}}{{sniper_bids}}{{¬es}}
137 | 138 | -------------------------------------------------------------------------------- /src/reseller.mustache: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Fumo Resellers and Storefronts 7 | 8 | 9 | 10 | 11 | 12 | Fork me on GitHub 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 |
38 | 55 | 72 |
73 | 74 | 75 | --------------------------------------------------------------------------------