API 参考
GET /
返回索引页面。
GET /<name>[.<ext>] 或 /<name>/<filename>[.<ext>]
获取名称为 <name> 的粘贴。默认情况下,将返回粘贴的原始内容。
Content-Type 头设置为 text/plain;charset=UTF-8。如果给定了 <ext>,工作程序将根据 <ext> 推断 MIME 类型并更改 Content-Type。此方法接受以下查询字符串参数:
Content-Disposition 头默认设置为 inline,但可以通过 ?a 查询字符串覆盖。如果粘贴是带有文件名上传的,或者在给定的请求 URL 中设置了 <filename>,则 Content-Disposition 将附加 filename*,指示文件名(如果存在 <ext>,则包含)。
-
?a=:可选。如果存在,设置Content-Disposition为attachment。 -
?lang=<lang>:可选。返回一个由 prism.js 提供语法高亮的网页。 -
?mime=<mime>:可选。指定 MIME 类型,抑制<ext>的影响。如果指定了lang,则没有效果(在这种情况下 MIME 类型始终为text/html)。
示例:GET /abcd?lang=js,GET /abcd?mime=application/json。
如果发生错误,工作程序将返回不同于 200 的状态码:
404:未找到给定名称的粘贴。500:意外异常。您可以向作者报告以进行修复。
使用示例:
$ curl https://light-gpt.eu.org/i-p-
https://web.archive.org/web/20210328091143/https://mp.weixin.qq.com/s/5phCQP7i-JpSvzPEMGk56Q
$ curl https://light-gpt.eu.org/~panty.jpg | feh -
$ firefox 'https://light-gpt.eu.org/kf7z?lang=nix'
$ curl 'https://light-gpt.eu.org/~panty.jpg?mime=image/png' -w '%{content_type}' -o /dev/null -sS
image/png;charset=UTF-8
GET /<name>:<passwd>
返回用于编辑名称为 <name> 且密码为 <passwd> 的粘贴的网页。
如果发生错误,工作程序将返回不同于 200 的状态码:
404:未找到给定名称的粘贴。500:意外异常。您可以向作者报告以进行修复。
GET /u/<name>
重定向到名称为 <name> 的粘贴中记录的 URL。
如果发生错误,工作程序将返回不同于 302 的状态码:
404:未找到给定名称的粘贴。500:意外异常。您可以向作者报告以进行修复。
使用示例:
$ firefox https://light-gpt.eu.org/u/i-p-
$ curl -L https://light-gpt.eu.org/u/i-p-
GET /a/<name>
返回从名称为 <name> 的粘贴中存储的 Markdown 文件转换的 HTML。Markdown 转换遵循 GitHub Flavored Markdown (GFM) 规范,由 remark-gfm 支持。
语法高亮由 prism.js 支持。LaTeX 数学由 MathJax 支持。
如果发生错误,工作程序将返回不同于 200 的状态码:
404:未找到给定名称的粘贴。500:意外异常。您可以向作者报告以进行修复。
使用示例:
# Header 1
这是 `test.md` 的内容
<script>
alert("脚本应被移除")
</script>
## Header 2
| abc | defghi |
:-: | -----------:
bar | baz
**粗体**,`等宽字体`,*斜体*,~~删除线~~, [链接](https://github.com)
- A
- A1
- A2
- B

1. 第一个
2. 第二个
> 引用
$
\int_{-\infty}^{\infty} e^{-x^2} = \sqrt{\pi}
$
$ curl -Fc=@test.md -Fn=test-md https://light-gpt.eu.org
$ firefox https://light-gpt.eu.org/a/~test-md
POST /
上传您的粘贴。接受表单数据中的参数:
-
c:必填。粘贴的内容,文本或二进制。大小不得超过 10 MB。其Content-Disposition中的filename将在获取粘贴时出现。 -
e:可选。粘贴的过期时间。在此时间段后,粘贴将被永久删除。应为整数或带有可选单位的浮点数(默认为秒)。支持的单位:s(秒)、m(分钟)、h(小时)、d(天)、M(月)。例如,360.24表示 360.24 秒;25d解释为 25 天。由于 Cloudflare KV 存储的限制,时间不得小于 60 秒。 -
s:可选。允许您修改和删除粘贴的密码。如果未指定,工作程序将生成一个随机字符串作为密码。 -
n:可选。您的粘贴的自定义名称。如果未指定,工作程序将生成一个随机字符串(默认 4 个字符)作为名称。获取自定义名称的粘贴时需要用~前缀。名称至少 3 个字符,由字母、数字和+_-[]*$=@,;/中的字符组成。 -
p:可选。私密模式的标志。如果指定为任何值,粘贴的名称最长为 24 个字符。如果使用了n,则无效。
POST 方法默认返回 JSON 字符串,如果没有错误发生,例如:
{
"url": "https://light-gpt.eu.org/abcd",
"admin": "https://light-gpt.eu.org/abcd:w2eHqyZGc@CQzWLN=BiJiQxZ",
"expire": 100,
"isPrivate": false
}
字段解释:
url:字符串。获取粘贴的 URL。当使用自定义名称时,格式为https://light-gpt.eu.org/~myname。suggestUrl:字符串或 null。可能包含文件名或 URL 重定向的 URL。admin:字符串。更新和删除粘贴的 URL,即url后缀为~和密码。expire:字符串或 null。过期秒数。isPrivate:布尔值。粘贴是否为私密模式。
如果发生错误,工作程序将返回不同于 200 的状态码:
400:您的请求格式错误。409:名称已被使用。413:内容过大。500:意外异常。您可以向作者报告以进行修复。
使用示例:
$ curl -Fc="kawaii" -Fe=300 -Fn=hitagi https://light-gpt.eu.org # 上传一些文本
{
"url": "https://light-gpt.eu.org/~hitagi",
"admin": "https://light-gpt.eu.org/~hitagi:22@-OJWcTOH2jprTJWYadmDv",
"isPrivate": false,
"expire": 300
}
$ curl -Fc=@panty.jpg -Fn=panty -Fs=12345678 https://light-gpt.eu.org # 上传文件
{
"url": "https://light-gpt.eu.org/~panty",
"admin": "https://light-gpt.eu.org/~panty:12345678",
"isPrivate": false
}
# 由于 `curl` 将一些字符视为字段分隔符,如果字段包含分号或逗号,则字段应用双引号引起来
$ curl -Fc=@panty.jpg -Fn='"hi/hello;g,ood"' -Fs=12345678 https://light-gpt.eu.org
{
"url": "https://light-gpt.eu.org/~hi/hello;g,ood",
"admin": "https://light-gpt.eu.org/~hi/hello;g,ood:QJhMKh5WR6z36QRAAn5Q5GZh",
"isPrivate": false
}
PUT /<name>:<passwd>
更新名称为 <name> 且密码为 <passwd> 的粘贴。接受表单数据中的参数:
c:必填。与POST方法相同。e:可选。与POST方法相同。请注意,删除时间现在重新计算。s:可选。与POST方法相同。
PUT 方法的返回与 POST 方法相同。
如果发生错误,工作程序将返回不同于 200 的状态码:
400:您的请求格式错误。403:您的密码不正确。404:未找到给定名称的粘贴。413:内容过大。500:意外异常。您可以向作者报告以进行修复。
使用示例:
$ curl -X PUT -Fc="kawaii~" -Fe=500 https://light-gpt.eu.org/~hitagi:22@-OJWcTOH2jprTJWYadmDv
{
"url": "https://light-gpt.eu.org/~hitagi",
"admin": "https://light-gpt.eu.org/~hitagi:22@-OJWcTOH2jprTJWYadmDv",
"isPrivate": false,
"expire": 500
}
$ curl -X PUT -Fc="kawaii~" https://light-gpt.eu.org/~hitagi:22@-OJWcTOH2jprTJWYadmDv
{
"url": "https://light-gpt.eu.org/~hitagi",
"admin": "https://light-gpt.eu.org/~hitagi:22@-OJWcTOH2jprTJWYadmDv",
"isPrivate": false
}
DELETE /<name>:<passwd>
删除名称为 <name> 且密码为 <passwd> 的粘贴。删除可能需要几秒钟才能在全球同步。
如果发生错误,工作程序将返回不同于 200 的状态码:
403:您的密码不正确。404:未找到给定名称的粘贴。500:意外异常。您可以向作者报告以进行修复。
使用示例:
$ curl -X DELETE https://light-gpt.eu.org/~hitagi:22@-OJWcTOH2jprTJWYadmDv
the paste will be deleted in seconds
$ curl https://light-gpt.eu.org/~hitagi
not found