ps5upload
Send games, apps and homebrew to a jailbroken PS5, and manage the console from your computer, phone or browser.
Every VALORANT drop, Pick'Ems reward, partner promo and code, with what's claimable right now.
GamesJavaScript · HTMLGitHub @chillaahOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Every VALORANT cosmetic earned outside the store & battle pass: broadcast drops, Pick'Ems, partner promos, codes and more, with images and sources.
Taken from the repository README
Loading the full README.
Read the full README ↗Every VALORANT cosmetic you can't buy in the store or unlock from a battle pass, tracked on one page.
Broadcast drops · Pick'Ems · Challenge events · Brand partnerships · Code redemptions · Prime Gaming · PS+ · Pro play · Closed Beta · China exclusives
?item=slime-mosh-buddy.?sort=newest shows everything month by month.events in data/curated.json with its tournament id. Without that line, or if the page can't be read, Drops from an event end at midnight in the host city. (vlr.gg has actual map times, but its terms forbid scripted access.)Every title, player card, gun buddy, spray and gun skin earned outside the game's usual store, battle pass and agent progression.
| Source | Examples |
|---|---|
| Broadcast Drops | VCT Masters, Champions and Game Changers Twitch and Kick drops, co-streamer titles, Shotcall extension rewards, Red Bull Home Ground, Arcane premieres |
| Pick'Ems | Per tournament: participation title or spray, top 50% and top 20% buddies with the points needed, pick windows, and the 100% Title |
| Events & Partnerships | Challenge events on Riot's FTW site (Alpha vs. Omega, Frag or Die, Night Queue, MAHASONGKRAN), Coinbase, ExpressVPN, Verizon, Xbox Game Pass, merch figure codes, watch parties, RiotX Arcane |
| Code Redemption | Public codes from Riot (Pride cards, community challenges) |
| Prime Gaming | Monthly Prime Gaming drops from 2020 to 2024, including the Wayfinder Shorty skin |
| PlayStation Plus | Rotating PS+ member bundles, dated by month from each bundle's start until the next one |
| Pro Play | Tournament winner buddies and titles given to pros, tagged "Pro players only" |
| Closed Beta | The 2020 Closed Beta reward pass, entered through Twitch drops (items removed at launch are left out) |
| China Exclusive | Items only obtainable on the China version of VALORANT, tagged "China only" and not posted to Discord |
data/curated.json holds items the wiki doesn't list yet, such as the ExpressVPN × VCT rewards. Every entry there must cite an official page. Its dates list fills in claim windows the wiki leaves out. A date that comes from leaks, game files or an estimate gets an unconfirmed reason: the item shows an "Unconfirmed date" badge with that reason, and stays out of Recently added and the Discord alerts. Comments and replies are never used as a source.Wiki pages read: Broadcast Rewards, Prime Gaming Drops, VALORANT X PS+ Bundles, Closed Beta, Pick'Ems, the two Conflict event pages, and the out-of-game sections of Sprays, Buddies, Player Cards and Player Titles (Channel Drops, Shotcall Extension, Challenge Events, Code Redemption, Pick'Ems, Prime Gaming Drops, Pro play, Miscellaneous, China-Exclusive).
Left out on purpose: store, battle pass, agent and Premier rewards; items the wiki lists as unobtainable (in the game files but never handed out); Closed Beta items that were removed from every account at launch; and Radianite Points.
every 6 hours ┌───────────────────────┐ data-only commit ┌────────────┐
(cron) ──────────▶ │ update-data workflow │ ───────────────────▶ │ production │ ──▶ GitHub Pages
│ scrape → check → save │ └─────┬──────┘
└───────────────────────┘ │ merged back
┌─────▼───────┐
│ development │
└─────────────┘
Each run:
data/items.js and saves any new images.scripts/check-data.mjs requires at least 200 items, no more than a 10% drop from the previous run, required fields and unique slugs. If a wiki change breaks the scraper, the run fails and the live site keeps its last good data.
It also holds back the kinds of edit a wiki vandal would make: a changed code on an existing item, or a link to a site the data has never linked before. Check those on the wiki, then rerun Update data with approve ticked to publish them.production only if something changed, which redeploys the site.production back into development.New rewards usually reach the wiki within hours of Riot announcing them. They appear on the site at the next run, or right away if you start Update data from the Actions tab.
| Performance | Static HTML, CSS and JavaScript, with no framework and no runtime dependencies. Images are lossless WebP at display size, and fonts are self-hosted subsets. Layout shift on a cold load is close to zero. |
| Accessibility | Text meets WCAG AA contrast (4.5:1) in both themes. Cards and the item dialog work with the keyboard, and animations are off for people who prefer reduced motion. |
| Without JavaScript | index.html contains a pre-rendered list of every item, so search engines and visitors without JavaScript still get the full list. |
| Privacy and security | No analytics, cookies or third-party requests. A Content Security Policy allows only this site, plus wiki images as a fallback if a download failed. Workflows use least-privilege permissions and GitHub Actions pinned to commit SHAs, kept current by Dependabot. |
| Sharing | Open Graph and Twitter card tags, a 1200×630 preview image, robots.txt, sitemap.xml and structured data. |
webp tools (brew install webp or apt install webp) to save images as WebP. Without them the build still works and keeps the wiki's PNG and GIF files.npm run build # scrape the wiki into data/items.js, save images into img/, prerender index.html
npm run serve # serve the site at http://localhost:8080
node scripts/build-data.mjs --no-images skips image downloads and uses wiki image URLs instead. That's faster, and it's what CI runs.
Thumbnails are requested from the wiki at display size (within 256×288) and saved as lossless WebP, so they look the same as the wiki's images at about a quarter of the size. The item view's 600px image (*_600.webp) and player-card banners (*_Wide.webp) are saved the same way and load only when an item is opened. Images that no item uses any more are deleted from img/.
index.html, app.js, styles.css the site (no framework, no build step)
theme.js light/dark theme, loaded in <head> so there's no flash
404.html not-found page (GitHub Pages serves it for any missing path)
robots.txt, sitemap.xml for search engines
assets/ favicon, touch icon, og.png preview image, no-JS stylesheet
assets/fonts/ self-hosted Geist and Geist Mono (SIL OFL, see OFL.txt)
data/items.js generated item data (window.VAL_DROPS)
data/curated.json hand-added items the wiki doesn't have yet
img/ item images saved from the wiki
docs/ README screenshots (not deployed)
scripts/build-data.mjs wiki scraper
scripts/check-data.mjs blocks publishing if a scrape looks broken or an edit needs review
scripts/prerender.mjs writes the plain item list into index.html
scripts/event-times.mjs end times for event Drops from the official schedule
scripts/notify-discord.mjs posts new items to a Discord webhook
scripts/og-image.html source for assets/og.png (screenshot #og at 1200×630)
.github/workflows/ CI, data updates, deploys
data/curated.json with name, type, category, group, file (the wiki image file name) and refs (official links).npm run build and check the result locally.development.| Branch | Purpose |
|---|---|
development | Default branch. All work and pull requests go here. |
production | The live site. Every push deploys to GitHub Pages. The data bot commits new items here and merges them back into development. |
To release, open a pull request from development into production and merge it.
| Workflow | Runs | What it does |
|---|---|---|
| CI | Pushes to development, pull requests | Syntax-checks the scripts, runs the scraper and the data check, and confirms the site files exist. Commits nothing. |
| Update data | Every 6 hours, or manually | Scrapes, checks and commits new data to production, posts to Discord, merges back into development. Run it manually with approve to publish changes the check held for review. |
| Deploy | Pushes to production, or manually | Publishes the site to GitHub Pages. |
| Discord test | Manually | Shows which channel the webhook posts to and can send one test message. |
When the update job finds new items, or an item's claim window has opened since the last successful run (like a Drop that starts on a set day), it posts each one to a Discord channel with its image, dates or how to get it, primary source, and a link to the item on the site. Only items claimable now or soon are posted (the same rule as "Recently added"), so old or undated items the wiki only just listed China-only items and items with an unconfirmed date are left out, and an item the wiki only moved to another section doesn't count as new. Image links point at the exact commit, so they keep working after later runs convert or prune images.
DISCORD_WEBHOOK_URL.When a co-streamer Drop goes live with no channels listed, or an event's Drops go live with no events line for exact end times, a reminder is posted too. Set DISCORD_ADMIN_WEBHOOK_URL to send those reminders to a separate (private) channel; without it they go to the main one.
If the secret isn't set, the step is skipped. A run with more than 25 new items posts one summary message instead of flooding the channel. To preview messages without posting, run PREV_CHECK=<ISO time> node scripts/notify-discord.mjs <old-items.js> data/items.js --dry-run.
This is a fan project and isn't affiliated with or endorsed by Riot Games. VALORANT and all related names, images and assets are trademarks or property of Riot Games, Inc.
channels in data/curated.json from Twitch's Drops page (Twitch has no public API for them).