{"repo":"jvdburgh/AmputatorBot","free":true,"listed":false,"github":"https://github.com/jvdburgh/AmputatorBot","clone":"git clone https://github.com/jvdburgh/AmputatorBot.git","description":"Remove AMP from your URLs. AmputatorBot is a highly specialised Reddit app that automatically replies to comments and submissions containing AMP URLs with the canonical link(s). It's also available as a website and public REST API. See also: https://www.reddit.com/r/AmputatorBot/comments/ehrq3z/why_did_i_build_amputatorbot/.","language":"Rust","stars":180,"topics":["amp","amp-html","reddit","reddit-bot","amputatorbot","bot","praw","praw-reddit","reddit-api","open"],"license":"GPL-3.0","category":"workflow-automation","readme_excerpt":"TL;DR: Remove AMP from your URLs to reduce Google's control over independent publishers, improve privacy, and support the Open Web. AmputatorBot is a Reddit Devvit app that automatically detects AMP links in submissions and comments and replies with the canonical URL(s). The core of AmputatorBot is a free public REST API, available at amputatorbot.com/api/docs. It handles the canonical URL conversion, and powers both the Reddit app and amputatorbot.com. It's way overengineered with Rust (because it's fun, fast, and prevents memory leaks) and 130+ tests. The original Python + Flask implementation, whose development began in 2019, has been preserved in praw-python-archive/ for historical reference. FAQ & Why · Changelog · Community Features - 11 specialised canonical-finding methods, +98% accuracy. Tried in priority order: - REL — , the HTML5 standard signal used by every SEO-aware CMS. - CANURL — custom a=\"amp-canurl\" attribute some publishers set alongside (or instead of) rel=canonical . - OG URL — Open Graph . - GOOGLE MANUAL REDIRECT — pulls the destination out of links inside Google's www.google.com/url?q=... interstitial pages. - GOOGLE JS REDIRECT — same idea, but for Google interstitials that only set the destination in inline JS ( var redirectUrl = \"...\" ). - BING ORIGINAL URL — Bing's AMP cache embeds the publisher URL as \"originalUrl\": \"...\" in an inline JS blob. - SCHEMA MAINENTITY — Schema.org's mainEntityOfPage inside . - TCO PAGETITLE — Twitter's t.co?amp=1 short","default_branch":null,"files":null,"tree":[],"storefront":"/r/jvdburgh","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/jvdburgh/AmputatorBot/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}