Ever wanted to have embeds show up when you send a Newgrounds post?
Just add "fix" before "newgrounds" and watch the magic happen!
Original:
https://www.newgrounds.com/art/view/4wk/gift-for-a-friend
Fixed:
https://www.fixnewgrounds.com/art/view/4wk/gift-for-a-friend
To run this project, first clone the repo.
Once you've done that, ensure you have pnpm installed:
npm i -g pnpmThen run the following command inside the project's directory:
pnpm iAfter that, you'll have to install the Chromium browser for Playwright.
If you're on a Debian-based distro (using apt), you can just run:
pnpx playwright install chromiumIf you're on Fedora, follow this guide.
Next, you'll wanna have an HTTP client installed, such as Postman,
Insomnnia, etc.
Alternatively you could just use curl.
Now you can simply try to send a GET request to a fixed Newgrounds URL to see the response.
GET http://localhost:7854/art/view/4wk/gift-for-a-friend
If everything is right, the response should look a little something like this:
<!DOCTYPE html>
<head>
<link rel="canonical" href="https://www.newgrounds.com/art/view/4wk/gift-for-a-friend" />
<meta property="og:title" content="gift for a friend" />
<meta property="og:description" content="👀 1,691 🌟 248 🖐️ 587 ⭐ 4.77 / 5.00
May 25, 2025 12:58 AM EDT" />
<meta property="og:url" content="https://www.newgrounds.com/art/view/4wk/gift-for-a-friend" />
<meta property="og:image"
content="https://art.ngfiles.com/images/6721000/6721455_2043851_4wk_untitled-6721455.36f2d145774168f1b5145640c4379f32.webp?f1748149209" />
<meta property="og:site_name" content="FixNewgrounds" />
<meta property="twitter:title" content="gift for a friend" />
<meta property="twitter:site" content="4WK" />
<meta property="twitter:creator" content="4WK" />
<meta property="twitter:card" content="summary_large_image" />
<meta property="theme-color" content="#fda238" />
<link rel="alternate" href="http://localhost:7854/oembed?title=4wk&url=https%3A%2F%2F4WK.newgrounds.com%2F"
type="application/json+oembed" title="4WK">
</head>
<body></body>
</html>If you try to send a request to that alternate URL, you should get something like this:
{
"author_name": "4wk",
"author_url": "https://4WK.newgrounds.com/"
}NOTE: If you want it to embed posts that require an account to view, you must first run the following command:
pnpm signinThis will open a browser. Once you've logged in, you can safely close the browser
and exit the program (ctrl+c). Then you can run pnpm start as normal.
If you want to test your local version on Discord, you'll need to expose the server to the internet. For that, you could either use any web server like nginx, apache, caddy, etc., or a tunnel through something like Cloudflare Tunnel or ngrok.
That's it!
If you have any more questions, feel free to reach out
or make an Issue.
Contributions are welcome. If you'd like to contribute, just fork the repo, make your changes,
and create a pull request. I'll review it when I have time.
If you come across any bugs or other problems, feel free to create
an Issue.
If you need help with something, have a question, or want to let me know if something's wrong, feel free to reach out to me on email, Twitter, or BlueSky.
This site does not store any data.
The only data measured is what Cloudflare's free tier has by default, which is traffic data
that includes only how many requests have been sent and from which countries.