V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  body007  ›  全部回复第 3 页 / 共 21 页
回复总数  412
1  2  3  4  5  6  7  8  9  10 ... 21  
@body007 不好意思,点进去看不是用的这个问题网站下载,而是执行脚本名字和网站一样。
https://i.imgur.com/9M4gzMC.png

这个有问题的恶意代码,尽然有很多国内文章里面用到了🤣🤣🤣
84 天前
回复了 Livid 创建的主题 Visual Studio Code Haystack Editor
创意真不错,值得一试。
88 天前
回复了 jlak 创建的主题 Go 编程语言 写 Go 真的好爽
写 go ,有啥不懂直接点进去看源码,清清楚楚、明明白白。我写 python 时候那真是噩梦,标准库点进去只看到一个定义,想看参数用法只能找文档,还生怕用错了。被 *args 和 **kwargs 支配的恐惧,就像 go 写函数传参是 func test(arg map[string]any) 一样蛋疼。
https://man.openbsd.org/ssh_config

试试在:~/.ssh/config 添加下面配置看看

Host github.com
User github-username

Host gitlab.com
User gilab-username
https://i.imgur.com/VZa9Rcw.png

如果只是处理数据库 null 字段,标准库有对应的结构体,无需引入三方库
@bv 要是能兼容我也不会想这办法了,网上搜到的都是 goland 新版自带 dlv 调试自己的项目有问题额。
@bv 感谢大佬分享该用法,之前我多次用到某个值,就在参数写多次,这下方便多了👍
95 天前
回复了 WilliamColton 创建的主题 问与答 Go 新手求教
@WilliamColton #14 确实是因为我也从零编写自用的代理工具,所以有相关经验。你可以看我另一个贴子 /t/1068681 ,可能会完善你这个代理的功能。我在另一个项目 https://github.com/jan-bar/EncryptionFile 深入研究过那 3 种加解密方式,所以我正好有相关经验额😊
@ysc3839 如果只是预读数据头部性能应该还可以,如果还处理了部分数据的话那就不太好,还得缓存已处理数据用其他协议再处理一次。
@DefoliationM 不是很有需求额。我自己用的项目除了 socks5 和 http 代理,还支持 socks5 udp 代理,还支持作为 shadowsocks-rust 的 SIP003 插件(为了支持 shadowsocks-android 的安卓端),也是复用相同 tcp 端口,只是不方便开源😁
@canyue7897 这是标准的啊,上面用 curl 命令测试都可以的。代理工具都是我自己写的,没有用过 clash ,不清楚情况。不过看 #1 楼的回复 clash 是支持的。不过记得 http 代理有 2 种模式,可以看代码和 curl 测试命令去理解额。
96 天前
回复了 WilliamColton 创建的主题 问与答 Go 新手求教
@WilliamColton #10 我感觉是巧合,停顿可能造成协程切换,缓冲区数据正好按照代码分段发送。你可以连续不间断发送请求测试 sleep 版本,肯定是有概率触发问题的,大概率就是部分数据不正确。
@sunny352787
@0o0O0o0O0o

看来盯着 shadowsocks 的我落后了,学习了。
96 天前
回复了 WilliamColton 创建的主题 问与答 Go 新手求教
@WilliamColton #8 你这个数组逆序是没问题,但你没办法保证加密的这段数据正好是解密那段数据。例如你将[1,2,3,4,5,6]加密为[6,5,4,3,2,1]发送出去,但接收方不一定刚好接收到[6,5,4,3,2,1],有可能接收到[6,5,4],[3,2,1],分 2 次处理。

我了解到的加解密方式有下面 3 种,在 go 标准库里面有具体实现。
Stream 方式可以做到在任意数据位置加解密都行。
BlockMode 方式需要块长度,加解密双方都必须按照某个长度的数据进行加解密。
AEAD 方式更加复杂,我忘了细节,你可以自己了解下。
总之加解密需要保证加密数据在解密时也是完整的。

// 这种简单的异或可以做到任意位置加解密,0x12 就是密钥
func (r ReverseCipher) Encrypt(data []byte) []byte {
for i := range data {
data[i] ^= 0x12
}
return data
}

标准库里面自带很多加解密方法,你可以选最简单的 Steam 方式看看。

https://i.imgur.com/laTlVJE.png
105 天前
回复了 WilliamColton 创建的主题 问与答 Go 新手求教
@WilliamColton 粗略来看,去掉加解密后应该不会有问题,你可以先试试不用加解密的情况。cipher.Encrypt 不是线程安全也会有影响。
我比较懒,换成 Caddy ,配置少,自动管理证书。
我喜欢 go ,但我讨厌这个特性。主要场景也不是你上面那种封装完立即 range 遍历,而是生成一个迭代器,放到代码其他位置去遍历,这种代码容易写出 bug ,还不好定位。你可以看下 iter 包,里面还有 iter.Pull 这种方法,就是把迭代器变成 next() 和 stop() 两个函数,意思是在其他代码位置一个个读取迭代器元素,最好在最上面写 defer stop()。go 容易阅读是很多使用者喜欢的原因,难以想象到处充斥这种迭代器的代码的阅读体验。生成迭代器和使用迭代器的代码位置可能相差十万八千里,调试打断点估计都不好找位置🤣
1  2  3  4  5  6  7  8  9  10 ... 21  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1126 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 33ms · UTC 18:54 · PVG 02:54 · LAX 10:54 · JFK 13:54
Developed with CodeLauncher
♥ Do have faith in what you're doing.