tessera

管理

邀请码、角色、停权,以及实例统计怎么读

后台在同一个网址的 /admin/,跟主程序编在同一个可执行文件里。管一台机器是四件事:决定谁进得来、决定他们能做什么、看着存了些什么,以及出事的时候介入。每一件都是一个权限。

features.admin 关掉的话,这里每一条都回 404

不是 403。关掉的功能是这台机器没有的东西,所以回的跟一个不存在的路径一样。

管理后台仪表盘
仪表盘:数量、存储空间趋势、内容放在哪、最近的分享

权限与角色

权限是一个 resource:verb 字符串。会伸到持有者自己东西以外的,会被标成 privileged。

权限管到
shares:create、shares:read、shares:delete自己的分享
tokens:manage自己的 API 令牌
shares:read:any、shares:delete:any这台机器上的每一份分享
users:read、users:write、users:delete账号
invites:read、invites:create、invites:delete邀请码
roles:read、roles:write角色和谁持有
stats:read实例统计

内置四个角色:owner 全部都有,admin 除了 users:delete、shares:delete:any、roles:write 以外都有,member 有那四个管自己东西的,guest 一个都没有。

guest 是给「要人先注册,再由人工放行」的机器用的。把 auth.default_role 指到它,新账号在被指派角色之前什么都做不了。

自己开一个

一个角色是一个名字、一段说明、一份权限列表,加上两个上限:属于它的人总共能存多少、单一文件最大多大。你可以自己建、改它能做什么,也可以删掉。

内置角色不能改也不能删

改它们的权限会回 409,消息让你去看 auth.default_role。自己开一个角色,让新账号进那个。

一个账号刚好在一个角色里。指派一个新的就是换掉原本那个。

内置四个是层层包含的:guest 什么都不能做,member 能做的是 admin 扣掉管理的部分,owner 能做 admin 的全部再加上更多。所以一个就够了。

邀请码

只有 auth.registration 是 invite 的时候才会看。open 不理它,closed 则是谁都注册不了。

一组码有可用次数、选填的期限,和一段备注,让一整串码看得出谁是谁。没设期限的话,它会活到用完或被撤销为止。在只收邀请的机器上不带码注册,会被拒绝并告诉对方需要邀请码。

码只回来一次

码本身不会被存下来,只留一段拿来核对的指纹。没抄下来的只能撤销掉再开一个。

列表会显示每一组码用掉几次、还能不能用。撤销一组不会影响已经用它建好的账号。

命令行也能开:tessera-server invite。-n 是能用几次,默认 1;-d 是几天后过期,不填就不过期;--note 是备注。码只会打印一次。

tessera-server invite -n 5 -d 7 --note "book club"

账号

账号可以停权,也可以放回来。

  • 停权是让那个人登不进来。他的分享会继续送,因为拿着那些链接的人没有做错什么。
  • 要连内容一起停,就去停那些分享本身。

弄丢验证器的人,可以在这里帮他关掉两步验证。用户列表会显示谁开了。

删掉账号会洗干净它的记录,但不会动他上传的东西。结束某个人的分享是另一个动作,而且会报告结束了几份。两种情况各留下什么,见你的数据在哪里。

最后一个管理员拿不掉

删掉、降权,或是把改角色的权限从唯一持有它的账号上拿走,都会被挡。对自己做也一样。

分享

这台机器上的每一份分享都列得出来,新的在前,附上是谁上传的、发出去多少,以及被停用的话原因是什么:管理员停的,或是扫毒找到了什么。任何一份都删得掉。

shares:delete:any 是唯一碰得到「上传者已经不在」那些分享的方法,因为一般的删除看的是所有权,而被删掉的账号什么都不拥有。

配置

每一个配置都列得出现在生效的值,以及那个值是哪一层给的。只能走环境变量的那些会明说,不会在你试着改的时候默默失败。

会丢掉东西的改动要确认过才做得下去,而且可以先问它会毁掉什么再决定。

哪些配置只能走环境变量,见配置。

访问记录

share.access_log.enabled 默认关。打开之后每一次把内容交出去都会被记下来,持有 shares:read:any 的人可以按分享去读。

上传者读不到。

一行里有什么、留多久,见你的数据在哪里。

存储 backend

放文件的地方在这里管:加一个、删一个、选哪一个收新的上传。每一个有名字、地址、选填的容量上限、一个只读开关,以及能不能让浏览器直接连过去。

每一个也会显示上一次调用有没有响应,没有的话原因是什么。上传和下载会一直更新这个状态,闲着的每 15 分钟检查一次,失败中的每 5 分钟一次。不响应的 backend 其他地方看起来都正常,只有存在上面的分享会失败。

地址存之前会先封起来而且读不回来,因为它带着凭证,而 backend 列表正是那种会被贴进求助讨论串的东西。

文件怎么挑一个,见文件放在哪里。

站名和外观

首页和链接预览上显示的标题、描述,以及这台机器的默认语言,都在这里设。

链接预览用这个语言写,因为聊天软件抓链接时,不会说是谁要看。浏览器要的语言不是英文、日文、繁体中文或简体中文的访客,网站也会用这个语言打开。没改之前是英文。

之后再改,只会影响新的访客。第一次来的时候,语言就存进 cookie 了,之后一律以 cookie 为准。

默认的外观也是:浅色、深色或跟随系统,一个主题,一个强调色。每个人可以在自己的设置里选自己的;默认的就是其他人看到的。

测速

默认关。speed.enabled 会加一个页面,用不落地的一次性数据来回传送,量访客跟这台机器之间的线路。

配置默认
speed.enabled关
speed.anonymous关只有登录的人能测
speed.max_bytes25 MiB一次最多发或收多少

每个来源一小时可以测五次,上传和下载算在一起。关掉的时候,或是不开放给匿名访客的时候,对他们来说这个功能就像不存在。

实例统计

这台机器会报告:

字段是什么
accounts、administrators有几个账号,其中几个在管理
shares 对 live_shares总共握有几份,对上访客现在还打得开几份
stored_bytes还在存储上的上传内容
quota_bytesstorage.max_total_bytes 的上限,没设就是 null
live_invites还能让人进来的码
bytes_served这台服务器发出去多少
bytes_redirected有多少是让浏览器直接去 bucket 拿的

stored_bytes、shares、live_shares、bytes_served 每天会存一份快照,留一年,让后台画得出存储空间的变化。服务器整天没开的日子没有快照,不会补成 0;历史从有这个功能的那一版开始。

shares 和 live_shares 差很多,代表扫描没跟上,或是保存期比你以为的长。

quota_bytes 是 null 代表没有人设过

在一台收匿名上传的机器上,这个组合就是启动时那句警告在讲的事。见配置。

接下来

本页内容