从任何位置传递自己的脚本文件到 GitHub/服务器?

2023-09-18 06:00:44 +08:00
 leonleon

最好的方案是传递到 GitHub 的仓库,但是只想传递某个文件,不想初始化自己的本地文件夹,或者是使用 scp 到自己的服务器上进行备份,有什么更好的解决方案么?

1682 次点击
所在节点    程序员
7 条回复
villivateur
2023-09-18 08:39:48 +08:00
GitHub 有 API ,你可以去找找有没有符合你需求的
superares
2023-09-18 08:47:24 +08:00
放 release ?
shuxhan
2023-09-18 09:19:30 +08:00
使用 api 可以直接上传文件。

PUT https://api.github.com/repos/{user}/imgs/contents/{path}/{filename}

{
"message": "提交说明",
"content": "base64 编码的文件内容",
"sha": "文件的 blob sha"
}

content:文件内容的 base64 编码后的字符串
sha:文件更新或删除时必填,先用 GET 接口查询文件信息,可在响应体中获取
ratazzi
2023-09-18 09:25:48 +08:00
用 Cloudlfare Worker 写个上传到 R2, 再加上 GitHub 也很简单, 然后 curl 一条命令搞定

curl -u "username:password" -X PUT --data-binary @filename https://example.com/blobs/filename
GodD6366
2023-09-18 11:03:04 +08:00
gist?
skiy
2023-09-18 12:26:38 +08:00
如果是传到服务器的有很多方式。

1. https://github.com/dutchcoders/transfer.sh/
自己跑个 docker 。把那个保存目录映射到宿主机

2. https://github.com/schollz/croc
点对点传输。缺点就是本地也要安装该工具。
leonleon
2023-09-20 05:46:45 +08:00
感谢各位!最后确实是可以用 GitHub 的 API 进行文件的上传,使用 PUT ,最终结构类似这样:curl -H "Authorization: token " --request PUT --data '{ "message": "", "content": "base64 编码的文件内容", "branch": "main" }' https://api.github.com/repos/user/repos/contents/filename ,但是还是要生成 base64 编码后的字符串,比较麻烦

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/974673

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX