Riku edited this page Mar 13, 2020 · 6 revisions

Nekos.cafe API

The API for nekos.cafe is pretty simple as long as you know how HTTP works.

Basic endpoints

https://nekos.cafe/api/info - GET

This endpoint provides information about the API, such as total files, if invite mode is on, or if admin signups are enabled, this is mainly for the frontend to decide to hide or unhide certain elements as they may not be needed. Example below.

{"inviteonly": true,"adminreg": false,"totalfiles": 63,"uploadURL": "https://i.nekos.cafe/","maxuploadsize": "100"}

User endpoints

https://nekos.cafe/api/user/info - POST

This endpoint requests the header token which contains the token of the user, it returns the username and the file count associated with the user. Example below.

{"username": "Moptop","filecount": 36}

https://nekos.cafe/api/user/signup - POST

This endpoint lets the user create an account. It requires the headers username, password, and optionally regkey if invite-only mode is enabled. It returns a message which says "Success!". The token is returned at the /api/token/get endpoint.


https://nekos.cafe/api/user/delete - POST

This endpoint deletes the user account, all files associated with the account are purged and all traces are deleted. The endpoint requires the headers username, and password. Token is not used due to security issues. The response should be "This user has been deleted" if the user was successfully purged.


https://nekos.cafe/api/user/passreset - POST

This endpoint is for resetting a user password, it requires the headers username, password, newpassword. The endpoint will respond with "The password has been reset!" on success. This will not regenerate the token, it is just for resetting the password.

Token endpoints

https://nekos.cafe/api/token/get - POST

This endpoint is for getting your user token, the required headers are username, password. It will return your token if the values are valid.

