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