V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  DeeCheung  ›  全部回复第 1 页 / 共 9 页
回复总数  170
1  2  3  4  5  6  7  8  9  
dufs
gdrive 是支持断点续传的,用 oauth2 client token 后可以导出到 aria2 里下载,6 小时过期后新 token 继续下就行,经常从团队盘里搬百 G 蓝光原盘的路过
我自己用 `Bun(自带 sqlite) + js` 解析提取,一个 Bun 二进制+脚本即可,你也可以打包在一起单文件当 cli 用,缺点不支持 win

``` js
// TODO v11 v12
import { Database } from 'bun:sqlite'
import { createDecipheriv, pbkdf2Sync } from 'node:crypto'

const KEY_LENGTH = 16
const SALT = 'saltysalt'
const IV = Buffer.alloc(KEY_LENGTH).fill(' ')
const password = 'peanuts'
const key = getDerivedKey(password, 1)

function getDerivedKey(password, iterations) {
return pbkdf2Sync(password, SALT, iterations, KEY_LENGTH, 'sha1')
}

function decryptorCookie(encryptedCookie) {
const decipher = createDecipheriv('AES-128-CBC', key, IV)
const decryptedCookie = decipher.update(encryptedCookie.slice(3))
return decryptedCookie.toString() + decipher.final('utf8')
}

function parseExpiresUtc(n) {
return new Date(n / 1e3 - 116444736e5)
}

function parseCookie(item) {
const { name, host_key, encrypted_value: str, expires_utc, has_expires } = item
// V10
const val = decryptorCookie(str)
const expires = parseExpiresUtc(expires_utc)
const unixTime = +(expires / 1e3).toFixed(0)
const out = { key: name, val, has_expires, expires, host: host_key, unixTime }
return out
}

const DefaultDbPath = '~/.config/chromium/Default/Cookies'
export function getCookies(sql, dbPath = DefaultDbPath) {
const db = new Database(dbPath)
const query = db.query(sql)
const items = query.all()
return items.map(parseCookie)
}

export function toNetscapeCookieFile(arr) {
const lines = arr
.map(c => {
return `${c.host} TRUE / TRUE ${c.unixTime} ${c.key} ${c.val}`
})
.join('\n')
return `# Netscape HTTP Cookie File
# This file is generated by yt-dlp. Do not edit.

${lines}`
}

export function toHeadersCookie(arr) {
return arr.map(c => `${c.key}=${c.val}`).join('; ')
}

if (import.meta.main) {
const sql = `SELECT * FROM cookies where host_key = '.aliyundrive.com' and name = 'cookie2';`
console.log(getCookies(sql))

const sql1 = `SELECT * FROM cookies where host_key = '.bilibili.com' and name = 'SESSDATA';`
const cookies = await getCookies(sql)
console.log(toNetscapeCookieFile(cookies))
}

```
239 天前
回复了 ppbaozi 创建的主题 宽带症候群 wireguard 偶现连不上,发送数据量疯长
我 linux 同上,前一段时间也出现过,也是同城电信,4G 回家,安卓没问题
251 天前
回复了 wy315700 创建的主题 V2EX 3000 天签到成就达成
手签 3605 ,中间断过很多次
328 天前
回复了 aqtata 创建的主题 程序员 有什么批量转换文件编码的工具推荐吗?
fd xargs conv
336 天前
回复了 MrGba2z 创建的主题 Android 问一个 ADB 和 usb hub 的问题
不插耳机呗,电脑播放,scrcpy 2.0 开始已经可以播放声音了
350 天前
回复了 coreki 创建的主题 程序员 作为程序猿居然投域名,亏到姥姥家了
2022-10-17 07:59:54 +08:00
回复了 mokevip 创建的主题 随想 突然发现,其实与其说喜欢折腾,不如说多巴胺成瘾
这时候可以弄 TG 群了,一起继续折腾边分享,边交流边找新坑,手动狗头
我的便宜方案
AP 用现成闲置电信每年续费送的路由器开 AP 模式。
ROS 软路由,主要负责拨号,DHCP ,策略路由等。
DHCP lease 默认给访客用单独一个 C 段,IOT 和自己设备各一个 C 段,都有 mac ,家人 DHCP 无感,自己的 static 设置一遍也是一劳永逸,配合 DHCP option 设置旁路网关和 DNS 即可。

这样 AP 上来的 就是同个 SSID ,多个 SSID 都行
2021-02-12 15:29:02 +08:00
回复了 gcyrn 创建的主题 问与答 不开玩笑 能不能分享一条人生经验?
不要尝试改变别人,只能改变自己
子进程 aria2c 多源
2020-12-23 22:13:24 +08:00
回复了 xwchenhui 创建的主题 NAS 6W 的 CPU 跑了 7 个虚拟机,快冒烟了
试试 docker 放 lxc 里,我的 n4200 也是走低功耗路线,发现 vm 比 lxc 占 CPU,现在能 lxc 的服务都 lxc 话了,能享受 PVE 的备份和快速迁移,lxc alpine docker 跑些还没迁移 lxc 的服务
帮栈哥顶
2020-03-20 20:37:09 +08:00
回复了 mdemo 创建的主题 酷工作 关于阿里巴巴校招你想知道的一切
帮栈哥顶
2019-06-18 13:47:40 +08:00
回复了 tlerbao 创建的主题 Apple 双设备,一套鼠标键盘控制,最好的解决方案是怎样的。
usbip
2019-06-14 20:42:06 +08:00
回复了 DeeCheung 创建的主题 宽带症候群 [杭州]弃坑电信,求解其他 ISP 宽带问题
移动联通都预约了 等师傅联系看看能不能装 回头体验上了再来汇报情况
2019-06-14 20:40:44 +08:00
回复了 DeeCheung 创建的主题 宽带症候群 [杭州]弃坑电信,求解其他 ISP 宽带问题
感谢各位
1  2  3  4  5  6  7  8  9  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1230 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 40ms · UTC 23:23 · PVG 07:23 · LAX 16:23 · JFK 19:23
Developed with CodeLauncher
♥ Do have faith in what you're doing.