PTW Extender

Adds titles to your MyAnimeList, AniList, or Kitsu plan-to-watch/read list with the url of where you found it added as a comment.

What is PTW Extender?

PTW Extender is a Chrome extension developed by asmLANG, and its main feature is "Adds titles to your MyAnimeList, AniList, or Kitsu plan-to-watch/read list with the url of where you found it added as a comment.".

Extension Screenshots

screenshot
screenshot

Download PTW Extender Extension CRX File

Download PTW Extender extension files in crx format, manually install Chrome extensions in the browser, or share the crx files with friends to easily install Chrome extensions.

Extension Usage Instructions

                        This add-on makes adding titles to one's MyAnimeList, AniList, or Kitsu plan-to-watch list easier by automating the process: all you have to do is select "Add to PTW list" from the context menu list when you right-click a link to one of the list sites. Moreover, it adds the current datetime and the URL of the tab you found the link into the comments section for that title's list entry so that you can refer back to why you added it to the list in the first place.

As of the writing of this document, MAL doesn't have an external API so the extension is forced to take you to the edit details page for that title where it changes settings as appropriate (status to ptw if it wasn't already completed, comments with the URL added, etc.). By default it just leaves you there, but if you select the appropriate options in the options page, it'll automatically submit the changes and even close the tab. NOTE: You need to already be logged into MAL in order for this extension to work since, as of the writing of this document, there is no way to access and modify a user's data without the add-on storing your MAL credentials (i.e. your username and password in plain-text) due to the aforementioned lack of API.

AniList and Kitsu DO have external APIs, so the extension just makes the appropriate requests to (if necessary) add it to your list and change the appropriate settings (ex. having the title be private to just the authenticated user).

----
Permissions Explanation

https://myanimelist.net/*
As of the time of writing, MAL doesn't have an API, so in order to access, scrape, and modify the add/edit page, PTW Extender need permissions to view it.

contextMenus
The way the extension is used is to right-click a link and then select PTW Extender's context menu button in order to add a title to your PTW list.

identity
In order to log into a site securely, PTW Extender needs to follow the OAuth flow, which starts with a window popping up asking for your credentials to AniList, but in order to make that window pop up, PTW Extender needs to call a function defined here.

notifications
This is less relevant for the default settings for MAL since you have to manually click submit and can see if the update went through or not, but if you tweak the options or use an AniList or Kitsu link, then you don't get that visual confirmation, so notifications come in to fill that gap. If you don't like them, they can be turned off in the options.

storage
Need access to storage in order to save your settings for PTW Extender. It also stores your accessToken for AniList and Kitsu so you aren't forced to log in every time you restart the browser.

tabs
Need access to grab the url of the current page you're on in order to add it to the comments block of whatever title you're adding to your PTW list. Moreover, it's necessary in order to open the add/edit pages for titles in MAL (see above).

webNavigation
If you're using MAL and have tweaked the appropriate options, you can first and foremost autosubmit the changes PTW Extender makes to that entry, and then also tell it to take certain actions post autosubmit. However, in order to know when the submission process has completed requires knowing when the page has finished redirecting to MAL's "you've updated the entry" page, which is where this permission comes in.                    

Extension Basic Information

Name PTW Extender PTW Extender
ID cbllkljhggikogmnnfiihcbgenkmjanh
Official URL https://chromewebstore.google.com/detail/ptw-extender/cbllkljhggikogmnnfiihcbgenkmjanh
Description Adds titles to your MyAnimeList, AniList, or Kitsu plan-to-watch/read list with the url of where you found it added as a comment.
File Size 2.16 MB
Installation Count 37
Current Version 2.2.2
Last Updated 2019-03-08
Publish Date 2019-03-08
Rating 4.50/5 Total 2 Ratings
Developer asmLANG
Email [email protected]
Payment Type free
Extension Website https://github.com/Amndeep7/ptw-extender
Help Page URL https://github.com/Amndeep7/ptw-extender
Supported Languages en-US
manifest.json
{
    "update_url": "https:\/\/clients2.google.com\/service\/update2\/crx",
    "manifest_version": 2,
    "author": "Amndeep Singh Mann",
    "name": "PTW Extender",
    "version": "2.2.2",
    "description": "Adds titles to your MyAnimeList, AniList, or Kitsu plan-to-watch\/read list with the url of where you found it added as a comment.",
    "applications": {
        "gecko": {
            "id": "{c4d3fb11-c300-4eed-a904-144fba03fb61}"
        }
    },
    "icons": {
        "16": "icons\/icon_16.png",
        "32": "icons\/icon_32.png",
        "48": "icons\/icon_48.png",
        "64": "icons\/icon_64.png",
        "96": "icons\/icon_96.png",
        "128": "icons\/icon_128.png"
    },
    "permissions": [
        "https:\/\/myanimelist.net\/*",
        "contextMenus",
        "identity",
        "notifications",
        "storage",
        "tabs",
        "webNavigation"
    ],
    "background": {
        "scripts": [
            "lib\/browser-polyfill.js",
            "lib\/umd.js",
            "options\/options-defaults.js",
            "generic\/generic.js",
            "mal\/mal.js",
            "anilist\/query.js",
            "anilist\/anilist.js",
            "kitsu\/kitsu.js",
            "menu.js"
        ],
        "persistent": false
    },
    "options_ui": {
        "page": "options\/options.html",
        "open_in_tab": true
    },
    "content_scripts": [
        {
            "matches": [
                "*:\/\/anilist.co\/*"
            ],
            "js": [
                "lib\/browser-polyfill.js",
                "lib\/linkify.js",
                "lib\/linkify-element.js",
                "anilist\/prettified.js",
                "generic\/prettified.js"
            ]
        },
        {
            "matches": [
                "*:\/\/kitsu.io\/*"
            ],
            "js": [
                "lib\/browser-polyfill.js",
                "lib\/linkify.js",
                "lib\/linkify-element.js",
                "kitsu\/prettified.js",
                "generic\/prettified.js"
            ]
        },
        {
            "matches": [
                "*:\/\/myanimelist.net\/ownlist\/*"
            ],
            "js": [
                "lib\/browser-polyfill.js",
                "lib\/linkify.js",
                "lib\/linkify-element.js",
                "mal\/prettified.js",
                "generic\/prettified.js"
            ],
            "all_frames": true
        }
    ]
}