PulsedMedia 套餐区别

之前在 PlusedMedia 12 周年活动的时候因为可以免费试用一个月的 V1000 套餐,所以就下单了一个 12th Anniversary V1000 Raffle,套餐的详情如下:

  • 12th Anniversary V1000 500GB: 500GB(455GiB) RAID0 HDD Storage, 1GB Ram, 1Gbps bandwidth, 8 000GiB External Traffic, Unlimited Internal Traffic, 35% Hourly Chance: 2.99€ Per Month FREE First Month

今天又看到 Pulsed Media V1000 系列的操作在做活动,就想来整理一下 Pulsed Media 家的套餐,并进行一下简单的对比。

点开官网 可以看到几个套餐名字 Rragon R, V1000 系列,V10G 系列。

介绍

Dragon-R

Dragon-R 系列1的套餐是性能最好的系列,使用 AMD EPyC 的 CPU,32核64线程,磁盘使用 RAID 10,并且拥有 20Gbps 的共享带宽。不过价格当然也是最感人的,起步的 3TB 套餐每个月就要 14.99欧元。

硬件部分除了上面提及的 AMD EPyC CPU,主机有 256GB ECC 内存,24x7200RPM RAID10 array。

pulsed media dragon-r

M10G

M10G 系列2套餐是比较适合大多数人的套餐。

硬件上:

  • CPU:CPU Dual Xeon 6core 8605pts 或者是 Ryzen 3900X 12Core 32805pts
  • 内存:48GB 到 144 GB
  • 带宽:10Gbps

通常一台机器上最多会有 18 位用户,硬盘使用 RAID5 。

pulsed media m10g

V10G

Value10G 套餐3是最实惠的套餐。

通常的硬件:

  • CPU: Xeon 6core
  • RAM: 36GB 到 72GB
  • 使用 RAID0,这里需要注意的这个系列的套餐在磁盘冗余上可能存在一块磁盘 fail 而丢失数据的情况,如果需要高可用的数据存储,可以考虑 M10G 和 Dragon-R 系列的套餐
  • 带宽:10Gbps 共享

pulsed-media v10g

V1000

Value1000套餐4是兼顾性能和价格的套餐。带宽 1Gbps。使用 RAID0 ,同样考虑到数据安全性,可以购买更好的套餐。

pulsed media v1000

Other

Pulsed Media 还提供了 Storage Seedbox 这个系列属于 M10G 套餐,只不过在套餐上更加偏向与存储,所以流量会少一些,容量会大一些。

起名方式

经过上面的总结,也能看出来,Pulsed Media 在起名的时候通常是套餐系列加上 XS, S, M, L 这样的标识,通常归纳总结也能大致看出来,分别对应不同的容量和流量。

比如拿到一个 V10G L,大致就能看出来是属于 V10G 系列的套餐,容量 Large (8T)。

案例

12th Anniversary V10G L

我所购买的 [[Pulsed Media 12th Anniversary V10G L]] 登录系统之后可以看到使用的是 Intel Xeon(R) CPU L5640@2.27GHz,内存是 94GB。

❯ lscpu
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
Address sizes:       40 bits physical, 48 bits virtual
CPU(s):              24
On-line CPU(s) list: 0-23
Thread(s) per core:  2
Core(s) per socket:  6
Socket(s):           2
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               44
Model name:          Intel(R) Xeon(R) CPU           L5640  @ 2.27GHz
Stepping:            2
CPU MHz:             1634.332
CPU max MHz:         2268.0000
CPU min MHz:         1600.0000
BogoMIPS:            4533.10
Virtualization:      VT-x
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            12288K
NUMA node0 CPU(s):   0-23
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 popcnt aes lahf_lm epb pti tpr_shadow vnmi flexpriority ept vpid dtherm ida arat

内存:

❯ free -h
              total        used        free      shared  buff/cache   available
Mem:           94Gi        14Gi       1.8Gi       781Mi        78Gi        76Gi
Swap:         1.1Gi       1.1Gi       3.0Mi

12th Anniversary V1000 Raffle

而 V1000 Raffle 可以看到:

❯ lscpu
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
Address sizes:       48 bits physical, 48 bits virtual
CPU(s):              6
On-line CPU(s) list: 0-5
Thread(s) per core:  1
Core(s) per socket:  6
Socket(s):           1
NUMA node(s):        1
Vendor ID:           AuthenticAMD
CPU family:          16
Model:               8
Model name:          Six-Core AMD Opteron(tm) Processor 2419 EE
Stepping:            0
CPU MHz:             1200.000
CPU max MHz:         1800.0000
CPU min MHz:         800.0000
BogoMIPS:            3600.03
Virtualization:      AMD-V
L1d cache:           64K
L1i cache:           64K
L2 cache:            512K
L3 cache:            6144K
NUMA node0 CPU(s):   0-5
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt hw_pstate vmmcall npt lbrv svm_lock nrip_save pausefilter

