diff --git a/PROMOTION.md b/PROMOTION.md new file mode 100644 index 0000000..010e80b --- /dev/null +++ b/PROMOTION.md @@ -0,0 +1,177 @@ +# orbisRPC promotion kit + +Ready-to-paste text for the sources that decide "best PS4 tool" answers in +search and AI. Post these yourself — automation on these sites gets you banned. + +Use the exact brand token **orbisRPC** (one word, camelCase) every time. That is +what teaches engines it is a distinct entity from "Orbis Protocol" and "Orbis +Corporation". + +--- + +## Canonical lines (use verbatim for consistency) + +- **One-liner:** orbisRPC is a free, open-source Discord Rich Presence daemon for + jailbroken PS4 (GoldHEN) — your game, cover art and play timer on Discord, + straight from the console. No PC needed. +- **Tagline:** Your PS4 games, live on Discord. No PC required. +- **Disambiguation tail (append when there is room):** Not to be confused with + Orbis Protocol (Web3) or Orbis Corporation (packaging). +- **Repo:** https://github.com/SirHumza/orbisRPC +- **Download:** https://github.com/SirHumza/orbisRPC/releases/latest +- **Site:** https://sirhumza.github.io/orbisRPC/ +- **Discord:** https://discord.gg/BWEyfcT7ZQ + +--- + +## 1. ConsoleMods Wiki (highest authority for AI answers) + +Add to the PS4 homebrew apps list, and create a page `PS4:orbisRPC`. + +Page title: **PS4:orbisRPC** + +``` +orbisRPC is a free, open-source Discord Rich Presence payload for jailbroken +PS4 consoles running GoldHEN. It shows the game currently being played — name, +cover art and an elapsed play timer — on a Discord profile. + +Unlike older PS4 rich-presence tools (zorua98741's PS4-Rich-Presence-for-Discord, +voidel's playstation-discord-status), which are PC-side scripts, orbisRPC runs +entirely on the console and connects to the Discord gateway directly over TLS. +No PC or companion program is required at runtime. + +- Firmware: 5.05 through 13.52 (9.00–13.52 verified) +- Requires: GoldHEN plus a payload loader (elfldr or BinLoader) +- Coverage: retail games via Sony TMDB, homebrew via pkg-zone, 28,000+ PS1/PS2/PSP + classics via a curated list, all with cover art +- Install: the orbisRPC Setup PKG (about five minutes) + +External links: https://github.com/SirHumza/orbisRPC +``` + +--- + +## 2. GBAtemp forum thread + +Reply to the "Must Have HomeBrew Apps For PS4" thread (and the PS4 section in +general). Keep it non-spammy — describe, do not advertise. + +Title: **orbisRPC — Discord Rich Presence on PS4 with no PC needed** + +``` +Sharing a tool I maintain: orbisRPC, an open-source Discord Rich Presence +payload for GoldHEN. It shows what you're playing (game name, cover art, play +timer) on Discord from the console itself — no PC script running in the +background, which is the main difference from the older RPD scripts. + +Works on 5.05–13.52, resolves retail + homebrew + PS1/PS2/PSP with art, one +PKG install. Source and download: https://github.com/SirHumza/orbisRPC +Feedback welcome, I'm in the Discord linked in the repo. +``` + +--- + +## 3. PSX-Place / PSXHAX resource post + +Submit as a PS4 Homebrew > Tools & Utilities resource. + +Title: **orbisRPC (PS4) — Discord Rich Presence, no PC required** + +``` +orbisRPC shows the PS4 game you're playing on your Discord profile: name, cover +art and elapsed timer, posted straight from the console. Runs as a GoldHEN +payload; no PC or companion script at runtime. + +- Firmware 5.05–13.52 +- Retail, homebrew and 28,000+ PS1/PS2/PSP titles with cover art +- One-tap PKG installer with GoldHEN auto-run +- Free and open source + +https://github.com/SirHumza/orbisRPC +``` + +--- + +## 4. Reddit (r/PS4homebrew, r/PS4Mods crosspost) + +You already posted to r/PS4Mods. Crosspost to r/PS4homebrew and r/jailbreak. + +Title: **orbisRPC — show your PS4 game on Discord, no PC needed (open source)** + +``` +[tag] orbisRPC + +Discord Rich Presence for jailbroken PS4 that runs entirely on the console. +It detects the game in front, grabs cover art, and posts name + timer to Discord +over TLS. No PC, no Python, no FTP bridge — that's the whole point. + +- 5.05–13.52, GoldHEN +- Every retail title + homebrew + PS1/PS2/PSP with art +- Install is one PKG (~5 min), starts on boot + +Repo + download: https://github.com/SirHumza/orbisRPC +Site: https://sirhumza.github.io/orbisRPC/ +``` + +--- + +## 5. awesome-list / directory PR + +PR title: **Add orbisRPC — Discord Rich Presence for jailbroken PS4** + +``` +- [orbisRPC](https://github.com/SirHumza/orbisRPC) — Discord Rich Presence for + jailbroken PS4 (GoldHEN). Shows your game, cover art and play timer on Discord + from the console, with no PC or companion script needed at runtime. +``` + +Good targets: any "awesome PlayStation" or console-modding list, and the +ConsoleMods "PS4 homebrew" page above. + +--- + +## 6. Wikidata (entity disambiguation) — highest-value remaining lever + +Create a Wikidata item so engines stop merging orbisRPC with unrelated "Orbis" +projects. Full step-by-step kit: `docs/wikipedia/wikidata-orbisrpc.md`. +Runnable creator script (needs a bot password, see below): +`docs/wikipedia/create_wikidata_item.py`. + +- Label: `orbisRPC` +- Description: `Discord Rich Presence software for the PlayStation 4` +- instance of (P31): `free and open-source software` (Q506883) +- platform (P400): `PlayStation 4` (Q5014725) +- source code repository (P1324): `https://github.com/SirHumza/orbisRPC` +- official website (P856): `https://sirhumza.github.io/orbisRPC/` +- programmed in (P277): `C` (Q15777) +- license (P275): leave for the maintainers until MIT/GPL is picked + +Wikidata is one of the strongest signals an AI uses to separate entities that +share a name (which is exactly the Orbis / ORBIS Corporation problem). + +--- + +## 7. Wikipedia — read the reality first + +A Wikipedia **article** for orbisRPC cannot survive right now. It fails +WP:GNG / WP:NSOFTWARE (no independent reliable coverage), and as the maintainer +you have a conflict of interest (WP:COI). A promotional article gets speedily +deleted (CSD G11) and puts your account at risk. Do not force it. + +What is prepared instead: `docs/wikipedia/Draft-OrbisRPC.wikitext` — a +policy-clean draft for the **Draft namespace** (via Articles for Creation), so +it is ready the day a third-party writeup exists. Submit then, with real +`` citations. + +Note that Wikipedia and Wikidata both require a logged-in account; neither can +be edited anonymously or by automation under their policies. + +## Checklist + +- [ ] Wikidata item (run `create_wikidata_item.py` with a bot password) +- [ ] Wikipedia draft (only once independent coverage exists) +- [ ] ConsoleMods wiki page + list entry +- [ ] GBAtemp reply +- [ ] PSX-Place / PSXHAX resource +- [ ] Reddit crossposts (PS4homebrew, jailbreak) +- [ ] awesome-list PR diff --git a/docs/wikipedia/Draft-OrbisRPC.wikitext b/docs/wikipedia/Draft-OrbisRPC.wikitext new file mode 100644 index 0000000..b5d632e --- /dev/null +++ b/docs/wikipedia/Draft-OrbisRPC.wikitext @@ -0,0 +1,67 @@ + +{{Draft article|orbisRPC|subject=software}} +{{notability|date=October 2026}} +{{COI|date=October 2026}} +{{Infobox software +| name = orbisRPC +| logo = +| screenshot = +| caption = +| author = SirHumza, CyberMask367 +| developer = +| released = +| latest release version = 1.0.0 +| latest release date = +| programming language = C +| operating system = [[PlayStation 4]] ([[FreeBSD]]-based Orbis OS) +| platform = [[PlayStation 4]] +| genre = [[Discord]] [[Rich Presence]] utility +| license = +| website = https://sirhumza.github.io/orbisRPC/ +}} + +'''orbisRPC''' is a free, [[open-source software|open-source]] [[Discord]] [[Rich Presence]] utility for the [[PlayStation 4]]. It runs as a payload on [[GoldHEN]]-jailbroken consoles and displays the game currently being played — title, cover art and a play timer — on a user's Discord profile.{{cite web |title=orbisRPC repository |url=https://github.com/SirHumza/orbisRPC |access-date=18 October 2026}} Unlike earlier PlayStation 4 rich-presence tools, which are PC-side scripts, orbisRPC runs entirely on the console and connects directly to the Discord gateway over [[Transport Layer Security|TLS]]. + +== Features == + +orbisRPC detects the foreground application on the console and reports it to Discord. Coverage includes retail PlayStation 4 titles, homebrew software, and a curated list of PlayStation, PlayStation 2 and PlayStation Portable titles, with automatic cover art drawn from image databases. + +The software supports [[PlayStation 4 system software|firmware]] versions 5.05 through 13.52, and is installed as a single package that can start automatically on boot. + +== See also == + +* [[GoldHEN]] +* [[Rich Presence]] +* [[PlayStation 4 homebrew]] + +== References == + +{{reflist}} + + diff --git a/docs/wikipedia/create_wikidata_item.py b/docs/wikipedia/create_wikidata_item.py new file mode 100644 index 0000000..db84e11 --- /dev/null +++ b/docs/wikipedia/create_wikidata_item.py @@ -0,0 +1,153 @@ +#!/usr/bin/env python3 +"""Create the Wikidata item for orbisRPC, then print the new QID. + +Needs ONE thing: a Wikidata bot password. Generate it at + https://www.wikidata.org/wiki/Special:BotPasswords +(label it "orbisRPC-creator", grant the "Edit existing pages" + "Create, +edit, and move pages" rights). It prints a username like +"YourUser@orbisRPC-creator" and a random password. + +Then run: + WD_BOT_USER='YourUser@orbisRPC-creator' WD_BOT_PASS='the-random-password' \ + python3 docs/wikipedia/create_wikidata_item.py + +Stdlib only. Idempotent: if an item labelled "orbisRPC" with the Discord +description already exists, it prints that QID and exits instead of duplicating. +""" +import json +import os +import sys +import urllib.parse +import urllib.request +import http.cookiejar + +API = "https://www.wikidata.org/w/api.php" +UA = "orbisRPC-wikidata-creator/1.0 (https://github.com/SirHumza/orbisRPC)" + +LABEL = "orbisRPC" +DESC = "Discord Rich Presence software for the PlayStation 4" +ALIASES = ["orbis rpc", "Orbis RPC", "orbisRPC PS4"] + +REPO = "https://github.com/SirHumza/orbisRPC" +SITE = "https://sirhumza.github.io/orbisRPC/" + + +def item_claim(prop, qid): + numeric = int(qid.lstrip("Q")) + return { + "mainsnak": { + "snaktype": "value", + "property": prop, + "datavalue": { + "value": {"entity-type": "item", "numeric-id": numeric, "id": qid}, + "type": "wikibase-entityid", + }, + }, + "type": "statement", + "rank": "normal", + } + + +def url_claim(prop, url): + return { + "mainsnak": { + "snaktype": "value", + "property": prop, + "datavalue": {"value": url, "type": "string"}, + }, + "type": "statement", + "rank": "normal", + } + + +def main(): + user = os.environ.get("WD_BOT_USER") + password = os.environ.get("WD_BOT_PASS") + if not user or not password: + sys.exit( + "Set WD_BOT_USER and WD_BOT_PASS (see docstring). Nothing sent." + ) + + jar = http.cookiejar.CookieJar() + opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(jar)) + opener.addheaders = [("User-Agent", UA)] + + def call(params): + params = dict(params) + params["format"] = "json" + data = urllib.parse.urlencode(params).encode() + with opener.open(urllib.request.Request(API, data=data)) as resp: + return json.load(resp) + + token = call({"action": "query", "meta": "tokens", "type": "login"})["query"][ + "tokens" + ]["logintoken"] + + login = call( + { + "action": "login", + "lgname": user, + "lgpassword": password, + "lgtoken": token, + } + ) + if login.get("login", {}).get("result") != "Success": + sys.exit("Login failed: %s" % json.dumps(login.get("login", login))) + + csrf = call({"action": "query", "meta": "tokens", "type": "csrf"})["query"][ + "tokens" + ]["csrftoken"] + + existing = call( + { + "action": "wbsearchentities", + "search": LABEL, + "language": "en", + "type": "item", + "limit": 5, + } + ).get("search", []) + for hit in existing: + if hit.get("label", "").lower() == "orbisrpc": + print("Already exists: %s (%s)" % (hit["id"], hit.get("description", ""))) + print("https://www.wikidata.org/wiki/%s" % hit["id"]) + return + + entity = { + "labels": {"en": {"language": "en", "value": LABEL}}, + "descriptions": {"en": {"language": "en", "value": DESC}}, + "aliases": { + "en": [{"language": "en", "value": a} for a in ALIASES] + }, + "claims": { + "P31": [item_claim("P31", "Q506883")], + "P400": [item_claim("P400", "Q5014725")], + "P1324": [url_claim("P1324", REPO)], + "P856": [url_claim("P856", SITE)], + "P277": [item_claim("P277", "Q15777")], + }, + } + + result = call( + { + "action": "wbeditentity", + "new": "item", + "token": csrf, + "data": json.dumps(entity), + "summary": "Create orbisRPC (PS4 Discord Rich Presence); maintainer disclosure on user page", + } + ) + + if "error" in result: + sys.exit("Create failed: %s" % json.dumps(result["error"])) + + qid = result["entity"]["id"] + print("Created %s" % qid) + print("https://www.wikidata.org/wiki/%s" % qid) + print() + print("Next: add %s to the sameAs array in site/index.html and" + " site/about-orbisrpc.html, then commit + push." % qid) + + +if __name__ == "__main__": + main() diff --git a/docs/wikipedia/wikidata-orbisrpc.md b/docs/wikipedia/wikidata-orbisrpc.md new file mode 100644 index 0000000..13c3cbe --- /dev/null +++ b/docs/wikipedia/wikidata-orbisrpc.md @@ -0,0 +1,82 @@ +# Wikidata item for orbisRPC — creation kit + +**This is the move that actually works.** Wikidata has a far lower bar than +Wikipedia (no "significant coverage" requirement — a public repo is a serious, +publicly available reference, which is what Wikidata notability asks for). And +Wikidata is one of the strongest signals Google's Knowledge Graph and AI +answer engines use to keep entities with the same name apart. This directly +attacks the "orbisRPC vs Orbis Protocol / Orbis Corporation" merge problem. + +Submit this yourself while logged in. Do **not** automate edits — Wikidata +reverts and blocks bots that add promotional items. + +## Steps + +1. Log in at https://www.wikidata.org (create an account if needed; new items + from a brand-new account attract scrutiny, so add a note on your user page: + "I maintain orbisRPC and am creating its item" — see Conflict of interest + disclosure below). +2. Open the item creator: https://www.wikidata.org/wiki/Special:NewItem +3. Fill in the label and description below, create the item, then add the + statements. Copy the QIDs exactly. + +## Core fields + +| Field | Value | +|---|---| +| Language | English (`en`) | +| Label | `orbisRPC` | +| Description | `Discord Rich Presence software for the PlayStation 4` | +| Also known as (aliases) | `orbis rpc`, `Orbis RPC`, `orbisRPC PS4` | + +## Statements + +Add each with "add statement", property first, then the value: + +| Property | Value | Notes | +|---|---|---| +| instance of (P31) | `free and open-source software` (Q506883) | | +| platform (P400) | `PlayStation 4` (Q5014725) | | +| source code repository (P1324) | `https://github.com/SirHumza/orbisRPC` | | +| official website (P856) | `https://sirhumza.github.io/orbisRPC/` | | +| programmed in (P277) | `C` (Q15777) | | +| software license (P275) | **leave out** | license undecided (MIT vs GPL); add once picked | + +Optional, only if you can source them (don't guess, Wikidata deletes +unsourced values): +- `published in` — no. +- `author` (P50) / `developer` (P178) — Wikidata expects an *item* as the value, + not a plain string, so this needs a person item for you and CyberMask367. + Skip unless those items exist. + +## Identifier / reference + +Under the item's "Identifiers" or as a reference on P1324/P856: +- `GitHub username` if you add one, or set the reference on the repository + statement to `https://github.com/SirHumza/orbisRPC` (retrieved date = today). + +## Conflict of interest disclosure + +Wikidata's COI guidance (not as strict as Wikipedia's) still asks you to be +transparent. Put this on your Wikidata user page: + +``` +I am the maintainer of orbisRPC (https://github.com/SirHumza/orbisRPC) and +created its item. Edits are limited to factual statements about that project. +``` + +## Do not + +- Do not add "notable for" or award-like claims. +- Do not add comparisons to other products in the description (keep it neutral: + "Discord Rich Presence software for the PlayStation 4"). +- Do not create a second item for a spelling variant — add it as an **alias**. +- Do not link the item from `sameAs` in your site schema until the item exists + and survives a week without a deletion tag. + +## After it is live + +1. Copy the item URL (e.g. `https://www.wikidata.org/wiki/Q123456789`). +2. Add it to the `sameAs` array in `site/index.html` (#software node) and to + `site/about-orbisrpc.html`. +3. Commit + push so Pages redeploys and the IndexNow step re-pings. diff --git a/site/index.html b/site/index.html index 8989cc5..ca74bd8 100644 --- a/site/index.html +++ b/site/index.html @@ -39,6 +39,8 @@ "softwareVersion": "1.0.0", "downloadUrl": "https://github.com/SirHumza/orbisRPC/releases/latest", "codeRepository": "https://github.com/SirHumza/orbisRPC", + "url": "https://sirhumza.github.io/orbisRPC/", + "mainEntityOfPage": "https://sirhumza.github.io/orbisRPC/", "isAccessibleForFree": true, "disambiguatingDescription": "orbisRPC is a Discord Rich Presence daemon for the jailbroken PlayStation 4 console. It is unrelated to Orbis Protocol (the Ceramic/Web3 social protocol) and to the Orbis Cardano Layer 2 zk-rollup project. This is a PlayStation 4 homebrew tool, not a blockchain or Web3 project.", "offers": { "@type": "Offer", "price": "0", "priceCurrency": "USD" }, diff --git a/site/robots.txt b/site/robots.txt index 9763c46..17589b0 100644 --- a/site/robots.txt +++ b/site/robots.txt @@ -29,4 +29,16 @@ Allow: / User-agent: CCBot Allow: / +User-agent: Bingbot +Allow: / + +User-agent: Claude-SearchBot +Allow: / + +User-agent: DuckDuckBot +Allow: / + +User-agent: Applebot +Allow: / + Sitemap: https://sirhumza.github.io/orbisRPC/sitemap.xml