小编Coo*_*J86的帖子

如何使用twilio来保证实时答案或语音邮件?

更新:我得到了它的工作https://github.com/coolaj86/bizilio

我有这样一种情况,即客户打电话,该电话应转发给第一位代表回答(暂时只关注一位).

问题是偶尔会出现代表答案或电话关闭并直接进入语音邮件,这被检测为答案.

我想做的是提出一个挑战,例如使用收集并说出 "按2回答",超时5秒,然后连接呼叫(或放弃呼叫),如果没有代表响应转到语音邮件.

我不清楚如何将按2的人连接到正在响铃的电话.

twilio

6
推荐指数
2
解决办法
5903
查看次数

如何使用 Socket.io v2 手动处理“升级”事件

我正在将一个预先存在的项目从 Socket.io (socket-io / socketio) 转换为普通的 Websockets,我想在转换期间并排运行这两个项目

我希望做什么

'use strict';

var app = require('express')();
var server = require('http').createServer(app);
var ws = require('ws');
var wss = new ws.Server({ noServer: true })
var io = require('socket.io')({ path: '/api/socket.io' });

server.on('upgrade', function upgrade(req, socket, head) {

    if ('/api/ws' === req.url) {
      wss.handleUpgrade(req, socket, head, function (ws) {
        wss.emit('connection', ws, req);
      });
    } else if ('/api/socket.io' === req.url) {
      io.XXXXX() // ??? <=== MISSING DOCUMENTATION FOR THIS
    } else {
      socket.destroy();
    } …
Run Code Online (Sandbox Code Playgroud)

socket.io ws

6
推荐指数
0
解决办法
395
查看次数

校验和 JPEG 数据(不是整个文件)

是否有结束 exif / end-of-xmp / end-of-iptc / start-of-data 标记,我可以用它来获取 jpg/jpeg(和其他图像格式)的数据部分的校验和?

xmp jpeg checksum iptc exif

5
推荐指数
1
解决办法
3301
查看次数

如何将16位RGB帧缓冲区转换为可视格式?

我正在设备上使用其他人的代码,该设备可以将图像输出/dev/fb/0并显示在视频上或通过网络发送到客户端应用程序.

我无法访问客户端应用程序的旧源代码,但我知道以下有关数据的信息:

  • 720×480
  • 16位
  • RGB(我不确定它是5,5,5还是5,6,5)
  • RAW(无头标)
  • cat-能够 /dev/fb/0
  • 675KB

如何为此标题或将其转换为JPEG,BMP或RAW类型,然后我可以在桌面应用程序中查看?

最终,我希望它在浏览器中是jpeg和可见的,但是我能用眼睛看到的任何东西现在都可以使用.

成功

(见下面的评论)

ffmpeg \
  -vcodec rawvideo \
  -f rawvideo \
  -pix_fmt rgb565 \
  -s 720x480 \
  -i in-buffer.raw \
  \
  -f image2 \
  -vcodec mjpeg \
  out-buffer.jpg
Run Code Online (Sandbox Code Playgroud)

尝试失败

在宽度方向上三次显示图像,几乎没有颜色,并垂直压扁:

rawtoppm -rgb -interpixel 720 480 fb.raw > fb.ppm
Run Code Online (Sandbox Code Playgroud)

显示图像,但条纹和垂直压扁和颜色不好:

rawtoppm -rgb -interrow 720 480 fb.raw > fb.ppm
Run Code Online (Sandbox Code Playgroud)

与上述类似

convert -depth 16 -size 720x480 frame_buffer.rgb fb.jpeg
Run Code Online (Sandbox Code Playgroud)

rgb ffmpeg framebuffer imagemagick

5
推荐指数
1
解决办法
1万
查看次数

如何为新的YT.Player()使用类而不是id

在此处给出的示例中,https://developers.google.com/youtube/iframe_api_reference可以看到,不是使用标准的css选择器语法,而是一个自定义字符串语法,似乎只引用了id.

<div id="player"></div>

// note no 'var' and yet this will work in strict mode
// since 'player' is being implicitly grabbed from the dom
player = new YT.Player('player', ...);
Run Code Online (Sandbox Code Playgroud)

这当然会产生泄漏全局变量的问题,无论id是什么名称,这是我试图避免的事情(因为它为严格模式创造了一个漏洞,只是令人困惑和意外的行为).

解决方法是对名称进行连字,以便无法从全局空间访问该名称

<div id="js-player"></div>

// now window['js-player'] is guarded from accidental access
var player = new YT.Player('js-player', ...);
Run Code Online (Sandbox Code Playgroud)

但最重要的是,使用ID只是不好的做法,我更喜欢完全避免它们,因为类很好地工作并且没有奇怪的副作用.

youtube-iframe-api

5
推荐指数
1
解决办法
3167
查看次数

使用 json.RawMessage 将 json 解组为结构

我需要解组 json 对象,它可能具有以下格式:

格式1:

{
    "contactType": 2,
    "value": "0123456789"
}
Run Code Online (Sandbox Code Playgroud)

格式2:

{
    "contactType": "MobileNumber",
    "value": "0123456789"
}
Run Code Online (Sandbox Code Playgroud)

我用于解组的结构是:-

type Contact struct {
    ContactType int    `json:"contactType"` 
    Value       string `json:"value"`
}
Run Code Online (Sandbox Code Playgroud)

但这仅适用于格式 1。我不想更改 ContactType 的数据类型,但我也想适应第二种格式。我听说过 json.RawMarshal 并尝试使用它。

type Contact struct {
    ContactType int
    Value       string          `json:"value"`
    Type        json.RawMessage `json:"contactType"`
}

type StringContact struct {
    Type string `json:"contactType"`
}

type IntContact struct {
    Type int `json:"contactType"`
} 
Run Code Online (Sandbox Code Playgroud)

这完成了解组,但我无法设置ContactType取决于 的类型的变量json.RawMessage。如何对我的结构进行建模才能解决这个问题?

json go unmarshalling

5
推荐指数
1
解决办法
7140
查看次数

让我们加密自动续订时出错(Nginx)

我正在尝试设置greenlock-express来运行nginx代理.

这是我的nginx配置

...
# redirect
server {
    listen 80;
    listen [::]:80;
    server_name mydomain.com;

    location / {
        return 301 https://$server_name$request_uri;
    }
}

# serve
server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name mydomain.com;

    # SSL settings
    ssl on;
    ssl_certificate C:/path/to/mydomain.com/fullchain.pem;
    ssl_certificate_key C:/path/to/mydomain.com/privkey.pem;

    # enable session resumption to improve https performance
    ssl_session_cache shared:SSL:50m;
    ssl_session_timeout 1d;
    ssl_session_tickets off;

    # enables server-side protection from BEAST attacks
    ssl_prefer_server_ciphers on;
    # disable SSLv3(enabled by default since nginx 0.8.19) since it's less …
Run Code Online (Sandbox Code Playgroud)

javascript ssl nginx node.js greenlock

5
推荐指数
1
解决办法
486
查看次数

如何对 JWK 进行指纹识别?

是否有为 JWK 创建指纹(又名指纹)的标准规范方法?

从我阅读的内容来看,标准似乎没有定义 akid应该如何指定,我觉得这很奇怪。对我来说,它是最重要的,因为它是一个确定性的值,而不是一个需要查找表的值,这样其他人可以通过拥有公钥轻松地重新创建密钥 ID。

我知道 SSH 指纹和 X.509 指纹是标准化的,但是对于使用 JWK 的所有环境(尤其是浏览器)来说,这些似乎不是一个合适的解决方案,因为它们对于幼稚的实现来说太复杂了,并且包括能够操作的库这样(即伪造)会浪费大量内存、带宽和虚拟机编译时间。

更新

官方称它为“指纹”而不是“指纹”。

rsa-key-fingerprint ecdsa jwk

4
推荐指数
1
解决办法
921
查看次数

使用自签名证书创建并运行安全(https)nodejs express应用程序 - 分段错误

按照本指南https://git.coolaj86.com/coolaj86/ssl-root-cas.js/src/branch/master/Painless-Self-Signed-Certificates-in-node.js.md,我创建了一个使用以下脚本的根CA和签名证书:

make-certs.sh

#!/bin/bash
FQDN=`hostname`

# make directories to work from
rm -rf certs
mkdir -p certs/{server,client,ca,tmp}

# Create your very own Root Certificate Authority
openssl genrsa \
  -out certs/ca/my-root-ca.key.pem \
  2048

# Self-sign your Root Certificate Authority
# Since this is private, the details can be as bogus as you like
openssl req \
  -x509 \
  -new \
  -nodes \
  -key certs/ca/my-root-ca.key.pem \
  -days 1024 \
  -out certs/ca/my-root-ca.crt.pem \
  -subj "/C=US/ST=Utah/L=Provo/O=${FQDN}/CN=${FQDN}"

# Create a Device Certificate for each …
Run Code Online (Sandbox Code Playgroud)

ssl self-signed node.js express

2
推荐指数
1
解决办法
3630
查看次数

我可以使用与HAProxy匹配的通配符SNI吗?

我正在寻找一个HAProxy匹配SNI通配符的例子,我的搜索提出了类似的标题,但无关的证书问题.

具体来说,我需要使用acme/letsencyrpt为dvsni路由nonce域.

frontend foo_ft_https
    mode tcp
    option tcplog
    bind 0.0.0.0:443

    acl foo_app_letsencrypt req.ssl_sni -i *.acme.invalid
    use_backend foo_bk_letsencrypt if foo_app_letsencrypt

    default_backend foo_bk_default

backend foo_bk_letsencrypt
    mode tcp
    option tcplog

    server foo_srv_letsencrypt 127.0.0.1:3443

backend foo_bk_default
    mode tcp
    option tcplog

    server foo_srv_default 127.0.0.1:8443
Run Code Online (Sandbox Code Playgroud)

注意:所有任意名称都以'foo_'为前缀,以便读者可以轻松地将它们与关键字,指令等区分开来.

wildcard-subdomain haproxy

1
推荐指数
1
解决办法
4457
查看次数

是否有适用于JavaScript的CSS3选择器解析器?

任何人都知道将解析CSS3选择器的片段如下:

"form#network_template[method='put'][action='#form_{keyname}']"
Run Code Online (Sandbox Code Playgroud)

对此:

{
  tag: "form",
  id: "network_template",
  method: "put",
  action: "#form_{keyname}"
}
Run Code Online (Sandbox Code Playgroud)

或这个:

<form id="network_template" method="put" action="#form_{keyname}">
Run Code Online (Sandbox Code Playgroud)

javascript css-selectors

0
推荐指数
1
解决办法
1491
查看次数

如何限制从nodejs http模块上的其余服务器传入的块的大小?

我正在使用 Node.js 请求模块向 Node.js 请求休息服务器。如果传入数据大小超出允许的限制,我想取消流。这样做的目的是确保我的网络没有被锁定。

我的代码示例如下;

var http = require("http");

async function httpRequest({
  host,
  method,
  port,
  path
} = params, data) {
  if (method.toUpperCase() === "GET") {
    let query = "";
    data = JSON.parse(data);

    for (var key in data) {
      if (data.hasOwnProperty(key)) {
        let value = data[key];
        console.log(key + " -> " + value);
        query = query
          .concat("&")
          .concat(key)
          .concat("=")
          .concat(value);
      }
    }
    if (query) {
      query = "?".concat(query.substring(1));
    }
    path = encodeURI(path.concat(query));
    console.log("path : " + path);
  }
  var …
Run Code Online (Sandbox Code Playgroud)

javascript stream node.js node-https

0
推荐指数
1
解决办法
4273
查看次数