内存:

❯ free -h
              total        used        free      shared  buff/cache   available
Mem:           23Gi       2.3Gi       1.6Gi        38Mi        19Gi        17Gi
Swap:         5.6Gi       1.2Gi       4.4Gi

2022-05-18 pulsedmedia , pt , seedbox , linux , shared-box , vps

逃离豆瓣之豆瓣代替服务

这篇笔记新建的时间是 2020 年 12 月 29 号,想来从那个时间点开始我就一直想着怎么离开豆瓣了。过去一年时间里面陆陆续续也发现了不少不错的网站,甚至有一些比豆瓣都要好用。这里就再整理一下。

豆瓣让我不能忍受的便是对词条的删减,以及对用户笔记,影评,书评的肆意审查,基本导致了现在豆瓣陷入不可用的状态。

我也曾经说过,我离不开豆瓣的几个理由:

  • 我过去几千条的标注
  • 豆瓣关注的有趣的灵魂
  • 还有无数的有价值的影评,书评

豆瓣电影 剧集

NeoDB

NeoDB 是一个建立在 federated network (联邦网络)中的用来标记书籍、电影、音乐和游戏的网站。

NeoDB 目前只能通过 [[Mastodon]] (或[[Pleroma]]/Friendica/PixelFed)实例的账号来登录。

我的页面:https://neodb.social/users/einverne@m.gtk.pw/

themoviedb

themoviedb 简称为 TMDB ,是一个从 2008 年开始的电影,剧集数据库。拥有非常全的数据库。

TMDB 也开放了编辑入口,所有的注册用户都可以贡献,和当年的豆瓣非常相似,官方也有非常详细的 贡献指南

themoviedb

看网站的设计,词条的界面,数据也非常详细,设计也不错。

themoviedb movie item

Trake.tv

[[trakt]] 是一个电视剧和电影媒体资源订阅追踪平台,电视界的 IMDB。可以认为是一个电视剧的数据库,有每个电视剧的元数据,至少包括剧名、首播时间、是否完结、长度、季、集、语言、国家、简介、类别、演员,链接到官网,IMDB,TMDB,TVDB,Wiki 等的链接等等。而且这些数据是公开的,有非常多 App 在使用他作为基础数据提供其他服务。

Trakt 相较于豆瓣更好的地方在于可以和第三方的应用交互,比如在 Plex 中看完一集之后可以自动同步到 trake。

Trakt 还支持 [[Kodi]], [[Plex]], [[Emby]], [[Netflix]], [[Infuse]], [[Jellyfin]], [[MediaPortal]], [[MrMC]], [[Stremio]], [[Serviio]], [[VLC]] 等等。

trakt-vip

Trakt 还提供了 VIP 增值服务,包括了如上的功能。个人 30$ 一年起步,还有另外一个是 60$ 一年。

LetterBoxd

LitterBoxd 是另一个可以标记看过电影的网站。不过 LetterBoxd 只支持电影。

首页:

letterboxd

词条页面

letterboxd item

TVDB

TBDB 是专注在剧集的网站。

IMDB

IMDB 就不用多说了,老牌的电影资料站。

豆瓣读书

Google Books

https://books.google.com

  1. 支持图书目录预览,支持标题,ISBN 搜索,支持浏览记录等等
  2. 支持标注想读(To read),在读(Reading now),读过(Have read),支持打分,甚至也是 1-5 分,支持填写 review
  3. 支持一键链接到网络商城购买,支持跳转到 Google Play 购买电子版

Google Book 的 API 文档:

google book search

Goodreads

Amazon 收购而来的网站,和 Kindle 搭配使用。

thestorygraph

可以用来追踪阅读进度,以及管理看过书籍。

豆瓣音乐

本人不怎么使用豆瓣音乐,所以没怎么整理,不过 Last.FM 已经存在很多年了。数据也比较全。


2022-05-12 douban , movie , book management , personal-data , track , 豆瓣 , douban

Proxmox 扩展 VM 虚拟机磁盘容量

之前在 Proxmox 上给 Ubuntu 划分了 64GB 的空间,运行一段时间之后磁盘空间剩余不多,就抽时间扩展一下。本文就记录一下给 Proxmox VE 的虚拟机扩展的过程。其实之前的文章里面也略微提到过一些,但是没有完整记录。

本来想着是这一篇文章把虚拟机的扩展和缩减空间一并整理了,但写着写着篇幅就比较大了,本文最后还是集中在扩容部分,缩减(shrink) 部分有机会再整理吧。

扩容之前

在扩容之前,为了防止发生错误,请先备份虚拟机,然后关闭虚拟机操作。

