
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
Node.js jeuxvideo.com API client.
This library is in early beta, and not complete at all. I implemented only the methods I needed, and I'm not going to add support for other methods unless I need them too.
However, I happily accept pull requests; feel free to implement the features you need, and please get in touch with me if you need some advices on how to hack this library.
const jvc = require('jvc')
You can then call all the supported API methods on the jvc object.
Some methods will require you to be logged in (like private
messages access and forums post), while others will
work anonymously.
Also, the jvc object is fully overridable thanks to bind-late. Look
the source to see what you can customize!
All code examples that need a connected API will use connectedJvc
object, and anonymous methods will just use jvc.
All the code examples assume to be run in an ES7 asynchronous function.
// Need to handle captcha prompts.
const handleCaptcha = async err => {
if (!err.captcha) {
throw err
}
// Prompt the user to fill given captcha URL.
const code = await doSomethingWith(err.captcha)
return await err.retry(code) // Retry request.
.then(null, handleCaptcha) // Recursively ask for captcha.
}
const connectedJvc = await jvc.login({ user: 'foo', pass: 'bar' })
.then(null, handleCaptcha)
// You can then call methods that require connection on `connectedJvc`.
Note: once you have a connectedJvc object, you can find the
connection cookie in connectedJvc.user.cookie. If you store it
permanently, you can restore it like this:
const connectedJvc = jvc.override({
user: { cookie: 'the cookie you stored' },
})
This way you avoid getting the captcha prompt everytime. Though, I have no idea how long the cookie will stay valid. Please tell me if you have more informations about this.
// Get first page.
const list = await connectedJvc.pm.list()
// list:
// count: Number
// page: Number
// unread: Number
// threads:
// - id: Number
// subject: String
// author: String
// date: Date
// isRead: Boolean
//
// Get second page.
const next = await connectedJvc.pm.list({ page: 2 })
// Get the last 5 messages of a thread (ID from previous list).
const thread = await connectedJvc.pm.thread({ id: list.threads[0].id })
// thread:
// id: Number
// subject: String
// members: [String]
// count: Number
// next: Number
// messages:
// - image: String
// author: String
// date: Date
// post: String
// Get next 10 messages.
const next = await connectedJvc.pm.thread({
id: list.threads[0].id,
offset: thread.next,
})
See the jvc-cli project for a concrete usage example. Or if you just want an interactive demo:
npm install -g jvc-cli
jvc login
jvc pm
FAQs
Node.js jeuxvideo.com API client.
The npm package jvc receives a total of 2 weekly downloads. As such, jvc popularity was classified as not popular.
We found that jvc 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.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.