Homebrew [Announcement] TitleDB.com - 3DS Homebrew Title Database

ksanislo

Well-Known Member
OP
Member
Joined
Feb 23, 2016
Messages
386
Trophies
0
Location
Seattle, WA
XP
512
Country
United States
Hm, does TDB has DSiWare homebrew CIA support?
It does now! However, there are bigger issues with NTR_Launcher due to the .cia not containing an SMDH icon which throws off my offset calculations... Things will have to be rewritten to not use a hard offset, so it'll take some time to fix.

EDIT: After doing a bit more digging, it seems there are some fundamental differences in DSiWare .cia files vs standard ones, and there's not going to be any good way to support them in the current version. Support will be enabled with the /v1 rewrite since that will provide a way to manage all of the nonexistent data fields.
 
Last edited by ksanislo,
  • Like
Reactions: ahezard

Xana

Well-Known Member
Newcomer
Joined
Mar 2, 2016
Messages
73
Trophies
0
XP
253
Country
United States
the InputProc program with titleid 0004000000123400 is back (the one that conflicts with Persona Q)
 

ksanislo

Well-Known Member
OP
Member
Joined
Feb 23, 2016
Messages
386
Trophies
0
Location
Seattle, WA
XP
512
Country
United States
the InputProc program with titleid 0004000000123400 is back (the one that conflicts with Persona Q)
Supposedly Homebr3w has made some changes that will produce a warning when replacing a title that it doesn't know about already. I don't want to blacklist a legitimate program for a titleID conflict, since these sorts of things are bound to happen from time to time. The correct course of action would be to get ahold of the maintainer of the fork with the problem (https://github.com/Kazo/InputRedirection/) and file it as a bug report on their end, as that's where the trouble comes from.
 

ksanislo

Well-Known Member
OP
Member
Joined
Feb 23, 2016
Messages
386
Trophies
0
Location
Seattle, WA
XP
512
Country
United States
Hi,
I'm the original dev of inputredirection (https://github.com/Stary2001/InputRedirection) and an updated release has been out for a while with a fixed title-id (unique id 0x1234 was already used, go figure)
I'll email Kazo and see if i can get them to nuke the broken release.
Thanks... I've delisted the incorrect entry again, if you can get it removed so people can't continue to add it, that would be great.
 

ksanislo

Well-Known Member
OP
Member
Joined
Feb 23, 2016
Messages
386
Trophies
0
Location
Seattle, WA
XP
512
Country
United States
I don't know if it's Homebr3w's or this site's fault, but RGB by @MarcusD always has an update on Homebr3w.

This is actually a bug triggered due to RGB being linked from inside the repo instead of as a GitHub release. Since the servers behind https://raw.githubusercontent.com/ don't provide a header for "Last-Modified" (aka mtime) and the file isn't inside an archive that provides an mtime, there's no way to identify when a new release has been made.

I've got a way to work around this in the new version of the API, but it's not really worth the effort to hack it into the current version that's going to be replaced.

You can file a bug report with @MarcusD and see if he'll host those two tools as proper releases on GitHub, as that would resolve the issue in the interim.
 

ksanislo

Well-Known Member
OP
Member
Joined
Feb 23, 2016
Messages
386
Trophies
0
Location
Seattle, WA
XP
512
Country
United States
Two of the TitleDB.com nameservers have been configured to block updates for the Wii U and allow open use from the internet.

Los Angeles, USA: 168.235.092.108
Alblasserdam, NL: 081.004.127.020

The first post has been updated with further information about this service.
 

ksanislo

Well-Known Member
OP
Member
Joined
Feb 23, 2016
Messages
386
Trophies
0
Location
Seattle, WA
XP
512
Country
United States
The rewrite of the titledb API has reached a point where it's at least as useful as the original version, so Ive swapped it into production. The API source code is available from https://github.com/ksanislo/TitleDB/ if anyone wants to take a look at all the new features. Since there's no web interface for most of it, it's basically useless unless you're a developer, but the backend now offers listing for .3dsx/.xml/.smdh as well as raw ARM9 binaries as used by A9LH or Brahma. If you add a GitHub repo or archive to the website that contains these files, they will be indexed into the system.
 
  • Like
Reactions: erman1337

PRAGMA

Well-Known Member
Member
Joined
Dec 29, 2015
Messages
2,258
Trophies
1
Location
Ireland
Website
github.com
XP
5,038
Country
Ireland
The rewrite of the titledb API has reached a point where it's at least as useful as the original version, so Ive swapped it into production. The API source code is available from https://github.com/ksanislo/TitleDB/ if anyone wants to take a look at all the new features. Since there's no web interface for most of it, it's basically useless unless you're a developer, but the backend now offers listing for .3dsx/.xml/.smdh as well as raw ARM9 binaries as used by A9LH or Brahma. If you add a GitHub repo or archive to the website that contains these files, they will be indexed into the system.
Could you PLEASE add a "info": "<thread/github page>" in the /v1 api so that in my site I can link an info button to each of the icons?
 

ksanislo

Well-Known Member
OP
Member
Joined
Feb 23, 2016
Messages
386
Trophies
0
Location
Seattle, WA
XP
512
Country
United States
Could you PLEASE add a "info": "<thread/github page>" in the /v1 api so that in my site I can link an info button to each of the icons?

You would want to look at the /v1/entry list, that's the main collection which all binaries associate with, they're auto-defined with some basic info that is extracted from either the smdh icon file or the CIA, but they really need to be manually edited via the as-of-yet unwritten Web UI to be useful. The file collections /v1/cia, tdsx, smdh, xml, and arm9 can only contain info that is directly extracted from the link/files themselves.
 
  • Like
Reactions: PRAGMA

PRAGMA

Well-Known Member
Member
Joined
Dec 29, 2015
Messages
2,258
Trophies
1
Location
Ireland
Website
github.com
XP
5,038
Country
Ireland
You would want to look at the /v1/entry list, that's the main collection which all binaries associate with, they're auto-defined with some basic info that is extracted from either the smdh icon file or the CIA, but they really need to be manually edited via the as-of-yet unwritten Web UI to be useful. The file collections /v1/cia, tdsx, smdh, xml, and arm9 can only contain info that is directly extracted from the link/files themselves.
I see you took down /v0 - But im kinda confused in /v1/entry it doesnt contain the download link anymore?
Also the TitleID is gone too :l

--------------------- MERGED ---------------------------

Oh, I see how it works - You basically do /v1/cia/<id of app>
Ok - But thats gonna cause a lot of issues the way I was parsing the JSON - Couldnt you just jeep /v0 up as Legacy?

--------------------- MERGED ---------------------------

And "I'm leaning toward /cia/{id}/icon_l.{format} for providing the icon_l entry encoded into the specified format (e.g. /cia/44/icon_s.png or /smdh/7/icon_s.gif)"
Yes - Definitely go like this, Wasnt it already like that anyway but instead using TitleID's? You should stick with using TitleID's to find icons etc its much much better

--------------------- MERGED ---------------------------

http://dev.titledb.com/v0/
works
but without the trailing slash it doesnt odd.
Yeah - This v0 api is much better for my project, All it needs is a Info link to a thread or Github page in the same JSON file.

--------------------- MERGED ---------------------------

Oh! My bad! http://dev.titledb.com/v1/entry?nes...ude=tdsx.smdh.icon_l&exclude=tdsx.smdh.icon_s
This works perfect this whole nested=true and I can exclude stuff to make it load faster awesome!
Just one question - How the FUCK am I meant to parse the icon? Is that Base64PNG or something?
 
Last edited by PRAGMA,

ksanislo

Well-Known Member
OP
Member
Joined
Feb 23, 2016
Messages
386
Trophies
0
Location
Seattle, WA
XP
512
Country
United States
I see you took down /v0 - But im kinda confused in /v1/entry it doesnt contain the download link anymore?
Also the TitleID is gone too :l

--------------------- MERGED ---------------------------

Oh, I see how it works - You basically do /v1/cia/<id of app>
Ok - But thats gonna cause a lot of issues the way I was parsing the JSON - Couldnt you just jeep /v0 up as Legacy?

--------------------- MERGED ---------------------------

And "I'm leaning toward /cia/{id}/icon_l.{format} for providing the icon_l entry encoded into the specified format (e.g. /cia/44/icon_s.png or /smdh/7/icon_s.gif)"
Yes - Definitely go like this, Wasnt it already like that anyway but instead using TitleID's? You should stick with using TitleID's to find icons etc its much much better

--------------------- MERGED ---------------------------

http://dev.titledb.com/v0/
works
but without the trailing slash it doesnt odd.
Yeah - This v0 api is much better for my project, All it needs is a Info link to a thread or Github page in the same JSON file.

--------------------- MERGED ---------------------------

Oh! My bad! http://dev.titledb.com/v1/entry?nes...ude=tdsx.smdh.icon_l&exclude=tdsx.smdh.icon_s
This works perfect this whole nested=true and I can exclude stuff to make it load faster awesome!
Just one question - How the FUCK am I meant to parse the icon? Is that Base64PNG or something?

The icon is a raw SMDH bitmap. You can find some docs on 3dsbrew for the format, but there will be a better /v1/cia/{id}/icon_l.png (or other format) soon. I just only put up the /v0/ emulation icons for the moment.
 
  • Like
Reactions: PRAGMA

ksanislo

Well-Known Member
OP
Member
Joined
Feb 23, 2016
Messages
386
Trophies
0
Location
Seattle, WA
XP
512
Country
United States
The icon is a raw SMDH bitmap. You can find some docs on 3dsbrew for the format, but there will be a better /v1/cia/{id}/icon_l.png (or other format) soon. I just only put up the /v0/ emulation icons for the moment.

If you have any suggestions about how you'd like things presented, feel free to open an issue on the GitHub repo. I'm more than willing to revise how /v1/ works still, since none of it is officially set in stone until I have a web interface that makes proper use of it. The file collection entries should be basically static at this point, but /v1/entry and /v1/assets are both still somewhat undecided and may still have some of their data fields added/removed/renamed before the new API /v1/ can be considered ready for production use.
 
Last edited by ksanislo,

ksanislo

Well-Known Member
OP
Member
Joined
Feb 23, 2016
Messages
386
Trophies
0
Location
Seattle, WA
XP
512
Country
United States
So, there's a bit of a database locking/performance issue with the currently deployed production codebase. If you're experiencing delays of 15-30 seconds on requests at times, this is the cause of it. I'm working on converting to a more robust database, as sqlite3 just can't quite handle the task.
 

ksanislo

Well-Known Member
OP
Member
Joined
Feb 23, 2016
Messages
386
Trophies
0
Location
Seattle, WA
XP
512
Country
United States
I've rolled production back to the 'v0' CGI style codebase for the moment, the DB locking problem in the WSGI rewrite is just too severe to leave around and I likely won't have time to properly find a real solution for at least a few more days. For anyone wanting to utilize the v1 api for development, you can use dev.titledb.com for now instead.
 

sorabora

Well-Known Member
Member
Joined
Dec 8, 2016
Messages
368
Trophies
0
XP
1,510
Country
United States
I've googled a couple times - is there any place that explains what these apps do? Certainly some are self explanatory or are well known, but many I'd like to know and there is simply no information.

Thanks!
 

TheCruel

Developer
Banned
Joined
Dec 6, 2013
Messages
1,350
Trophies
2
XP
3,131
Country
United States
It says that Content-Range isn't support when I try to add: http://get.freeshop.pw/latest

However, when I check it:

Code:
$ curl -H Range:bytes=16-32 -I http://get.freeshop.pw/latest
Code:
HTTP/1.1 206 Partial Content
Date: Thu, 05 Jan 2017 00:18:24 GMT
Content-Type: application/octet-stream
Content-Length: 17
Connection: keep-alive
Set-Cookie: __cfduid=d554fda8e858d8d65eae7c7627b3cb07f1483575504; expires=Fri, 05-Jan-18 00:18:24 GMT; path=/; domain=.freeshop.pw; HttpOnly
Last-Modified: Wed, 04 Jan 2017 23:12:42 GMT
ETag: "3123c0-5454cebf3ae80"
Content-Disposition: attachment; filename=freeShop-latest.cia
CF-Cache-Status: HIT
Expires: Thu, 05 Jan 2017 04:18:24 GMT
Cache-Control: public, max-age=14400
Content-Range: bytes 16-32/3220416
Server: cloudflare-nginx
CF-RAY: 31c2c0b9228d2e7b-MIA
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: Sigh