关于备份的操作可以参考: Proxmox VE 下备份和恢复虚拟机

虚拟机磁盘扩容

在 Proxmox VE 管理后台,点击虚拟机,在 Hardware 中选中 Hard Disk,然后在菜单栏中就能看到 Resize disk

proxmox resize vm disk

不过需要注意的是,这里的只能给虚拟机的磁盘增加容量,而不能缩小容量,关于缩小容量的操作以后有机会再写。

图中可以看到原始的虚拟机磁盘分配了 64GB,我又扩容了 64GB。

扩容之后启动虚拟机,SSH 登录,然后执行 df -h

Filesystem      Size  Used Avail Use% Mounted on
udev            7.8G     0  7.8G   0% /dev
tmpfs           1.6G  1.5M  1.6G   1% /run
/dev/sda2        63G   38G   23G  63% /
tmpfs           7.9G  4.0K  7.9G   1% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           7.9G     0  7.9G   0% /sys/fs/cgroup
/dev/loop0       56M   56M     0 100% /snap/core18/2344
/dev/loop2       62M   62M     0 100% /snap/core20/1434
/dev/loop1       56M   56M     0 100% /snap/core18/2409
mergerfs        5.4T  4.6T  510G  91% /mnt/storage
/dev/loop3       68M   68M     0 100% /snap/lxd/22753
/dev/loop6       44M   44M     0 100% /snap/snapd/15177
/dev/loop7       62M   62M     0 100% /snap/core20/1405
/dev/loop5       45M   45M     0 100% /snap/snapd/15534
/dev/loop4       68M   68M     0 100% /snap/lxd/22526
/dev/sdd1       1.8T  1.6T  196G  89% /mnt/sdb1
/dev/sdb1       1.8T  1.6T  117G  94% /mnt/sdd1
/dev/sdc1       1.8T  1.6T  198G  89% /mnt/sdc1
tmpfs           1.6G     0  1.6G   0% /run/user/1000

可以看到系统分区的容量 /dev/sda2 并没有扩展。

然后检查一下分区,执行 sudo lsblk

❯ sudo lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop0    7:0    0 55.5M  1 loop /snap/core18/2344
loop1    7:1    0 55.5M  1 loop /snap/core18/2409
loop2    7:2    0 61.9M  1 loop /snap/core20/1434
loop3    7:3    0 67.8M  1 loop /snap/lxd/22753
loop4    7:4    0 67.9M  1 loop /snap/lxd/22526
loop5    7:5    0 44.7M  1 loop /snap/snapd/15534
loop6    7:6    0 43.6M  1 loop /snap/snapd/15177
loop7    7:7    0 61.9M  1 loop /snap/core20/1405
sda      8:0    0  128G  0 disk
├─sda1   8:1    0    1M  0 part
└─sda2   8:2    0   64G  0 part /

可以看到系统的分区 sda2 确实是没有完全占用全部的磁盘(sda)。这个时候我们只需要扩展一下系统分区即可。

我们可以使用很多种方式扩展分区,这里我们就使用 growpart 命令。

在 Debian 和 Ubuntu 下 growpart 命令在 cloud-guest-utils 包中。

sudo growpart /dev/sda 2

结果:

❯ sudo growpart /dev/sda 2
CHANGED: partition=2 start=4096 old: size=134211584 end=134215680 new: size=268431327 end=268435423

然后执行:

sudo resize2fs /dev/sda2

执行结果:

❯ sudo resize2fs /dev/sda2
resize2fs 1.45.5 (07-Jan-2020)
Filesystem at /dev/sda2 is mounted on /; on-line resizing required
old_desc_blocks = 8, new_desc_blocks = 16
The filesystem on /dev/sda2 is now 33553915 (4k) blocks long.

之后在查询 df -h 就看到空间完美的被使用了。

reference


2022-05-10 proxmox , pve , linux , vm , virtual-machine

现代性与大屠杀读书笔记

属于 [[20220417-21 天计划]] 的第3本书。

什么是现代性

[[现代性]]是指的现代社会所具有的一些典型特征。现代(modern)一词16世纪才被创造出来。字面上的含义是「当下或此刻」。人们有了时间的概念,生活不再周而往复。

这本书中对现代性的解释大致分为两个层面:

  • 精神层面,理性的精神,控制的欲望,人类想要认识一切、改造一切的精神
  • 制度层面,高效而有序的社会组织形态

