
Research
Security News
Lazarus Strikes npm Again with New Wave of Malicious Packages
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
xiv-character-cards
Advanced tools
API to create fancy cards for FFXIV characters based on their Lodestone data, hosted at https://ffxiv-character-cards.herokuapp.com.
Library and API to create fancy cards for FFXIV characters based on their Lodestone data, powered by xivapi.com and hosted at https://ffxiv-character-cards.herokuapp.com.
All API calls support the lang
query parameter to create a character card with information in the specified language. The supported languages are the same as xivapi.com, which are English (en), Japanese (ja), German (de) and French (fr).
E.g. a request for a german character card would look like this: https://ffxiv-character-cards.herokuapp.com/characters/id/<LODESTONE ID>.png?lang=de
GET https://ffxiv-character-cards.herokuapp.com/characters/id/<LODESTONE ID>.png
GET https://ffxiv-character-cards.herokuapp.com/characters/name/<WORLD>/<CHARACTER NAME>.png
Note: This is considerably slower than the creation by ID, since the character has to be looked up in the Lodestone first.
If you are using this API together with an application that requires the API to respond very quickly, like Discord, you may need to ask it to "prepare" the card image for a character beforehand. The API will reply with its status, and in case of success, the URL to the final image.
{"status":"ok","url":"/characters/id/123456789.png"}
GET https://ffxiv-character-cards.herokuapp.com/prepare/id/<LODESTONE ID>
GET https://ffxiv-character-cards.herokuapp.com/prepare/name/<WORLD>/<CHARACTER NAME>
To use the card creator as a library in your Node.JS application, first install it as a dependency with:
yarn add xiv-character-cards
# or
npm i xiv-character-cards
You can then instantiate the class CardCreator
from the library, call the asynchronous insureInit()
function to make sure all resources are loaded and then use the asynchronous createCard()
function with your characters Lodestone ID. You will receive a promise that resolves to a Buffer
of the PNG image of your card, that you can use in your bot or application.
Check the library documentation for more details.
Note: The API server is not published as an NPM package, so if you want to host it yourself, clone the Github repository and put the Express.JS webserver defined in the
index.js
file behind a reverse proxy.
const { CardCreator } = require("xiv-character-cards");
const { writeFileSync } = require("fs");
const creator = new CardCreator();
const lodestoneId = "13821878";
async function example() {
await creator.ensureInit();
return creator.createCard(lodestoneId);
}
example()
.then(card => {
writeFileSync(`./${lodestoneId}.png`, card);
})
.catch(error => {
console.error('Creator initialization or card creation failed!');
console.error(error);
});
FAQs
API to create fancy cards for FFXIV characters based on their Lodestone data, hosted at https://ffxiv-character-cards.herokuapp.com.
We found that xiv-character-cards demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Security News
Socket CEO Feross Aboukhadijeh discusses the open web, open source security, and how Socket tackles software supply chain attacks on The Pair Program podcast.
Security News
Opengrep continues building momentum with the alpha release of its Playground tool, demonstrating the project's rapid evolution just two months after its initial launch.