全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworksBGVM服务器主机交流
IP归属甄别会员请立即修改密码Sharktech防护
查看: 61489|回复: 255

[经验] 腾讯无服务器云函数SCF搭建OneDrive列表网站

  [复制链接]
发表于 2019-6-28 17:19:04 | 显示全部楼层 |阅读模式
本帖最后由 逸笙 于 2020-2-12 15:59 编辑

demo: https://service-pgxgvop2-1258064 ... com/release/abcdef/
test(可能正在修改): https://service-pgxgvop2-1258064 ... ud.com/test/abcdef/

2019年12月4日开始,API网关收费,每月1元/G流量。

更换项目:SCF、heroku、VPS都能用
https://github.com/qkqpttgf/OneManager-php
要重新安装。

搭建过程:
https://service-pgxgvop2-1258064 ... neDrive.mp4?preview
设置自定义域名、公开目录、网站名称等:
https://service-pgxgvop2-1258064 ... 7%BD%AE.mp4?preview

操作要点:
1,安装时,填入SecretId与SecretKey(在 https://console.cloud.tencent.com/cam/capi 这里生成)。
2,获得token后,程序会自动添加配置到环境变量,
3,可以正常使用后,再开始在左上角登录后设置。
4,要使用自定义域名时,去把API网关的路径改成'/',不用自定义域名可以不改。


20191123,流量要收费了,游客上传也就不经过SCF了,可以上传大文件。更新一下安装操作视频。  
20191121,将登录移左上角,管理菜单横向展开;对于国际版,安装时可以使用自己申请的应用ID跟机密。
20191117,多域名机制还是不对,修改。
20191116,SCF要国际版,提倡中英双文,安装过程加入设置30s运行时间
20191113,原domain_path格式不好在API中提交,修改机制;分文件显示图标
20191112,SCFAPI改POST方式,将main里面一些代码拿出来放function,将管理操作的DIV做个css  
20191108,SCFAPI加入namespace,抛弃config与oauth,直接用SERVER(野路子,不要学)  
20191104,世纪互联版本写入环境变量,管理登录后显示可以更新  
20191103,加入SCF的API,安装过程更自动化,程序可以一键从github更新自己,可以不登录腾讯控制台改变环境变量,需要在环境变量里添加SecretId与SecretKey(在 https://console.cloud.tencent.com/cam/capi 这里生成)。
20191026,调整javascript,排序之类只在目录时显示,增加bat,mov格式预览,调整登录登出。
20191018,开分支,游客可以上传大文件,最终重命名为md5(由游客浏览器算出,可以被构造),此功能不考虑放主支。
20191012,时间跟大小的排序可以正反多次点击。修复今天图床无法计算出md5文件名的bug。
20191009,在header中Set-Cookie,管理登录从javascript跳改302跳,目录密码不用javascript设置。
20190930,可以隐藏管理的登录页面了(请自己记住)。
20190920,在文件列表点击“文件”、“修改时间”、“大小”几个字,可以从小到大排序。
20190917,新增多个域名对应多个目录的设置(比private_path优先),新增显示缩略图按钮(整体结构不变,显示图片后我自己看得都丑),代码缩进重新弄
20190911,修复文件(夹)名字中有#会打不开的问题,上传文件时目标文件夹名字不能有#,被上传文件名字也不能有#。
20190910,管理操作全部转用ajax(请来个前端)。
20190909,解决直接用自定义域名获取token时无限循环的bug;调整MSAPI函数,准备把管理操作做成xhr。
20190908,小改上传进度显示,视频播放尝试一下DPlayer。
20190907,上传过程有进度了,不用等每5M传完才有进度(会用onprogress了……)。
20190905,在检测到没有token后javascript直接跳微软登录授权,简化操作;在预览页面,把url框编码,方便复制到QQ微信不断开可以直接点。
20190904,修改安装时微软回调uri为scfonedrive.github.io,简化安装操作。
20190903,支持世纪互联版(在第10行修改为1),感谢@洋葱葱 提供自己的帐号,请其它小白鼠尝试一下。
20190902,重新申请注册微软应用,更改安装时的URL,以同时支持商业版与个人版,更新到此版本需要删掉原来的token,重新安装获取token。
20190901,(管理登录后)同时上传多个文件。
20190829,UTC时间换算成+8区时间,小尺寸图片预览时不扩大了。
20190825,将上传大文件用的url存在onedrive临时文件,中断上传后可以获取进度继续上传,上传完后删除临时文件。
20190824,大文件分片段顺序上传,每小片上传完后显示进度。
20190823,临时百度学习了一天ajax跟xhr(ajax跟xhr哪个要jquery?),做了管理登录后的大文件上传(游客上传还是4M以下)。
20190819,解决imgup_path没做设置时根目录变成图床目录的问题。
20190818,管理界面DIV加遮罩。
20190817,日志开篇就打印,后面不打印了,去掉全局$event1,游客图床目录不去OD查文件。
20190816,设置游客上传目录,可以上传<4M的文件,不设置这个值时该目录内容会正常列文件出来,设置后只有上传界面。游客上传的文件会被重命名为MD5加后缀,管理登录后上传的文件不会被重命名。
20190814,新建文本文件及目录
20190812,登录后在预览TXT时可以编辑保存(4M大小限制)。
20190811,登录后小文件(<4M)上传(因为API网关传送给SCF的event字符串最长为6291456,上传时只能base64后上传,不然00会变20内容出错,亲自试过4.04M/4237481字节的文件上传没问题,再大API网关就拒绝工作)。
20190809,管理登录后重命名、移动、加密目录,删除。
20190803,将分页的跳页信息存到OneDrive目录中,加入admin登录,准备写重命名等操作(来个前端啊),目录有空格的加密。
20190719,预览改/preview为?preview,更符合习惯。改密码输入框居中。
20190718,加密密码可中文可空格;public_path可以设置中文路径了;文件数>200才读第2次获取nextlink;寻找密码文件时改用递归。
20190709,去掉scfname的设置,直接从context里读,再次简化安装过程。
20190704,分页功能简直是大坑套小坑,巨硬也没有提供‘第X页’这样的东西,只能一页一页翻,想要跳页估计要存下来,SCF也不方便存。本人ajax也不会,只能做成这样了,大家试下。
         可以把token按128切开放在环境变量t1,t2~~t7里(再也不怕把token复制粘贴到github了,想死);
20190629,半路出家的人弄了一天,目录加密功能应该可以用了,帮测试下。
--------------------------
本帖是@风铃 大佬https://www.hostloc.com/thread-542867-1-1.html的分支,不过一些常用设置比较方便。
腾讯SCF的网址:https://cloud.tencent.com/product/scf

分支跟master对比:
在config中使用sitename,方便改网站名称;
在title中带上当前文件名;
支持自定义域名跟API触发同时工作,方便传播,不怕自定义域名被DDCC;
支持自定义域名跟API触发打开的目录不一样。

环境变量用处:
SecretId,SecretKey:腾讯SCF的API调用
Region:SCF程序所在地区,安装时自动添加(目前需要用api网关长链接安装,以后看SCF官方修改)
sitename       :网站的名称,不添加会显示为‘请在环境变量添加sitename’
admin           :管理密码,不添加时不显示登录页面且无法登录
adminloginpage :如果设置,管理登录的页面不再是'?admin',而是此设置的值,登录按钮及页面隐藏;
public_path   :使用API长链接访问时,显示网盘文件的路径,不设置时默认为根目录;
                不能是private_path的上级(public看到的不能比private多,要么看到的就不一样)
private_path  :使用自定义域名访问时,显示网盘文件的路径,不设置时默认为根目录
domain_path :格式为a1.com:/dir/path1|b1.com:/path2,比private_path优先。
imgup_path   :设置图床路径,不设置这个值时该目录内容会正常列文件出来,设置后只有上传界面,不显示其中文件(登录后显示)
passfile         :自定义密码文件的名字,可以是'pppppp',也可以是'aaaa.txt'等等;
                     密码是这个文件的内容,可以空格、可以中文;列目录时不会显示,只有知道密码才能查看或下载此文件。
 楼主| 发表于 2020-1-16 18:18:49 | 显示全部楼层
这几天提工单问了下收费问题。
您好,抱歉久等了,经核实,
scf 代码里面访问外网,由 scf 收取流量费用
scf 返回 API 网关的数据,scf 不记录流量;API 网关返回客户端的时候,由 API 网关记录出流量并收取费用
scf 按每个小时进行统计流量用量,如果费用未满 0.01 元,不出账单但是有记录,会在月度精度调整里体现。
具体云函数SCF计费规则 建议您可以仔细查阅以下链接了解一下,谢谢
链接:https://cloud.tencent.com/document/product/583/17299


API网关跟SCF分开收费,每小时不足0.01元就不产生帐单。
所以,如果自用的话,可能可以一直免费用下去。
用户比较多的话,或被人DDCC,就产生费用了。
充值一块钱先用着吧,被人DDCC了也就1块,扣完结束。
 楼主| 发表于 2019-9-17 21:12:51 | 显示全部楼层
小鸡被Q……oracle免费的东西,没有visa卡……
---
20190917,新增多个域名对应多个目录的设置(比private_path优先),新增显示缩略图按钮(整体结构不变,显示图片后我自己看得都丑),代码缩进重新弄

点评

_(:з)∠)_  发表于 2019-9-21 08:47
发表于 2019-6-28 17:46:02 | 显示全部楼层
能加个目录访问密码就完美了
发表于 2019-6-28 17:37:43 | 显示全部楼层
这个是原来的函数服务吗,叫SCF我还不认识了,原来用来签到HOSTLOC的
发表于 2019-6-28 22:10:20 | 显示全部楼层
我试着来操作一下吧
 楼主| 发表于 2019-6-29 19:11:50 | 显示全部楼层
Meiam 发表于 2019-6-28 17:46
能加个目录访问密码就完美了

非专业人氏弄了一天……
你试下目录密码功能~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|全球主机交流论坛

GMT+8, 2020-9-20 15:59 , Processed in 0.071874 second(s), 10 queries , MemCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表