为什么会发生犹太人大屠杀

  • 思想上
    • 不是传统的反犹主义,而是一种现代的思想,[[园艺文化]] 和 [[种族主义]]
    • 历史上的犹太人流落到欧洲的各处,属于从属地位,帮贵族收租,做些小买卖,成为了夹在贵族和平民之间的中间人,收到两边的歧视和厌恶
    • 崇尚理性、高效的现代化进程有一种园艺文化,在德国纳粹人严重犹太人就是杂草
    • [[种族主义]] 达到顶峰,保证日耳曼的血统纯正
  • 制度上
    • 现代[[官僚制度]]
    • 对犹太人进行精确的定义,纽伦堡法案,对犹太人进行登记
    • 将犹太人和其他德国人隔开
    • 着手将犹太人驱逐出德国疆域
      • 希姆莱 1940年在备忘录中写到,不想采用从肉体上消灭整个民族的做法,不德国,也不可能实现
      • 海德里希,种族灭绝对德国人这个文明的民族来说是不体面的
      • 遇到问题,找不到地方驱逐犹太人
        • [[艾希曼]],前往海法、开罗,研究将犹太人移居巴勒斯坦的可能性
        • 马达加斯加方案
        • 整体绝育手术
      • 战争的进行,升级成将犹太人驱逐出整个欧洲
      • 肉体消灭成为了清洗犹太人最有效的方式
      • 最终解决方案
      • 定义、隔离、驱逐、屠杀
    • 现代官僚制度是大屠杀发生的根本原因
  • 技术上
    • 现代工业制度才造就了灭绝营、毒气室
    • 大屠杀的主要方式灭绝营、毒气室都是现代性的产物
    • 大工业的设施和流程,现代化的分工和管理制
    • 奥斯威辛在4年里屠杀了100万,1943年,1天可以屠杀4万3千人,只有现代大工业才能产生这样的结果
    • 毒气出自先进的化学工业,铁路网向集中营输送犹太人

官僚体制中的人摆脱了道德上的谴责。 冷静、高效、专业的完成自己的工作。

为什么这些正常人能摆脱道德上的自责呢?

  • 首先,因为官僚制度,等级分明,在权力的等级序列中,就是听从上级的命令,遵守组织的纪律,每个人考虑的不是自己这么做的后果,而是有没有完成上级的任务,技术责任代替了道德责任,成为了一个人需要担负的主要责任,人们可以心安理得的将道德责任归咎于上级,甚至堂而皇之为自己辩护,「我只是做了我被要求做的事情」。[[201912211716-艾希曼在耶路撒冷]]
  • 现代社会,职能和职位的细致分工模糊了人的道德感,犹太人大屠杀的任务中每个人只是整个庞大机器上的一个螺丝钉,很多人不知道自己的行为会有什么后果,在办公室里制定火车时刻表的职员从未见过毒气室中的惨状。
  • 灭绝营,毒气室,大大降低了执行者在杀戮时可能产生的道德同情,现代心理学的研究已经表明距离越远,越不容易产生道德同情
    • 战争的现代化,让杀戮成为了距离和技术的问题,军事实力越强,距离敌方越远,杀戮越容易

受害方的现代性

犹太人是受害者,但鲍曼说犹太人也负有责任,是大屠杀的帮凶,这些犹太人受到理性的驱动。而理性也是现代性的一个特征。

  • 犹太委员会,提供记录,劝说犹太人隔离
  • 协助纳粹设定名单,决定哪些同胞在哪些时候上火车,奉行的原则是牺牲少数拯救多数,如果不送一部分同胞去死,纳粹会杀死所有人。
  • 最后是大多数犹太人的「自我保全」的理性,为了活下去可以做任何事情,包括亲手去处理大屠杀产生的尸体

三句话总结书的内容

鲍曼在这本书中提出了一个骇人听闻的观点:「德国纳粹在二战期间实行的对犹太人的种族灭绝是现代性的表现」。

  • 思想上,种族灭绝计划和园艺文化、种族主义息息相关
  • 制度上,大屠杀与现代官僚制度紧密关联
  • 技术上,大屠杀充分利用了现代技术

现代官僚制度和现代技术还让屠杀犹太人的纳粹分子在执行任务时摆脱了道德上的困扰。

启发或想法

道德,对他人无条件的责任

现代性体制会压制道德,现代官僚体系会让技术责任代替道德责任,现代社会的原子化倾向会让人们成为互相隔离的冷漠个体。但正因为如此,才更需要重视道德,在任何情况下,一个人都要承担其自己的道德责任,不管发生什么,他都应该去做对的事情。这是避免下一次大屠杀发生的唯一方式。


2022-05-08 reading , reading-2022 , 现代性 , 大屠杀

每天学习一个命令:growpart 扩容分区

前端时间给 Proxmox VE 下的虚拟机扩容的时候留意到了这个 growpart 命令,专门用来给分区进行扩容的命令。

growpart - extend a partition in a partition table to fill available space

growpart 工具完成 Linux 系统盘分区扩容及文件系统扩展

Installation

Ubuntu 下可以直接安装:

