在调试使用Google后端的客户端应用程序时,我添加了一些调试版本的函数,并使用Chrome Developer Tools脚本编辑器插入它们.
但是这种方法存在许多限制,首先是编辑器似乎并不总是使用去缩小文件,而当JS文件长度为35K行时,这是一个问题.
另一个问题是在加载时间内完成的所有初始化都使用原始的"未修补"函数,因此这并不理想.
我想javascript.js用我自己的本地副本替换远程文件,大概是使用文件名上的一些正则表达式,或者任何合适的策略,我很乐意使用Firefox或Chrome,如果一个比另一个更容易.
今天我发现有两种带有PEM格式标题的公钥格式,例如
X.509 SubjectPublicKeyInfo** (PEM header: BEGIN PUBLIC KEY)
Run Code Online (Sandbox Code Playgroud)
对应于短标题形式;
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzsQ7MkLsc1lJ8S2WtItN
cfj7pbdB6PVcRHEEjbie97Rqthkr6h2WE5rVj0BZNwFjs4NIUYws2KeQjexZ8NEY
qpcP9iPMjdNgLpU8uL03QMti+y+y0IU4493KxKxjprjtu6no0/O5TwNs+/r+7hmF
/8d+2mhyLJQbtuvQQ6mvg6roCMuqzRS91SObzT1ojCjY+AbUrmVZ5jmklHCv7uah
EoTsB3S7wHCBRmelh2j5fWrRBay4h0IB/NSrt1dO/UEVmDSWGjnG+RsDMhYGZXJ1
hJawhqrbuVRZvrMyzqQ0j1xy5buS6jqSHA3wdOixdI8dDpvBnUDGqEIU6gl2Am7h
pwIDAQAB
-----END PUBLIC KEY-----
Run Code Online (Sandbox Code Playgroud)
和
PKCS#1 RSAPublicKey* (PEM header: BEGIN RSA PUBLIC KEY)
Run Code Online (Sandbox Code Playgroud)
对应于较长的形式;
-----BEGIN RSA PUBLIC KEY-----
MIIBCgKCAQEA1+skaD+II3MYF/0iGDcFX/E6b0XzSC8I2RapRaCL84EqY8HxWGKn
+7p34ZJwZx9avX0cCUqvTmS6LtuoSGrdLlahrz1qEnkdYqlo9HXXQiKtA9iwaiId
LxPtCnJnGMOMtolwKAJpsr+l68D41mWvvibrwPbeTJsFi0zvrN0rL1YbVYvw3X85
fQm+wgo3s8I5sOWwlkADvfD37KxteEPitfb2cvGfYo+VIhBqqXQUhQSC3jBAUc5o
+P8U3eu84ln2YqiIg9P/iM99HoKFECJ2+mxWM8oz0rS8oqthVOck+KZ7mBiYjEzW
3ytTJIUpX9Sl88oDqkz7Azku/GVEiJNWSQIDAQAB
-----END RSA PUBLIC KEY-----
Run Code Online (Sandbox Code Playgroud)
我想验证后一种格式的一些公钥,但是我看不出openssl命令行工具显然可以做到这一点.-pubout导出第一种格式,pubin格式拒绝第二种标题;
#openssl rsa -pubin -in rsa.pub -modulus -noout
unable to load Public Key
140154809448256:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:696:Expecting: PUBLIC KEY
Run Code Online (Sandbox Code Playgroud)
有关openssl的正确命令是什么的建议,或者是否有一些工具可以从命令行执行此操作?
我有一个快速的脚本,使用ssh在每个服务器上运行命令(我相信有很多更好的方法来做到这一点,但它的目的是为了快速工作!!).对于test1等,没有服务器,所以脚本继续,如果pubkey auth失败,脚本也会继续.但是,如果脚本连接,则打印日期但ssh循环终止...
#!/bin/bash -x
cat <<EOF |
##file servers
test1
test2
server1
server2
EOF
while read line
do
if [ "${line:0:1}" != "#" ]; then
ssh -q -oPasswordAuthentication=no -i id_dsa user1@${line} date
fi
done
echo read line must have exited
Run Code Online (Sandbox Code Playgroud)
输出是这样的;
+ cat
+ read line
+ '[' t '!=' '#' ']'
+ ssh -q -oPasswordAuthentication=no -i id_dsa user1@test1 date
+ read line
+ '[' t '!=' '#' ']'
+ ssh -q -oPasswordAuthentication=no -i id_dsa user1@test2 date
+ read line1 …Run Code Online (Sandbox Code Playgroud) 我有一个使用THREE.Terrain库生成的地形.我希望能够单击并拖出选取框并选择地形网格表面上的对象.
目前我正在检测拖动的开始和结束,并在全局XZ平面中绘制一个矩形,但我更喜欢它与表面齐平.
目前它看起来像这样;
然而,我的目标是更像这样的东西;
我想知道我是否错过了一些使用Core three.js功能的明显方法.
总是有强力方法在矩形周边周围以一定间隔投射光线,并创建一系列线段来近似投影矩形,但我想知道是否有本机方法.
(本周我才开始关注three.js,所以我可能错过了一些明显的东西......虽然我已经花了最后一天进行实验,并且没有太多运气)
更新
基于@ prisoner849的建议,我使用Terrain演示将他的代码混淆了,这似乎工作得很好.
varying vec2 vPos;
void main() {
vec2 Ro = size * .5;
vec2 Uo = abs( vPos - center.xz ) - Ro;
vec3 c = mix(vec3(1.), vec3(1.,0.,0.), float(enabled && (abs(max(Uo.x,Uo.y)) < lineHalfWidth) ));
gl_FragColor = vec4(c, float(enabled && (abs(max(Uo.x,Uo.y)) < lineHalfWidth) ));
}
`;
Run Code Online (Sandbox Code Playgroud)
代码需要大量清理,并且需要旋转编辑器以匹配摄像机视角,并且可以通过按住Ctrl键单击以添加到选择集等等.
但原则上片段着色器效果很好......
bash ×1
firebug ×1
greasemonkey ×1
javascript ×1
openssl ×1
rsa ×1
ssh ×1
terrain ×1
three.js ×1