{"token": "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}

https://nekos.cafe/api/token/regen - POST

This endpoint is for regenerating your token, it requires the header token. If the token is valid it will return "Token has been regenerated!" and your token will be regenerated.


https://nekos.cafe/api/token/valid - POST

This endpoint is for verifying if the token is valid or not, it is mainly used for the frontend and serves no other purpose. If the token is valid it will send "This token is valid!"

Files endpoints

https://nekos.cafe/api/files/list - POST

This endpoint is for listing all files uploaded by the user, it requires the header token.

["file1.png","file2.png"."file3.png"]

https://nekos.cafe/api/files/upload - POST

This endpoint is for uploading files, it requires the header token. Uploads are handled with multipart data usually used in forms. The input field for this endpoint is called uploadFile. If the post is successful it will return the url of the new file.

{"url": "https://i.nekos.cafe/xxxxxxx.png"}

https://nekos.cafe/api/files/delete - POST

This endpoint is for deleting files for the user, it requires the headers token, and file. The file header must contain a valid filename that belongs to the user. If the file is successfuly deleted it will return "xxxxxxx.png has been deleted!"


Admin endpoints

https://nekos.cafe/api/admin/signup - POST

This is for registering admins. The required headers are username, password, and adminkey. If the admin is created it will return "Success!"


https://nekos.cafe/api/admin/regkeygen - POST

This endpoint is for creating regkeys. Regkeys are registration keys which are used for invite-only instances of nekos.cafe. The required headers are token.

{"regkey": "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}

https://nekos.cafe/api/admin/token/valid - POST

This endpoint is for validating admin tokens, the required header is token, if thie is successful it should return "This token is valid!"


https://nekos.cafe/api/admin/token/get - POST

This endpoint is for getting admin token. The required headers are username, password.

{"token": "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}

https://nekos.cafe/api/admin/list/uploads - POST

This endpoint is for getting a list of all uploads and users associated with the files. The required headers are token, query. Query must be the EXACT name of the file, this is useful for things such as DMCA takedowns. If you want to list all files without a query set query to " " in your request.

[{file: "ksjOX5O.png",username: "user1"},{file: "WzeAnNp.js",username: "user2"}]

https://nekos.cafe/api/admin/list/users - POST

This endpoint is for getting a list of all users, the required headers are token, query. Query must be the EXACT name of the user. If you want to list all files without a query set query to " " in your request.

["user1","user2"]

https://nekos.cafe/api/admin/delete/file - POST

This endpoint is for deleting a file. The required headers are token, file. If this was successful it should return a message like "xxxxxxx.png has been deleted!"


https://nekos.cafe/api/admin/delete/user - POST

This endpoint is for deleting a user and all of the users files. The required headers are username, token. If this is successful it should return "This user has been deleted"


Clone this wiki locally

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
Riku edited this page Mar 13, 2020 · 6 revisions

Nekos.cafe API

The API for nekos.cafe is pretty simple as long as you know how HTTP works.

Basic endpoints

https://nekos.cafe/api/info - GET

This endpoint provides information about the API, such as total files, if invite mode is on, or if admin signups are enabled, this is mainly for the frontend to decide to hide or unhide certain elements as they may not be needed. Example below.

{"inviteonly": true,"adminreg": false,"totalfiles": 63,"uploadURL": "https://i.nekos.cafe/","maxuploadsize": "100"}

User endpoints

https://nekos.cafe/api/user/info - POST

This endpoint requests the header token which contains the token of the user, it returns the username and the file count associated with the user. Example below.

{"username": "Moptop","filecount": 36}

https://nekos.cafe/api/user/signup - POST

This endpoint lets the user create an account. It requires the headers username, password, and optionally regkey if invite-only mode is enabled. It returns a message which says "Success!". The token is returned at the /api/token/get endpoint.


https://nekos.cafe/api/user/delete - POST

This endpoint deletes the user account, all files associated with the account are purged and all traces are deleted. The endpoint requires the headers username, and password. Token is not used due to security issues. The response should be "This user has been deleted" if the user was successfully purged.


https://nekos.cafe/api/user/passreset - POST

This endpoint is for resetting a user password, it requires the headers username, password, newpassword. The endpoint will respond with "The password has been reset!" on success. This will not regenerate the token, it is just for resetting the password.

Token endpoints

https://nekos.cafe/api/token/get - POST

This endpoint is for getting your user token, the required headers are username, password. It will return your token if the values are valid.

{"token": "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}

https://nekos.cafe/api/token/regen - POST

This endpoint is for regenerating your token, it requires the header token. If the token is valid it will return "Token has been regenerated!" and your token will be regenerated.


https://nekos.cafe/api/token/valid - POST

This endpoint is for verifying if the token is valid or not, it is mainly used for the frontend and serves no other purpose. If the token is valid it will send "This token is valid!"

Files endpoints

https://nekos.cafe/api/files/list - POST

This endpoint is for listing all files uploaded by the user, it requires the header token.

["file1.png","file2.png"."file3.png"]

https://nekos.cafe/api/files/upload - POST

This endpoint is for uploading files, it requires the header token. Uploads are handled with multipart data usually used in forms. The input field for this endpoint is called uploadFile. If the post is successful it will return the url of the new file.

{"url": "https://i.nekos.cafe/xxxxxxx.png"}

https://nekos.cafe/api/files/delete - POST

This endpoint is for deleting files for the user, it requires the headers token, and file. The file header must contain a valid filename that belongs to the user. If the file is successfuly deleted it will return "xxxxxxx.png has been deleted!"


Admin endpoints

https://nekos.cafe/api/admin/signup - POST

This is for registering admins. The required headers are username, password, and adminkey. If the admin is created it will return "Success!"


https://nekos.cafe/api/admin/regkeygen - POST

This endpoint is for creating regkeys. Regkeys are registration keys which are used for invite-only instances of nekos.cafe. The required headers are token.

{"regkey": "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}

https://nekos.cafe/api/admin/token/valid - POST

This endpoint is for validating admin tokens, the required header is token, if thie is successful it should return "This token is valid!"


https://nekos.cafe/api/admin/token/get - POST

This endpoint is for getting admin token. The required headers are username, password.

{"token": "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}

https://nekos.cafe/api/admin/list/uploads - POST

This endpoint is for getting a list of all uploads and users associated with the files. The required headers are token, query. Query must be the EXACT name of the file, this is useful for things such as DMCA takedowns. If you want to list all files without a query set query to " " in your request.

[{file: "ksjOX5O.png",username: "user1"},{file: "WzeAnNp.js",username: "user2"}]

https://nekos.cafe/api/admin/list/users - POST

This endpoint is for getting a list of all users, the required headers are token, query. Query must be the EXACT name of the user. If you want to list all files without a query set query to " " in your request.

["user1","user2"]

https://nekos.cafe/api/admin/delete/file - POST

This endpoint is for deleting a file. The required headers are token, file. If this was successful it should return a message like "xxxxxxx.png has been deleted!"


https://nekos.cafe/api/admin/delete/user - POST

This endpoint is for deleting a user and all of the users files. The required headers are username, token. If this is successful it should return "This user has been deleted"


Clone this wiki locally

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Riku edited this page Mar 13, 2020 · 6 revisions

Nekos.cafe API

The API for nekos.cafe is pretty simple as long as you know how HTTP works.

Basic endpoints

https://nekos.cafe/api/info - GET

This endpoint provides information about the API, such as total files, if invite mode is on, or if admin signups are enabled, this is mainly for the frontend to decide to hide or unhide certain elements as they may not be needed. Example below.

{"inviteonly": true,"adminreg": false,"totalfiles": 63,"uploadURL": "https://i.nekos.cafe/","maxuploadsize": "100"}

User endpoints

https://nekos.cafe/api/user/info - POST

This endpoint requests the header token which contains the token of the user, it returns the username and the file count associated with the user. Example below.

{"username": "Moptop","filecount": 36}

https://nekos.cafe/api/user/signup - POST

This endpoint lets the user create an account. It requires the headers username, password, and optionally regkey if invite-only mode is enabled. It returns a message which says "Success!". The token is returned at the /api/token/get endpoint.


https://nekos.cafe/api/user/delete - POST

This endpoint deletes the user account, all files associated with the account are purged and all traces are deleted. The endpoint requires the headers username, and password. Token is not used due to security issues. The response should be "This user has been deleted" if the user was successfully purged.


https://nekos.cafe/api/user/passreset - POST

This endpoint is for resetting a user password, it requires the headers username, password, newpassword. The endpoint will respond with "The password has been reset!" on success. This will not regenerate the token, it is just for resetting the password.

Token endpoints

https://nekos.cafe/api/token/get - POST

This endpoint is for getting your user token, the required headers are username, password. It will return your token if the values are valid.

{"token": "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}

https://nekos.cafe/api/token/regen - POST

This endpoint is for regenerating your token, it requires the header token. If the token is valid it will return "Token has been regenerated!" and your token will be regenerated.


https://nekos.cafe/api/token/valid - POST

This endpoint is for verifying if the token is valid or not, it is mainly used for the frontend and serves no other purpose. If the token is valid it will send "This token is valid!"

Files endpoints

https://nekos.cafe/api/files/list - POST

This endpoint is for listing all files uploaded by the user, it requires the header token.

["file1.png","file2.png"."file3.png"]

https://nekos.cafe/api/files/upload - POST

This endpoint is for uploading files, it requires the header token. Uploads are handled with multipart data usually used in forms. The input field for this endpoint is called uploadFile. If the post is successful it will return the url of the new file.

{"url": "https://i.nekos.cafe/xxxxxxx.png"}

https://nekos.cafe/api/files/delete - POST

This endpoint is for deleting files for the user, it requires the headers token, and file. The file header must contain a valid filename that belongs to the user. If the file is successfuly deleted it will return "xxxxxxx.png has been deleted!"


Admin endpoints

https://nekos.cafe/api/admin/signup - POST

This is for registering admins. The required headers are username, password, and adminkey. If the admin is created it will return "Success!"


https://nekos.cafe/api/admin/regkeygen - POST

This endpoint is for creating regkeys. Regkeys are registration keys which are used for invite-only instances of nekos.cafe. The required headers are token.

{"regkey": "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}

https://nekos.cafe/api/admin/token/valid - POST

This endpoint is for validating admin tokens, the required header is token, if thie is successful it should return "This token is valid!"


https://nekos.cafe/api/admin/token/get - POST

This endpoint is for getting admin token. The required headers are username, password.

{"token": "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}

https://nekos.cafe/api/admin/list/uploads - POST

This endpoint is for getting a list of all uploads and users associated with the files. The required headers are token, query. Query must be the EXACT name of the file, this is useful for things such as DMCA takedowns. If you want to list all files without a query set query to " " in your request.

[{file: "ksjOX5O.png",username: "user1"},{file: "WzeAnNp.js",username: "user2"}]

https://nekos.cafe/api/admin/list/users - POST

This endpoint is for getting a list of all users, the required headers are token, query. Query must be the EXACT name of the user. If you want to list all files without a query set query to " " in your request.

["user1","user2"]

https://nekos.cafe/api/admin/delete/file - POST

This endpoint is for deleting a file. The required headers are token, file. If this was successful it should return a message like "xxxxxxx.png has been deleted!"


https://nekos.cafe/api/admin/delete/user - POST

This endpoint is for deleting a user and all of the users files. The required headers are username, token. If this is successful it should return "This user has been deleted"


Clone this wiki locally

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Riku edited this page Mar 13, 2020 · 6 revisions

Nekos.cafe API

The API for nekos.cafe is pretty simple as long as you know how HTTP works.

Basic endpoints

https://nekos.cafe/api/info - GET

This endpoint provides information about the API, such as total files, if invite mode is on, or if admin signups are enabled, this is mainly for the frontend to decide to hide or unhide certain elements as they may not be needed. Example below.

{"inviteonly": true,"adminreg": false,"totalfiles": 63,"uploadURL": "https://i.nekos.cafe/","maxuploadsize": "100"}

User endpoints

https://nekos.cafe/api/user/info - POST

This endpoint requests the header token which contains the token of the user, it returns the username and the file count associated with the user. Example below.

{"username": "Moptop","filecount": 36}

https://nekos.cafe/api/user/signup - POST

This endpoint lets the user create an account. It requires the headers username, password, and optionally regkey if invite-only mode is enabled. It returns a message which says "Success!". The token is returned at the /api/token/get endpoint.


https://nekos.cafe/api/user/delete - POST

This endpoint deletes the user account, all files associated with the account are purged and all traces are deleted. The endpoint requires the headers username, and password. Token is not used due to security issues. The response should be "This user has been deleted" if the user was successfully purged.


https://nekos.cafe/api/user/passreset - POST

This endpoint is for resetting a user password, it requires the headers username, password, newpassword. The endpoint will respond with "The password has been reset!" on success. This will not regenerate the token, it is just for resetting the password.

Token endpoints

https://nekos.cafe/api/token/get - POST

This endpoint is for getting your user token, the required headers are username, password. It will return your token if the values are valid.

{"token": "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}

https://nekos.cafe/api/token/regen - POST

This endpoint is for regenerating your token, it requires the header token. If the token is valid it will return "Token has been regenerated!" and your token will be regenerated.


https://nekos.cafe/api/token/valid - POST

This endpoint is for verifying if the token is valid or not, it is mainly used for the frontend and serves no other purpose. If the token is valid it will send "This token is valid!"

Files endpoints

https://nekos.cafe/api/files/list - POST

This endpoint is for listing all files uploaded by the user, it requires the header token.

["file1.png","file2.png"."file3.png"]

https://nekos.cafe/api/files/upload - POST

This endpoint is for uploading files, it requires the header token. Uploads are handled with multipart data usually used in forms. The input field for this endpoint is called uploadFile. If the post is successful it will return the url of the new file.

{"url": "https://i.nekos.cafe/xxxxxxx.png"}

https://nekos.cafe/api/files/delete - POST

This endpoint is for deleting files for the user, it requires the headers token, and file. The file header must contain a valid filename that belongs to the user. If the file is successfuly deleted it will return "xxxxxxx.png has been deleted!"


Admin endpoints

https://nekos.cafe/api/admin/signup - POST

This is for registering admins. The required headers are username, password, and adminkey. If the admin is created it will return "Success!"


https://nekos.cafe/api/admin/regkeygen - POST

This endpoint is for creating regkeys. Regkeys are registration keys which are used for invite-only instances of nekos.cafe. The required headers are token.

{"regkey": "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}

https://nekos.cafe/api/admin/token/valid - POST

This endpoint is for validating admin tokens, the required header is token, if thie is successful it should return "This token is valid!"


https://nekos.cafe/api/admin/token/get - POST

This endpoint is for getting admin token. The required headers are username, password.

{"token": "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}

https://nekos.cafe/api/admin/list/uploads - POST

This endpoint is for getting a list of all uploads and users associated with the files. The required headers are token, query. Query must be the EXACT name of the file, this is useful for things such as DMCA takedowns. If you want to list all files without a query set query to " " in your request.

[{file: "ksjOX5O.png",username: "user1"},{file: "WzeAnNp.js",username: "user2"}]

https://nekos.cafe/api/admin/list/users - POST

This endpoint is for getting a list of all users, the required headers are token, query. Query must be the EXACT name of the user. If you want to list all files without a query set query to " " in your request.

["user1","user2"]

https://nekos.cafe/api/admin/delete/file - POST

This endpoint is for deleting a file. The required headers are token, file. If this was successful it should return a message like "xxxxxxx.png has been deleted!"


https://nekos.cafe/api/admin/delete/user - POST

This endpoint is for deleting a user and all of the users files. The required headers are username, token. If this is successful it should return "This user has been deleted"


Clone this wiki locally

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
Riku edited this page Mar 13, 2020 · 6 revisions

Nekos.cafe API

The API for nekos.cafe is pretty simple as long as you know how HTTP works.

Basic endpoints

https://nekos.cafe/api/info - GET

This endpoint provides information about the API, such as total files, if invite mode is on, or if admin signups are enabled, this is mainly for the frontend to decide to hide or unhide certain elements as they may not be needed. Example below.

{"inviteonly": true,"adminreg": false,"totalfiles": 63,"uploadURL": "https://i.nekos.cafe/","maxuploadsize": "100"}

User endpoints

https://nekos.cafe/api/user/info - POST

This endpoint requests the header token which contains the token of the user, it returns the username and the file count associated with the user. Example below.

{"username": "Moptop","filecount": 36}

https://nekos.cafe/api/user/signup - POST

This endpoint lets the user create an account. It requires the headers username, password, and optionally regkey if invite-only mode is enabled. It returns a message which says "Success!". The token is returned at the /api/token/get endpoint.


https://nekos.cafe/api/user/delete - POST

This endpoint deletes the user account, all files associated with the account are purged and all traces are deleted. The endpoint requires the headers username, and password. Token is not used due to security issues. The response should be "This user has been deleted" if the user was successfully purged.


https://nekos.cafe/api/user/passreset - POST

This endpoint is for resetting a user password, it requires the headers username, password, newpassword. The endpoint will respond with "The password has been reset!" on success. This will not regenerate the token, it is just for resetting the password.

Token endpoints

https://nekos.cafe/api/token/get - POST

This endpoint is for getting your user token, the required headers are username, password. It will return your token if the values are valid.

{"token": "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}

https://nekos.cafe/api/token/regen - POST

This endpoint is for regenerating your token, it requires the header token. If the token is valid it will return "Token has been regenerated!" and your token will be regenerated.


https://nekos.cafe/api/token/valid - POST

This endpoint is for verifying if the token is valid or not, it is mainly used for the frontend and serves no other purpose. If the token is valid it will send "This token is valid!"

Files endpoints

https://nekos.cafe/api/files/list - POST

This endpoint is for listing all files uploaded by the user, it requires the header token.

["file1.png","file2.png"."file3.png"]

https://nekos.cafe/api/files/upload - POST

This endpoint is for uploading files, it requires the header token. Uploads are handled with multipart data usually used in forms. The input field for this endpoint is called uploadFile. If the post is successful it will return the url of the new file.

{"url": "https://i.nekos.cafe/xxxxxxx.png"}

https://nekos.cafe/api/files/delete - POST

This endpoint is for deleting files for the user, it requires the headers token, and file. The file header must contain a valid filename that belongs to the user. If the file is successfuly deleted it will return "xxxxxxx.png has been deleted!"


Admin endpoints

https://nekos.cafe/api/admin/signup - POST

This is for registering admins. The required headers are username, password, and adminkey. If the admin is created it will return "Success!"


https://nekos.cafe/api/admin/regkeygen - POST

This endpoint is for creating regkeys. Regkeys are registration keys which are used for invite-only instances of nekos.cafe. The required headers are token.

{"regkey": "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}

https://nekos.cafe/api/admin/token/valid - POST

This endpoint is for validating admin tokens, the required header is token, if thie is successful it should return "This token is valid!"


https://nekos.cafe/api/admin/token/get - POST

This endpoint is for getting admin token. The required headers are username, password.

{"token": "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}

https://nekos.cafe/api/admin/list/uploads - POST

This endpoint is for getting a list of all uploads and users associated with the files. The required headers are token, query. Query must be the EXACT name of the file, this is useful for things such as DMCA takedowns. If you want to list all files without a query set query to " " in your request.

[{file: "ksjOX5O.png",username: "user1"},{file: "WzeAnNp.js",username: "user2"}]

https://nekos.cafe/api/admin/list/users - POST

This endpoint is for getting a list of all users, the required headers are token, query. Query must be the EXACT name of the user. If you want to list all files without a query set query to " " in your request.

["user1","user2"]

https://nekos.cafe/api/admin/delete/file - POST

This endpoint is for deleting a file. The required headers are token, file. If this was successful it should return a message like "xxxxxxx.png has been deleted!"


https://nekos.cafe/api/admin/delete/user - POST

This endpoint is for deleting a user and all of the users files. The required headers are username, token. If this is successful it should return "This user has been deleted"


Clone this wiki locally

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Riku edited this page Mar 13, 2020 · 6 revisions

Nekos.cafe API

The API for nekos.cafe is pretty simple as long as you know how HTTP works.

Basic endpoints

https://nekos.cafe/api/info - GET

This endpoint provides information about the API, such as total files, if invite mode is on, or if admin signups are enabled, this is mainly for the frontend to decide to hide or unhide certain elements as they may not be needed. Example below.

{"inviteonly": true,"adminreg": false,"totalfiles": 63,"uploadURL": "https://i.nekos.cafe/","maxuploadsize": "100"}

User endpoints

https://nekos.cafe/api/user/info - POST

This endpoint requests the header token which contains the token of the user, it returns the username and the file count associated with the user. Example below.

{"username": "Moptop","filecount": 36}

https://nekos.cafe/api/user/signup - POST

This endpoint lets the user create an account. It requires the headers username, password, and optionally regkey if invite-only mode is enabled. It returns a message which says "Success!". The token is returned at the /api/token/get endpoint.


https://nekos.cafe/api/user/delete - POST

This endpoint deletes the user account, all files associated with the account are purged and all traces are deleted. The endpoint requires the headers username, and password. Token is not used due to security issues. The response should be "This user has been deleted" if the user was successfully purged.


https://nekos.cafe/api/user/passreset - POST

This endpoint is for resetting a user password, it requires the headers username, password, newpassword. The endpoint will respond with "The password has been reset!" on success. This will not regenerate the token, it is just for resetting the password.

Token endpoints

https://nekos.cafe/api/token/get - POST

This endpoint is for getting your user token, the required headers are username, password. It will return your token if the values are valid.

{"token": "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}

https://nekos.cafe/api/token/regen - POST

This endpoint is for regenerating your token, it requires the header token. If the token is valid it will return "Token has been regenerated!" and your token will be regenerated.


https://nekos.cafe/api/token/valid - POST

This endpoint is for verifying if the token is valid or not, it is mainly used for the frontend and serves no other purpose. If the token is valid it will send "This token is valid!"

Files endpoints

https://nekos.cafe/api/files/list - POST

This endpoint is for listing all files uploaded by the user, it requires the header token.

["file1.png","file2.png"."file3.png"]

https://nekos.cafe/api/files/upload - POST

This endpoint is for uploading files, it requires the header token. Uploads are handled with multipart data usually used in forms. The input field for this endpoint is called uploadFile. If the post is successful it will return the url of the new file.

{"url": "https://i.nekos.cafe/xxxxxxx.png"}

https://nekos.cafe/api/files/delete - POST

This endpoint is for deleting files for the user, it requires the headers token, and file. The file header must contain a valid filename that belongs to the user. If the file is successfuly deleted it will return "xxxxxxx.png has been deleted!"


Admin endpoints

https://nekos.cafe/api/admin/signup - POST

This is for registering admins. The required headers are username, password, and adminkey. If the admin is created it will return "Success!"


https://nekos.cafe/api/admin/regkeygen - POST

This endpoint is for creating regkeys. Regkeys are registration keys which are used for invite-only instances of nekos.cafe. The required headers are token.

{"regkey": "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}

https://nekos.cafe/api/admin/token/valid - POST

This endpoint is for validating admin tokens, the required header is token, if thie is successful it should return "This token is valid!"


https://nekos.cafe/api/admin/token/get - POST

This endpoint is for getting admin token. The required headers are username, password.

{"token": "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}

https://nekos.cafe/api/admin/list/uploads - POST

This endpoint is for getting a list of all uploads and users associated with the files. The required headers are token, query. Query must be the EXACT name of the file, this is useful for things such as DMCA takedowns. If you want to list all files without a query set query to " " in your request.

[{file: "ksjOX5O.png",username: "user1"},{file: "WzeAnNp.js",username: "user2"}]

https://nekos.cafe/api/admin/list/users - POST

This endpoint is for getting a list of all users, the required headers are token, query. Query must be the EXACT name of the user. If you want to list all files without a query set query to " " in your request.

["user1","user2"]

https://nekos.cafe/api/admin/delete/file - POST

This endpoint is for deleting a file. The required headers are token, file. If this was successful it should return a message like "xxxxxxx.png has been deleted!"


https://nekos.cafe/api/admin/delete/user - POST

This endpoint is for deleting a user and all of the users files. The required headers are username, token. If this is successful it should return "This user has been deleted"


Clone this wiki locally

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Riku edited this page Mar 13, 2020 · 6 revisions

Nekos.cafe API

The API for nekos.cafe is pretty simple as long as you know how HTTP works.

Basic endpoints

https://nekos.cafe/api/info - GET

This endpoint provides information about the API, such as total files, if invite mode is on, or if admin signups are enabled, this is mainly for the frontend to decide to hide or unhide certain elements as they may not be needed. Example below.

{"inviteonly": true,"adminreg": false,"totalfiles": 63,"uploadURL": "https://i.nekos.cafe/","maxuploadsize": "100"}

User endpoints

https://nekos.cafe/api/user/info - POST

This endpoint requests the header token which contains the token of the user, it returns the username and the file count associated with the user. Example below.

{"username": "Moptop","filecount": 36}

https://nekos.cafe/api/user/signup - POST

This endpoint lets the user create an account. It requires the headers username, password, and optionally regkey if invite-only mode is enabled. It returns a message which says "Success!". The token is returned at the /api/token/get endpoint.


https://nekos.cafe/api/user/delete - POST

This endpoint deletes the user account, all files associated with the account are purged and all traces are deleted. The endpoint requires the headers username, and password. Token is not used due to security issues. The response should be "This user has been deleted" if the user was successfully purged.


https://nekos.cafe/api/user/passreset - POST

This endpoint is for resetting a user password, it requires the headers username, password, newpassword. The endpoint will respond with "The password has been reset!" on success. This will not regenerate the token, it is just for resetting the password.

Token endpoints

https://nekos.cafe/api/token/get - POST

This endpoint is for getting your user token, the required headers are username, password. It will return your token if the values are valid.

{"token": "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}

https://nekos.cafe/api/token/regen - POST

This endpoint is for regenerating your token, it requires the header token. If the token is valid it will return "Token has been regenerated!" and your token will be regenerated.


https://nekos.cafe/api/token/valid - POST

This endpoint is for verifying if the token is valid or not, it is mainly used for the frontend and serves no other purpose. If the token is valid it will send "This token is valid!"

Files endpoints

https://nekos.cafe/api/files/list - POST

This endpoint is for listing all files uploaded by the user, it requires the header token.

["file1.png","file2.png"."file3.png"]

https://nekos.cafe/api/files/upload - POST

This endpoint is for uploading files, it requires the header token. Uploads are handled with multipart data usually used in forms. The input field for this endpoint is called uploadFile. If the post is successful it will return the url of the new file.

{"url": "https://i.nekos.cafe/xxxxxxx.png"}

https://nekos.cafe/api/files/delete - POST

This endpoint is for deleting files for the user, it requires the headers token, and file. The file header must contain a valid filename that belongs to the user. If the file is successfuly deleted it will return "xxxxxxx.png has been deleted!"


Admin endpoints

https://nekos.cafe/api/admin/signup - POST

This is for registering admins. The required headers are username, password, and adminkey. If the admin is created it will return "Success!"


https://nekos.cafe/api/admin/regkeygen - POST

This endpoint is for creating regkeys. Regkeys are registration keys which are used for invite-only instances of nekos.cafe. The required headers are token.

{"regkey": "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}

https://nekos.cafe/api/admin/token/valid - POST

This endpoint is for validating admin tokens, the required header is token, if thie is successful it should return "This token is valid!"


https://nekos.cafe/api/admin/token/get - POST

This endpoint is for getting admin token. The required headers are username, password.

{"token": "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}

https://nekos.cafe/api/admin/list/uploads - POST

This endpoint is for getting a list of all uploads and users associated with the files. The required headers are token, query. Query must be the EXACT name of the file, this is useful for things such as DMCA takedowns. If you want to list all files without a query set query to " " in your request.

[{file: "ksjOX5O.png",username: "user1"},{file: "WzeAnNp.js",username: "user2"}]

https://nekos.cafe/api/admin/list/users - POST

This endpoint is for getting a list of all users, the required headers are token, query. Query must be the EXACT name of the user. If you want to list all files without a query set query to " " in your request.

["user1","user2"]

https://nekos.cafe/api/admin/delete/file - POST

This endpoint is for deleting a file. The required headers are token, file. If this was successful it should return a message like "xxxxxxx.png has been deleted!"


https://nekos.cafe/api/admin/delete/user - POST

This endpoint is for deleting a user and all of the users files. The required headers are username, token. If this is successful it should return "This user has been deleted"


Clone this wiki locally

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
Riku edited this page Mar 13, 2020 · 6 revisions

Nekos.cafe API

The API for nekos.cafe is pretty simple as long as you know how HTTP works.

Basic endpoints

https://nekos.cafe/api/info - GET

This endpoint provides information about the API, such as total files, if invite mode is on, or if admin signups are enabled, this is mainly for the frontend to decide to hide or unhide certain elements as they may not be needed. Example below.

{"inviteonly": true,"adminreg": false,"totalfiles": 63,"uploadURL": "https://i.nekos.cafe/","maxuploadsize": "100"}

User endpoints

https://nekos.cafe/api/user/info - POST

This endpoint requests the header token which contains the token of the user, it returns the username and the file count associated with the user. Example below.

{"username": "Moptop","filecount": 36}

https://nekos.cafe/api/user/signup - POST

This endpoint lets the user create an account. It requires the headers username, password, and optionally regkey if invite-only mode is enabled. It returns a message which says "Success!". The token is returned at the /api/token/get endpoint.


https://nekos.cafe/api/user/delete - POST

This endpoint deletes the user account, all files associated with the account are purged and all traces are deleted. The endpoint requires the headers username, and password. Token is not used due to security issues. The response should be "This user has been deleted" if the user was successfully purged.


https://nekos.cafe/api/user/passreset - POST

This endpoint is for resetting a user password, it requires the headers username, password, newpassword. The endpoint will respond with "The password has been reset!" on success. This will not regenerate the token, it is just for resetting the password.

Token endpoints

https://nekos.cafe/api/token/get - POST

This endpoint is for getting your user token, the required headers are username, password. It will return your token if the values are valid.

{"token": "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}

https://nekos.cafe/api/token/regen - POST

This endpoint is for regenerating your token, it requires the header token. If the token is valid it will return "Token has been regenerated!" and your token will be regenerated.


https://nekos.cafe/api/token/valid - POST

This endpoint is for verifying if the token is valid or not, it is mainly used for the frontend and serves no other purpose. If the token is valid it will send "This token is valid!"

Files endpoints

https://nekos.cafe/api/files/list - POST

This endpoint is for listing all files uploaded by the user, it requires the header token.

["file1.png","file2.png"."file3.png"]

https://nekos.cafe/api/files/upload - POST

This endpoint is for uploading files, it requires the header token. Uploads are handled with multipart data usually used in forms. The input field for this endpoint is called uploadFile. If the post is successful it will return the url of the new file.

{"url": "https://i.nekos.cafe/xxxxxxx.png"}

https://nekos.cafe/api/files/delete - POST

This endpoint is for deleting files for the user, it requires the headers token, and file. The file header must contain a valid filename that belongs to the user. If the file is successfuly deleted it will return "xxxxxxx.png has been deleted!"


Admin endpoints

https://nekos.cafe/api/admin/signup - POST

This is for registering admins. The required headers are username, password, and adminkey. If the admin is created it will return "Success!"


https://nekos.cafe/api/admin/regkeygen - POST

This endpoint is for creating regkeys. Regkeys are registration keys which are used for invite-only instances of nekos.cafe. The required headers are token.

{"regkey": "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}

https://nekos.cafe/api/admin/token/valid - POST

This endpoint is for validating admin tokens, the required header is token, if thie is successful it should return "This token is valid!"


https://nekos.cafe/api/admin/token/get - POST

This endpoint is for getting admin token. The required headers are username, password.

{"token": "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}

https://nekos.cafe/api/admin/list/uploads - POST

This endpoint is for getting a list of all uploads and users associated with the files. The required headers are token, query. Query must be the EXACT name of the file, this is useful for things such as DMCA takedowns. If you want to list all files without a query set query to " " in your request.

[{file: "ksjOX5O.png",username: "user1"},{file: "WzeAnNp.js",username: "user2"}]

https://nekos.cafe/api/admin/list/users - POST

This endpoint is for getting a list of all users, the required headers are token, query. Query must be the EXACT name of the user. If you want to list all files without a query set query to " " in your request.

["user1","user2"]

https://nekos.cafe/api/admin/delete/file - POST

This endpoint is for deleting a file. The required headers are token, file. If this was successful it should return a message like "xxxxxxx.png has been deleted!"


https://nekos.cafe/api/admin/delete/user - POST

This endpoint is for deleting a user and all of the users files. The required headers are username, token. If this is successful it should return "This user has been deleted"


Clone this wiki locally