├── package.json ├── manifest.json ├── index.js └── readme.md /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "prettier": { 3 | "arrowParens": "avoid", 4 | "printWidth": 120, 5 | "semi": false, 6 | "singleQuote": true, 7 | "trailingComma": "all" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest_version": 2, 3 | "name": "DMM", 4 | "description": "Chrome extension for bypassing area errors on dmm.com.", 5 | "version": "0.0.2", 6 | "background": { "persistent": true, "scripts": ["index.js"] }, 7 | "permissions": [ 8 | "webRequest", 9 | "webRequestBlocking", 10 | "*://*.dmm.com/*", 11 | "*://203.104.209.7/*" 12 | ] 13 | } 14 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | chrome.webRequest.onBeforeSendHeaders.addListener( 2 | details => { 3 | for (const header of details.requestHeaders) { 4 | if (header.name === 'Cookie') { 5 | header.value = header.value.replace('ckcy=2', 'ckcy=1') 6 | break 7 | } 8 | } 9 | return { requestHeaders: details.requestHeaders } 10 | }, 11 | { urls: ['*://*.dmm.com/*'] }, 12 | ['blocking', 'requestHeaders', 'extraHeaders'], 13 | ) 14 | 15 | chrome.webRequest.onBeforeRequest.addListener( 16 | details => ({ redirectUrl: `https://kcwiki.github.io/cache/${details.url.split('203.104.209.7/')[1]}` }), 17 | { 18 | urls: ['*://203.104.209.7/*'], 19 | types: ['main_frame', 'sub_frame', 'font', 'image', 'script', 'stylesheet'], 20 | }, 21 | ['blocking'], 22 | ) 23 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # `chrome-extension-dmm` 2 | 3 | Chrome extension for bypassing area errors on [DMM](https://www.dmm.com/). 4 | 5 | The following area errors are handled: 6 | 7 | - General DMM cookie-based area restriction is fixed by changing (`webRequest.onBeforeSendHeaders`) relevant cookie value. 8 | - KanColle gadget server area restriction is fixed by redirecting (`webRequest.onBeforeRequest`) gadget server requests to a third party [cache](https://github.com/kcwiki/cache), so it works like a CDN via GitHub pages (Fastly network). 9 | 10 | ## Installation 11 | 12 | - Open Extensions tab ([chrome://extensions](chrome://extensions)) 13 | - Make sure `Developer mode` is enabled 14 | - Load this folder (extracted from [ZIP file](https://github.com/kcwiki/chrome-extension-dmm/archive/master.zip)) by dropping it there or using `Load unpacked` button 15 | - You should see a new extension enabled (DMM 0.0.2) 16 | - Loading, e.g., [KanColle](http://www.dmm.com/netgame/social/-/gadgets/=/app_id=854854/) should work now. 17 | --------------------------------------------------------------------------------