sudo apt install cloud-guest-utils

使用

注意,对磁盘进行操作是高风险操作,如果对命令不熟悉,请先做好数据的备份,然后再进行操作,或实验。

我以我自己的实际情况为例,我有一个 Proxmox VE 的虚拟机因为磁盘内容告警,所以扩容了一倍,从 64G 扩容到 128GB。

在 Proxmox VE 中停止虚拟机之后扩容,然后启动虚拟机进入系统操作。

首先使用 fdisk -l 来查看磁盘分区信息,可以看到目前系统的分区还是没有改变,但是可以看到磁盘已经有剩余空间了。

因为我这里比较简单,我只想把剩余的空间分配给我当前的系统分区,所以可以直接使用 growpart,如果你还需要复杂操作,比如再划分一个分区之类的,可以考虑 [[parted]] 等命令。

还可以使用 lsblk 再确认一下。

因为我的系统分区是 /dev/sda 磁盘的第二个分区,所以运行 growpart 命令扩容分区

growpart /dev/sda 2

然后再执行以下命令,扩容 ext 文件系统

resize2fs /dev/sda2

再查看磁盘:

df -h
lsblk
fdisk -l

总结

growpart 命令可以非常方便的将分区扩展到全部的磁盘空间,不过需要注意的是,我的例子中 /dev/sda2 分区是磁盘的最后一个分区,如果你要扩容的分区在分区中间,可能需要考虑其他方案。

相关

  • [[gparted]]
  • [[2018-04-03-parted-linux-partition]]
  • [[2016-04-02-fdisk]]
  • [[lsblk]]

2022-05-03 linux , drive , growpart , partition , cli

使用 lux 下载哔哩哔哩视频

Lux 是一个使用 Go 语言编写的视频下载命令行工具,支持的平台很多,提供了包括 macOS、Windows、Linux 等等平台的命令行支持,安装和使用非常简单的。Lux 原来的名字是叫做 Annie(安妮),对标的是 macOS 上一款非常著名的视频下载软件叫做 Downie(唐尼)。但后来改名成了 Lux。

Lux 支持非常多的视频网站:抖音、哔哩哔哩、半次元、pixivision、优酷、YouTube、爱奇艺、芒果 TV、Tumblr、Vimeo、Facebook、斗鱼视频、秒拍、新浪微博、Instagram、Twitter、腾讯视频、网易云音乐、音悦台

项目地址:https://github.com/iawia002/lux

Installation

macOS 下:

brew install ffmpeg
brew install lux

或者从 Release 页面下载,手动安装。

curl "https://github.com/iawia002/lux/releases/download/v0.15.0/lux_0.15.0_macOS_64-bit.tar.gz"

Ubuntu 下安装

sudo apt install ffmpeg
wget "https://github.com/iawia002/lux/releases/download/v0.15.0/lux_0.15.0_Linux_64-bit.tar.gz"
tar zxvf lux_0.14.0_Linux_64-bit.tar.gz
sudo mv lux /usr/local/bin
lux --help

使用

直接下载

Lux 的使用很简单,在终端:

lux "https://www.youtube.com/watch?v=QJXPS0gQ6Eg"
lux "https://www.bilibili.com/video/BV1ZJ411h713"

视频链接给的是播放列表里的第二个视频。如果用 youtube-dl 下载会自作主张地下载播放列表的第一个视频。在对付 B 站播放列表方面,Annie 比较乖一点。

Annie 不仅可以下载视频,如果给的是图片的网址,它就下载图片。

给播放列表的链接就下载播放列表:

下载不同分辨率

首先使用 -i 参数查看可供下载的视频分辨率,-i 参数可以一次添加多个视频链接,空格分隔。

❯ lux -i "https://www.bilibili.com/video/BV1ZJ411h713"

 Site:      哔哩哔哩 bilibili.com
 Title:     【中字】金世正 talk演唱会 全场 非常治愈的谈话
 Type:      video
 Streams:   # All available quality
     [64-7]  -------------------
     Quality:         高清 720P avc1.640028
     Size:            122.36 MiB (128300684 Bytes)
     # download with: lux -f 64-7 ...

     [32-12]  -------------------
     Quality:         清晰 480P hev1.1.6.L120.90
     Size:            108.75 MiB (114028043 Bytes)
     # download with: lux -f 32-12 ...

     [64-12]  -------------------
     Quality:         高清 720P hev1.1.6.L120.90
     Size:            108.57 MiB (113847391 Bytes)
     # download with: lux -f 64-12 ...

     [16-7]  -------------------
     Quality:         流畅 360P avc1.64001E
     Size:            86.10 MiB (90287066 Bytes)
     # download with: lux -f 16-7 ...

     [32-7]  -------------------
     Quality:         清晰 480P avc1.64001F
     Size:            67.43 MiB (70708693 Bytes)
     # download with: lux -f 32-7 ...

     [16-12]  -------------------
     Quality:         流畅 360P hev1.1.6.L120.90
     Size:            67.40 MiB (70670783 Bytes)
     # download with: lux -f 16-12 ...

