V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  thevita  ›  全部回复第 11 页 / 共 14 页
回复总数  269
1 ... 3  4  5  6  7  8  9  10  11  12 ... 14  
2022 年 3 月 23 日
回复了 kaiger 创建的主题 Linux 国内外流量分流的解决方案(系统级别)
@thevita 不过 如果要这样的话,干嘛用 ipset 呢,,23333
2022 年 3 月 23 日
回复了 kaiger 创建的主题 Linux 国内外流量分流的解决方案(系统级别)
context: OP 明显是想用 这个 PandaVPN ,刚去看了下这个东西的文档,应该有提供 OpenVPN 模式,不过这时候会全流量走 vpn, OP 可以自己 通过 调路由表+iptables 的方式分下流,应该可以?
---
如果还是你自己写的方案的话,你现在缺的是一个 东西 帮你把 packet 解析 并发送给代理的角色,
可行的方案可以用 clash 大概如下:

1. clash 的作者提供一个不开源的版本 叫 clash premium, 包含一些高级功能,提供 TUN 模式来转发流量
2. 用这个 TUN 模式, 代理上游设置成 PandaVPN 的代理端口, 然后你的 iptables 规则把流量转发到 clash 加的 tun interface 上去(应该叫 utun 之类的)
2022 年 3 月 23 日
回复了 kaiger 创建的主题 Linux 国内外流量分流的解决方案(系统级别)
如果如你所说, 是用 SwitchyOmega 的话, 本地监听的 8080 端口应该是个 http/socks5 的代理服务, 直接让 iptables 把 packet 扔过去是用不了的,请确认下

如果 PandaVPN 这个 真的是个 vpn 一般会有一个 vif ,你可以通过 iptables 把 packet 扔给对应的 interface
2022 年 3 月 23 日
回复了 Trinity888 创建的主题 程序员 大家如何做甲方关系呀?求教
降价
啥额外软件都不用:
A: execute `ssh -N -D 1080 B`
A: another shell execute `pip install <package-name> --proxy '127.0.0.1:1080' `
恭喜你,发明了 360 的核心技术,不过 因为 md5 可以伪造, 所以也许需要一个更好的摘要算法,或者像 360 一样 多个摘要同时用
----
现实中还是没这么简单,要维护这个表,大部分公司都做不到,而且查杀也是多种手段并用
2022 年 3 月 2 日
回复了 LxnChan 创建的主题 Linux Ubuntu 如何永久修改 MAC 地址?
永久的话,换网卡
2022 年 2 月 25 日
回复了 HanMeiM 创建的主题 程序员 客户端与服务端通信使用 GRPC 有什么劣势吗?
其实如果只是为了解决 "频繁的沟通接口字段细节", 可以一步步来比如
1. protobuf-over-http
2. 用 gRPC-Gateway, grpc 和 rest 共存
2022 年 2 月 25 日
回复了 HanMeiM 创建的主题 程序员 客户端与服务端通信使用 GRPC 有什么劣势吗?
1. 最大的劣势就是会不停有人问:"为什么不用 http"
2. 调试确实不方便,工具链+人员培训
2022 年 2 月 21 日
回复了 blue7wings 创建的主题 Go 编程语言 Golang 如何使用 struct 泛型?
@janxin

不是的,不是实例化 Stringer 类型

那个 binary 的符号表如下(过滤了下)

Show 对 A B 两个类型有两个实例

[![HvvkV0.jpg]( https://s4.ax1x.com/2022/02/21/HvvkV0.jpg)]( https://imgtu.com/i/HvvkV0)
2022 年 2 月 21 日
回复了 blue7wings 创建的主题 Go 编程语言 Golang 如何使用 struct 泛型?
@ZSeptember 测试了下,应该是支持的,只不过很鸡肋,貌似没啥卵用。

```
package main

import (
"fmt"
"runtime"
)

type A struct {
AID string
}

type B struct {
BID string
}

type AB interface {
A | B
}

func Show[val AB](v val) {
pc := make([]uintptr, 10) // at least 1 entry needed
runtime.Callers(0, pc)
f := runtime.FuncForPC(pc[0])
fmt.Printf("%s => %x\n", f.Name(), f.Entry())
fmt.Println(v)
}

func main() {
a := A{AID: "aid"}
b := B{BID: "bid"}
Show(a)
Show(b)
Show(A{AID: "test"})

}

```

=====
main.Show[...] => 108b0a0
{aid}
main.Show[...] => 108b280
{bid}
main.Show[...] => 108b0a0
{test}
=====

如上, A, B 两个类型,展开成了两个,Show 函数, 不过 貌似 v val 在 Show 里面什么都做不了,如果要转型成 A 或者 B 需要用 反射,要这范型何用。

请哪位大佬解惑
2022 年 2 月 21 日
回复了 blue7wings 创建的主题 Go 编程语言 Golang 如何使用 struct 泛型?
@janxin

func Show[val AB](v val) {
fmt.Println(v)
}

func main() {
a := A{AID: "aid"}
b := B{BID: "bid"}
Show(a)
Show(b)
}

----
约束应该是可以这么用的

还没认真看过 go 的范型,所以不是很了解

大概逻辑是,范型展开的时候,需要根据具体的 代码(及 调用 Get/Show 的代码)中的类型信息( concrete type )进行约束检查,并展开成 concrete type 的代码, 不能用具体返回值来推断 函数返回类型 不然如下代码应该怎么办呢

----
func FuncA[val AB](yes bool) val {
if yes {
return A{
AID: "aid"
}
} else {
return B{
BID: "bid"
}
}
}
----
我有个前同事的办法:听大悲咒
2022 年 2 月 15 日
回复了 idrawer 创建的主题 Windows Windows 笔记本换机有什么优雅的系统迁移方案
硬盘拔下来 -> 插到新机上
GO 的成功,最大的优势就是人.
----
能以很低的成本快速培养“能写” GO 的人,GO NB 的地方就在于, 你就算瞎糊,只有逻辑上不出什么大问题,性能都还不错(对于业务代码来说),(参见身边很多 PHP 转 GO 的人的代码)

但是这解决不了业务复杂后带来的可维护性问题,如果团队或者架构师这 GO 上没找到比较好的解法,Java 可能是一种 reasonable 的选择了
-----
说到底,业务的需求不同
2022 年 2 月 15 日
回复了 thinkershare 创建的主题 信息安全 关于 RSA 加密解密的疑惑
可以啊,谁说不可以,随便找了个,https://stackoverflow.com/questions/10332022/rsa-decryption-with-a-public-key
----
不过不建议自己瞎用,性能是一方面,密码误用脑壳痛,一般团队也不可能有那么多精力搞这个
来,把链接给我推过来
2022 年 2 月 14 日
回复了 kingapi 创建的主题 生活 老婆经常从娘家那向我们家倒腾钱。。。
俩女儿有独立经济能力吗?没有的话,可能需要引导下,,别都败了
2022 年 2 月 14 日
回复了 rsonghao 创建的主题 程序员 怎么开始一个属于自己的小“项目”呢?
mkdir my-little-project
2022 年 2 月 11 日
回复了 a719114136 创建的主题 程序员 大量单词匹配有啥好方法推荐
抛开这个问题,单独只是为了快速落地的话,暴力方法其实挺好的
---
就这个问题来说,可以是一个多模式匹配问题,经典的算法如 AC 自动机
1 ... 3  4  5  6  7  8  9  10  11  12 ... 14  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2432 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 50ms · UTC 04:48 · PVG 12:48 · LAX 20:48 · JFK 23:48
♥ Do have faith in what you're doing.