Skip to content

Instantly share code, notes, and snippets.

#EXTM3U
#EXTINF:0,kexp320.mp3
https://kexp.streamguys1.com/kexp320.mp3
#EXTINF:0,kexp128.mp3
https://kexp.streamguys1.com/kexp128.mp3
#EXTINF:0,kexp160.aac
https://kexp.streamguys1.com/kexp160.aac
#EXTINF:0,kexp64.aac
https://kexp.streamguys1.com/kexp64.aac
@jamesliu96
jamesliu96 / bambient.user.js
Last active April 11, 2024 06:38
Bilibili Ambient Mode
// ==UserScript==
// @name BAMBIENT
// @version 1.1.3
// @description Bilibili Ambient Mode
// @author jamesliu96
// @license MIT
// @namespace https://jamesliu.info/
// @homepage https://gist.github.com/jamesliu96/03775eba64ff6b26efd6ee2676354f52
// @match https://*.bilibili.com/*
// @icon https://www.bilibili.com/favicon.ico
#!/data/data/com.termux/files/usr/bin/bash
proot-distro login ${1:-debian} --termux-home --shared-tmp --fix-low-ports
@jamesliu96
jamesliu96 / badtag.user.js
Last active January 18, 2024 08:28
Bilibili AD TAGging - tagging ad videos by analyzing danmaku stats
// ==UserScript==
// @name BADTAG
// @version 1.2.5
// @description Bilibili AD TAGging - tagging ad videos by analyzing danmaku stats
// @author jamesliu96
// @license MIT
// @namespace https://jamesliu.info/
// @homepage https://gist.github.com/jamesliu96/aeef912d74bdd184cbb6781f1f3939b1
// @match https://*.bilibili.com/*
// @icon https://www.bilibili.com/favicon.ico
options:
parameters:
author: jamesliu96
catch_exceptions: 'True'
category: '[GRC Hier Blocks]'
cmake_opt: ''
comment: ''
copyright: jamesliu96
description: ''
gen_cmake: 'On'
class BlobReader {
public static toBytes = (ab: ArrayBuffer) => new Uint8Array(ab);
public static EOF = new Error('EOF');
public static LOCK = new Error('LOCK');
private _remain!: Blob;
private _offset = 0;
private _end = false;
@jamesliu96
jamesliu96 / dc.js
Last active January 2, 2023 17:38
Bilibili Live Danmaku Client for Node.js
function exitWithErr(...args) {
console.error('error:', ...args);
process.exit(-1);
}
let roomId = process.argv[2];
if (!roomId) exitWithErr('please provide roomId');
const DEBUG = false;
const rl = require('readline').createInterface({
input: process.stdin,
output: process.stdout,
terminal: false,
});
const data = [];
rl.on('line', (line) => {
data.push(line);
[Unit]
Description=Bittorrent Tracker
[Service]
ExecStart=bittorrent-tracker -qsp 6969
Restart=always
RestartSec=10
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=bittorrent-tracker
<?xml version="1.0" encoding="UTF-8"?>
<PremiereData Version="3">
<Tree ObjectRef="1"/>
<Tree ObjectID="1" ClassID="177f2841-dd5b-43bd-9d9a-79e231bd47dd" Version="1">
<RootBin ObjectRef="2"/>
<Node Version="1">
</Node>
</Tree>
<BinTreeItem ObjectID="2" ClassID="5e0f46fa-384f-4c09-bc53-0b8e2b7005b5" Version="4">
<TreeItemBase Version="4">