然后使用 -f 来指定要下载的分辨率:

lux -f 64-7 https://www.bilibili.com/video/BV1ZJ411h713

下载列表

使用 -p 来下载视频列表。

如果要指定列表中的位置,可以使用如下几个选项:

  • -start 从视频列表的第几个开始下
  • -end 下载到几个
  • -items 指定要下载哪几个,比如 1,5,6,8-10
  • -eto B 站独有的参数,用于没有标题只有文件名的播放列表

举例:

lux -p -start 1 -end 15 "https://www.bilibili.com/video/BV1no4y1C7oo"

从文件中读取下载链接

可以使用 -F 参数,从包含视频 URL 的文本文件中下载视频:

lux -F /path/to/links.txt

这里也可以用参数 -start-end-items

按住 ctrl+c 可以中断下载,可以续传。

B 站上可以用 av 和 ep 加数字下载视频,比如:

annie -i ep198381 av21877586

还有三个参数也很有用:

指定保存路径

可以使用 -o 参数后面接路径,来指定将视频保存到该路径下:

lux -o ~/Videos/ URL

使用 -O NAME 来指定输出的名字。

输出 JSON

可以使用 -j 输出 JSON 格式结果。

  • 最出名的 [[youtube-dl]] 还有升级版的 [[yt-dlp]]
  • 适配比较多国内的 [[视频下载工具 you-get]]
  • Go 语言写的视频下载命令行工具 [[lux]]
  • C# 编写的 B 站下载 BBDown

2022-05-01 lux , bilibili , annie , video

图片压缩工具 Squoosh 离线版

Squoosh 是 Google 推出的一个图片压缩工具。之前整理macOS 初始化设置 的时候就说过,基本上算是必不可少的一个压缩工具了。

如果要大批量压缩图片,之前也介绍过 jpegoptim 和 optipng

如果要实现更加高阶的图片操作,比如 resize, blur, crop, despeckle, dither, drow on, flip, join, re-sample 等等,也可以了解一下 [[ImageMagick]]。

但使用 Squoosh 的过程中有一点不方便的就是 Google 只提供了在线版,之前也在 issue 中提过,官方回复是本来这个工具就是命令行的一个在线化,没有必要再搞一个离线的版本。

但最近发现 GitHub 上有人做出了一个离线版本的 Squoosh。

离线版本的 Squoosh 基于 Electron,并使用了 GoogleChromeLabs 之前开源的在线版。


2022-04-28 macos , linux , application , squoosh , google , electron , google-chrome , image , image-compress

大法官说了算 美国司法观察笔记 读书笔记

这是 [[20220417-21 天计划]] 的第二本书,看过 [[何帆]] 翻译的很多本作品,这一本《大法官说了算:美国司法观察笔记》是何帆多年的司法观察记录。作者以[[苏特大法官]] 的辞职开始说起,先后介绍了大法官是如何产生的,最高法院内部是怎么运行的,网络时代的法庭,法院对言论自由的态度,对死刑的态度,等等角度对大法官展开了详细的描述,最后一章对现在美国的最高法院的每一位大法官做了单独的介绍。

个人感觉这是一本非常适合想要了解大法官,以及最高法院的读者,在书中可以对整个最高法院的历史,以及大法官为何一言九鼎有一个非常直观的认识。

如果读完钦佩于大法官的人格魅力,那么可以继续看[[九人-美国最高法院风云]],如果读完更关心最高法院是如何界定言论自由的,那么继续阅读 [[202011031233-言论的边界 美国宪法第一修正案简史]] ,如果读完更醉心于案件的错综复杂以及大法官们抽丝剥茧梳理给出判决,那么可以再读[[202011041227-美国宪政历程 影响美国的 25 个司法大案]]

当然如果不想读这些大部头作品,那么也有牛津通识读本中的 [[美国最高法院通识读本]],[[批评官员的尺度]] 等等作品可以继续。

司法天平的倾斜

或许看过美剧、韩剧律政剧的人,对那个蒙着眼睛、一手持剑,一手天平的正义女神不再陌生,我也曾在这些剧集中一次次被法官「正义」的判决所感染。然而稍微了解一下美国的司法史就可以看到在不同的历史时期司法的天平都不是绝对的公平。

