diff --git a/api/controllers/ApiController.js b/api/controllers/ApiController.js index ede9dcc..eb286ae 100644 --- a/api/controllers/ApiController.js +++ b/api/controllers/ApiController.js @@ -78,7 +78,7 @@ module.exports = { res.set({ 'Content-Type': "application/octet-stream" }); - response.data.pipe(res); + response.data.pipe(res).status(200).end(); }, ias: async function (req, res) { @@ -88,7 +88,7 @@ module.exports = { res.set({ 'Content-Type': "application/octet-stream" }); - response.data.pipe(res); + response.data.pipe(res).status(200).end(); }, @@ -100,7 +100,7 @@ module.exports = { res.set({ 'Content-Type': "application/octet-stream" }); - response.data.pipe(res); + response.data.pipe(res).status(200).end(); }, lightSwitchbulk: function(req, res){ diff --git a/api/controllers/AuthController.js b/api/controllers/AuthController.js index bc81ab1..52afc44 100644 --- a/api/controllers/AuthController.js +++ b/api/controllers/AuthController.js @@ -155,6 +155,10 @@ module.exports = { }, tokenInfo: function(req, res){ - res.status(200) + res.status(204) + }, + + publicKey: function(req, res){ + res.status(204) } } \ No newline at end of file diff --git a/api/controllers/FortniteGameController.js b/api/controllers/FortniteGameController.js index ab14662..5cc4776 100644 --- a/api/controllers/FortniteGameController.js +++ b/api/controllers/FortniteGameController.js @@ -171,6 +171,30 @@ module.exports = { res.json(data); }, + contentHash: function(req, res){ + res.json({ + "sessionId": req.body.sessionId, + "sessionStartTimestamp": req.body.sessionStartTimestamp, + "surfaces": [ + { + "surfaceId": "br-motd", + "contentMeta": [ + "{\"c93adbc7a8a9f94a916de62aa443e2d6\":[\"93eff180-1465-496e-9be4-c02ef810ad82\"]}" + ], + "events": [ + { + "contentHash": "c93adbc7a8a9f94a916de62aa443e2d6", + "type": "impression", + "count": 1, + "timestamp": "2023-12-03T10:17:41.387Z", + "lastTimestamp": "2023-12-03T10:17:41.387Z" + } + ] + } + ] + }) + }, + motd: function(req, res){ res.json({ "contentType": "collection", diff --git a/config/apiRoutes.js b/config/apiRoutes.js index ea89e09..71cce11 100644 --- a/config/apiRoutes.js +++ b/config/apiRoutes.js @@ -91,6 +91,7 @@ module.exports.routes = { 'GET /content/api/pages/fortnite-game/eventscreens': 'FortniteGameController.eventScreen', 'GET /:trackdata': 'ApiController.trackData', 'POST /api/v1/fortnite-br/surfaces/:gameMode/target': 'FortniteGameController.motd', + 'POST /api/v1/fortnite-br/interactions/contentHash': 'FortniteGameController.contentHash', 'POST /api/v1/user/setting': 'UserController.userSetting', 'ALL /v1/epic-settings/public/users/:accountId/*':{ action: "epicSettings", diff --git a/config/authRoutes.js b/config/authRoutes.js index ac9510f..51495e4 100644 --- a/config/authRoutes.js +++ b/config/authRoutes.js @@ -12,7 +12,8 @@ module.exports.routes = { }, 'GET /account/api/public/account/': 'AuthController.publicAccount', 'GET /account/api/public/account/:accountId/externalAuths': 'AuthController.externalAuths', - 'GET /epic/oauth/v2/tokenInfo': 'AuthController.tokenInfo' + 'POST /epic/oauth/v2/tokenInfo': 'AuthController.tokenInfo', + 'POST /publickey/v2/publickey': 'AuthController.publicKey' } \ No newline at end of file diff --git a/config/http.js b/config/http.js index 078db59..9613eb8 100644 --- a/config/http.js +++ b/config/http.js @@ -50,7 +50,7 @@ module.exports.http = { res.on('finish', () => { const endTime = new Date(); const responseTime = endTime - startTime; - if (req.originalUrl === "/fortnite/api/calendar/v1/timeline") { + if (req.originalUrl === "/fortnite/api/calendar/v1/timeline") { } else { diff --git a/responses/keychain.json b/responses/keychain.json index 8770b26..e0cbde0 100644 --- a/responses/keychain.json +++ b/responses/keychain.json @@ -1434,4 +1434,18 @@ "2BA50BEC5CD27BD07670D7A014FE98BC:u9XKnFIiDDHG2eDMvUJoGUlO+9ZAEVSGyh0V71bjCwg=:EID_Whisk", "99F93AEDE16EDDD2D43F8FFFED3A4126:43GiNG6gw/2MctgKJG7QkA52E1HBAGcdxIY9f+7OGZc=:EID_Ringer", "F1149C7FD94E0FDD1D3F42659E99D52D:mO7GpfM8ZBOjTIwAjtvwDL2s7yhIi0lK9ICP4B03elI=:EID_Metronome", -"9286B7920158C7D54CF5E6E01EA9266F:NMUdgZEcMNkbtpUJVfIHo8YgwMSNqIqbYFrNyK87Glk=:EID_Ordinary"] \ No newline at end of file +"9286B7920158C7D54CF5E6E01EA9266F:NMUdgZEcMNkbtpUJVfIHo8YgwMSNqIqbYFrNyK87Glk=:EID_Ordinary", +"988F75A036552441259F047F4DD6FDC8:udr6m6IzE0+CCPfAgZQp8CuhbKPWKFvJfpjOLTUZROY=:Character_RelayStickBounty", +"988F75A036552441259F047F4DD6FDC8:udr6m6IzE0+CCPfAgZQp8CuhbKPWKFvJfpjOLTUZROY=:EID_RelayStick_Plume", +"988F75A036552441259F047F4DD6FDC8:udr6m6IzE0+CCPfAgZQp8CuhbKPWKFvJfpjOLTUZROY=:Pickaxe_RelayStick", +"988F75A036552441259F047F4DD6FDC8:udr6m6IzE0+CCPfAgZQp8CuhbKPWKFvJfpjOLTUZROY=:Sparks_Keytar_RelayStick", +"988F75A036552441259F047F4DD6FDC8:udr6m6IzE0+CCPfAgZQp8CuhbKPWKFvJfpjOLTUZROY=:EID_RelayStick_Carmine", +"988F75A036552441259F047F4DD6FDC8:udr6m6IzE0+CCPfAgZQp8CuhbKPWKFvJfpjOLTUZROY=:Backpack_RelayStick", +"988F75A036552441259F047F4DD6FDC8:udr6m6IzE0+CCPfAgZQp8CuhbKPWKFvJfpjOLTUZROY=:Character_RelayStick", +"988F75A036552441259F047F4DD6FDC8:udr6m6IzE0+CCPfAgZQp8CuhbKPWKFvJfpjOLTUZROY=:Wrap_RelayStick", +"988F75A036552441259F047F4DD6FDC8:udr6m6IzE0+CCPfAgZQp8CuhbKPWKFvJfpjOLTUZROY=:Sparks_Guitar_RelayStick", +"0855EE21AA3E58786648810E4DEA78E5:wD8yk0v2pPNETRa9hPhJjJuMxHWJDF5FtxpPrd9ua4g=:Backpack_KeyChain", +"0AA41354BC261BF44EE59CBB903A1672:vSYFVpavcoosC319I0XmmzhcwCeJFhat5rcJYatQvks=:EID_Cadaver", +"9DB808E8A3748C92F9B2836D97F12E43:8/7CEcgqMxbP0Njwt+FfkrpLL0re3J/cSvasQ9DuVAo=", +"F1DBEE1A4C88D59EBB63579C7163E7B6:7dSf2Qx4GGgM/q8Cvs54ANwQv6ZbPqjVrE1Fh1V0MSA=:EID_Hurtle", +"D48BB37F98A9EDC6639CD34F0F277359:DuO9M4Czd0IIf2jSYsk9oooSGKNK/r4XX0fA9d6j8F8="] \ No newline at end of file