running:
bash create-vod-hls.sh beach.mkv
will produce:
beach/
|- playlist.m3u8
|- 360p.m3u8
## pip install flask cpca | |
## http://172.24.1.55:8000/?keyword=福建省漳州市龙海市角美镇菜鸟电商园一期二号库夏奶录 | |
import cpca | |
from flask import Flask,request | |
app = Flask(__name__) | |
@app.route('/',methods=["GET"]) | |
def hello_world(): |
// ==UserScript== | |
// @name Quark Download | |
// @namespace http://tampermonkey.net/ | |
// @version 0.2 | |
// @description 点击鼠标中键直接下载夸克网盘内容,无需下载客户端 | |
// @author Xav1erW | |
// @match http*://pan.quark.cn/* | |
// @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== | |
// @grant none | |
// @license MIT |
version: "3" | |
services: | |
db: | |
image: postgres:11-alpine | |
environment: | |
POSTGRES_DB: wiki | |
POSTGRES_PASSWORD: wikijsrocks | |
POSTGRES_USER: wikijs | |
logging: |
#!/usr/bin/env pwsh | |
# https://stackoverflow.com/questions/8761888/capturing-standard-out-and-error-with-start-process | |
function Start-Command ([String]$Path, [String]$Arguments) { | |
$pinfo = New-Object System.Diagnostics.ProcessStartInfo | |
$pinfo.FileName = $Path | |
$pinfo.RedirectStandardError = $true | |
$pinfo.RedirectStandardOutput = $true | |
$pinfo.UseShellExecute = $false | |
$pinfo.Arguments = $Arguments |
running:
bash create-vod-hls.sh beach.mkv
will produce:
beach/
|- playlist.m3u8
|- 360p.m3u8
import { SignJWT, | |
generateKeyPair, exportJWK,importJWK,exportPKCS8, | |
decodeProtectedHeader,decodeJwt, | |
jwtVerify, | |
} from "jose"; | |
// use jsrsasign only in web browser | |
// import { KEYUTIL, jws } from "jsrsasign"; | |
// https://nodejs.org/docs/latest-v16.x/api/crypto.html#static-method-keyobjectfromkey | |
// https://github.com/panva/jose/blob/c185e24def279e921258ccbafaf65d4bb571d60d/docs/README.md |
/** | |
* Install and enable the rabbitmq_delayed_message_exchange plugin as described by Alvaro Videla in this blogpost: | |
* https://www.rabbitmq.com/blog/2015/04/16/scheduling-messages-with-rabbitmq/ | |
*/ | |
const amqp = require('amqplib'); | |
const exchange = 'yourExchangeName'; | |
const queue = 'yourQueueName'; | |
const queueBinding = 'yourQueueBindingName'; | |
// Message consumer |
'use strict' | |
const sodium = require('libsodium-wrappers'); | |
sodium.ready.then(function() | |
{ | |
console.log('sodium ready'); | |
//xchacha20ploy1305 ietf | |
//A key and a nonce are generated by the encrypting party. The decrypting | |
//party should use them for decryption |
const useFetch = (service) => { | |
const [loading, setLoading] = useState(true); | |
const [error, setError] = useState(); | |
const [data, setData] = useState(); | |
const fetchAPI = useCallback(async () => { | |
try { | |
const res = await fetch(service); | |
const json = await res.json(); | |
setData(json); |
/* | |
将从机与arduino开发板通过IIC接口连接好。 | |
SDA-->A4 | |
SCK-->A5 | |
上传以下代码至arudino,观察串口返回的结果。 |