美国的历史上存在《惩治煽动性言论法》,曾一度赋予了总统以无上的言论审查权;最高法院也会允许雇主不受任何限制的和劳工签订超长工作时间的合同,大法官们认为雇主有权利和劳工签订不受时间限制的合同;更甚至[[坦尼大法官]]在 1857 年的 [[斯科特案]] 判决中判定黑人不是美国公民,直接导致了南北战争。[[202011041258-最高法院历史上的污点]] 不是一两句话就可以说清楚的,但是正是因为司法只是三权分立中的一个分支,更甚至是一个在最初没有一点地位的分支,司法天平的倾斜甚至倾倒,可以用行政的立法的权力予以纠正。

林肯当上总统之后,用宪法第十四修正案推翻了最高法院关于黑人不是美国公民的判决,将倾斜的天平拨了回来。

而司法的存在也正是为了约束行政权力的过大,以及立法分支的肆意立法。大法官们手握[[司法审查权]],可以对立法分支涉嫌违宪的法律进行审查。正是这三个分支的相互制约才使得美国在过去 200 多年的历史中,一直在修修补补中度日,除了南北战争这一次严重的战争之外一直可以不断地进化。

这两天在 Twitter 刚好看到一则推文,提出一个问题,如果这三个分支都不再很好的执行自己的职责,司法分支不再对超越宪法的立法进行审查,而行政权力以更强硬的手段行政,那么该怎么办?最终给出的答案是美国的持枪自由。但是我们都知道非要走到那一步必然会导致更严重的问题,这也不是这一本书所讨论的问题了。

保守和自由派的对决

在最高法院的描述中,一直少不了「自由派」和「保守派」两派大法官的描述。但是,我们要知道,在这里「保守」绝不是一个贬义词,保守派大法官只是始终对宪法保持警惕之心,深怕任意解释宪法会破坏法治框架。而自由派大法官,并非不尊重宪法,只是他们认为一部「活的宪法」才能与时俱进,适应不断变幻的现实,体现制宪先贤的本意。他们会秉持「至善论」(Perfectionism)的观点,不断创制一些新权利,进而将该权利解释为宪法的应有之义。

保守的含义其实颇为多元,可能是对无孔不入的「大政府」的畏惧,可能是对上帝的虔诚信仰,可能是对种族、文化、性的审慎态度,很难以进步或落后加以评判。

美国是一个缺乏改革传统的国家,就像上面提到的那样,越是重大的变革,越是以润物细无声的渐进方式完成。最高法院当然能够推动社会变革,但是「大法官说了算」并不意味着判决是推动变革的主要途径。[[布朗案]]之后依然有百万的黑人儿童无法获得读书的机会。最高法院的判决并非只是权力的宣示,更是一种理想的表达,当权力和理念合二为一时,才能慢慢影响人们的观念,直至形成一种更为先进的文化。这些观念被大多数人接受的时候,就会演变成制度和法律。

无论最高法院如何判决,绝大多数人都会接受判决结果。这种信任建立在过去上百位大法官孜孜努力的基础之上。


2022-04-27 reading , reading-2022 , judge , supreme-court , 司法

每天学习一个命令:umask 命令简单介绍

在使用 LinuxServer 的 Docker 镜像的时候经常会需要设置 umask 值,这个值的具体作用一直不太清楚,正好整理一下。

什么是 umask

在 Linux 或 Unix 操作系统中,所有的新文件都有默认权限的。umask 命令行允许用户设置文件的 creation mask, 这决定了新创建的文件或目录的权限。

这个配置会被 mkdir, touch, tee 等等一些命令。

在深入了解 umask 之前,首先再来解释一下 Linux 的权限模型。在 Linux 中,每一个文件都三个类别用户组:

  • file owner
  • Group members
  • Everyone else

每一个类别都有三个权限:

  • read
  • write
  • execute

这使用用户可以决定哪些用户允许读、写、执行这个文件。

使用 ls -l dirname 来查看:

drwxr-xr-x 12 einverne users 4.0K Apr  8 20:51 dirname
|[-][-][-]    [------] [---]
| |  |  |        |       |       
| |  |  |        |       +-----------> Group
| |  |  |        +-------------------> Owner
| |  |  +----------------------------> Others Permissions
| |  +-------------------------------> Group Permissions
| +----------------------------------> Owner Permissions
+------------------------------------> File Type

第一个字幕表示文件的类型:

  • d 表示目录
  • - 文件
  • l symbolic link

之后的九位,每三位一组:

  • 第一组,是拥有者的权限
  • 第二组是组权限
  • 第三组是所有人的权限

权限有两种表示方法:

  • Symbolic
  • Numeric

Symbolic annotation

字母 rwx 分别表示读(read),写(write),执行(execute),而 - 表示没有权限。

Numeric

权限还可以使用数字来表示,r 可以使用 4 来表示, w 是 2,x 是 1。

比如 rwxr-xr-x 使用数字表示则是 755.

再回到 umask,在 Linux 系统中,默认的创建文件权限是 666,默认给 user, group, others 读和写的权限。目录的权限是 777。

umask 可以用来查看或改变新文件或目录的权限。umask 只会影响当前 shell 环境。在大部分的 Linux 发行版中,默认的系统级别的 umask value 一般在 pam_umask.so 或者 /etc/profile 中。

直接执行 umask 来查看输出,在我本机输出是 002

umask 值包含了新创建的文件或目录不拥有的权限。

上面提到过,默认的新文件的权限是 666,如果 umask 值是 002 则,新创建的文件权限就是 666-002 结果是 664

用户也可以使用 umask -S 来查看 symbolic notation:

❯ umask -S
u=rwx,g=rwx,o=rx

设置 umask

/etc/profile 中可以设置 umask 值。比如不想要其他用户有任何权限,umask 就要设置为 027.

umask 027

reference


2022-04-26 linux , umask , permission

使用 Mailcow 自建邮件服务器

Mailcow 是一个可以使用 Docker 容器化部署的邮件服务器。

GitHub: https://github.com/mailcow/mailcow-dockerized

Mailcow 的优点

Mailcow 相较于 Mailu 整体比较完整,功能相对比较丰富。

  • 支持二步验证,甚至支持 macOS 指纹验证
  • Webmail 使用 SOGo
  • 支持给每个域名增加管理员
  • 有良好的日志查看系统
  • Sync job 功能可以快速、简单地迁移到另外的提供商
  • Web 界面上可以下载 profile,快速在 macOS 和 iOS 中配置使用

缺点

  • 内存占用比较大,只是部署了 Mailcow 就占去了 3G 内存,如果禁用 Solr 和 ClamAV 可以节省内存,日常占用在 1G~2G,但就丧失了搜索和病毒扫描
  • 用的组件比较多,整体使用体验比 Mailu 慢

安装

Mailcow 整体的搭建过程比较简单,如果之前搭建过 Mailu,实际上,参考官网的教程,并没有太多需要再强调的,甚至如果在同一台机器上,从 Mailu 上迁移过来,只需要修改 [[DKIM]] 记录即可。

提前的 DNS 设置可以参考官网

安装:

git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized

然后执行:

./generate_config.sh

交互命令中输入自己的 MAILCOW_HOSTNAME,比如 mail.example.com

然后启动:

docker-compose pull
docker-compose up -d

然后使用配置好的域名 mail.example.com 登录,用户名 admin 密码 moohoo

配置 SSL

编辑 mailcow.conf 然后配置 HTTP_BIND=

编辑 data/conf/nginx/redirect.conf:

server {
  root /web;
  listen 80 default_server;
  listen [::]:80 default_server;
  include /etc/nginx/conf.d/server_name.active;
  if ( $request_uri ~* "%0A|%0D" ) { return 403; }
  location ^~ /.well-known/acme-challenge/ {
    allow all;
    default_type "text/plain";
  }
  location / {
    return 301 https://$host$uri$is_args$args;
  }
}

重启:

docker-compose up -d
docker-compose restart nginx-mailcow

使用

进入后台之后,在 Configuration->Mailboxes 添加域名。

客户端设置

几个端口:

Service Encryption Port
IMAP STARTTLS 143
IMAPS SSL 993
POP3 STARTTLS 110
POP3S SSL 995
SMTP STARTTLS 587
SMTPS SSL 465

reference


2022-04-23 mailcow , mail , email , email-server , linux , docker , smtp , spf

电子书

最近文章

  • PulsedMedia 套餐区别 之前在 PlusedMedia 12 周年活动的时候因为可以免费试用一个月的 V1000 套餐,所以就下单了一个 12th Anniversary V1000 Raffle,套餐的详情如下:
  • 逃离豆瓣之豆瓣代替服务 这篇笔记新建的时间是 2020 年 12 月 29 号,想来从那个时间点开始我就一直想着怎么离开豆瓣了。过去一年时间里面陆陆续续也发现了不少不错的网站,甚至有一些比豆瓣都要好用。这里就再整理一下。
  • Proxmox 扩展 VM 虚拟机磁盘容量 之前在 Proxmox 上给 Ubuntu 划分了 64GB 的空间,运行一段时间之后磁盘空间剩余不多,就抽时间扩展一下。本文就记录一下给 Proxmox VE 的虚拟机扩展的过程。其实之前的文章里面也略微提到过一些,但是没有完整记录。
  • 现代性与大屠杀读书笔记 属于 [[20220417-21 天计划]] 的第3本书。
  • 每天学习一个命令:growpart 扩容分区 前端时间给 Proxmox VE 下的虚拟机扩容的时候留意到了这个 growpart 命令,专门用来给分区进行扩容的命令。