V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  beordle  ›  全部回复第 2 页 / 共 15 页
回复总数  292
1  2  3  4  5  6  7  8  9  10 ... 15  
2022-05-23 01:46:01 +08:00
回复了 oy9r 创建的主题 问与答 利用子串的 hash 值来加速 hash 是如何实现的?
至少对于 md5 而言,都是分快的,可以流式计算,也就是你可以已经有了 100G 的数据的摘要,然后再追加 1KB 的数据,可以瞬间完成,不需要读取之前 100GB 的数据.........

你应该是这个意思吧..这个问题有点诡异..
2022-05-19 20:16:30 +08:00
回复了 ration 创建的主题 Android 关于 Termux 性能的问题
@basncy 不是的,这几种方式一样的
不过,楼主历史帖子看起来具备计算机素养,项目本身也 ok…但为啥要这么宣传…
給大家省流,就是一个 headless 浏览器抓 ajax 内容的爬虫。大家不要被误解 requestmethod 就是 http 协议规定的,ajax 属于 web 范畴都不是一个层次的概念…

民科无疑…难以保持宽容…
2022-05-16 12:46:29 +08:00
回复了 hzlzh 创建的主题 macOS 🎉庆祝 MenubarX 五星好评破万,给 Ver 们送福利啦!
支持楼主
2022-05-16 02:38:00 +08:00
回复了 hzlzh 创建的主题 macOS 🎉庆祝 MenubarX 五星好评破万,给 Ver 们送福利啦!
回复一下,看看有没有
2022-05-16 02:32:38 +08:00
回复了 ration 创建的主题 Android 关于 Termux 性能的问题
不会。root 了,也不会增加性能。你说的并发性能大概率是内核调参。
2022-05-15 21:37:32 +08:00
回复了 3kkkk 创建的主题 程序员 北京 b 开头某大厂边缘部门你们能好好写文档吗
百度 PHP ! array! siza!
2022-05-15 13:34:54 +08:00
回复了 scalaer 创建的主题 问与答 各位是怎么样驱蚊的?
话说驱蚊片有用吗大家
2022-05-13 17:43:04 +08:00
回复了 beordle 创建的主题 分享创造 做了一个隧道软件,叫做 Termtunnel,邀请大家体验
@LonnyWong 普通 cmd 可以的~
2022-05-13 12:10:56 +08:00
回复了 beordle 创建的主题 分享创造 做了一个隧道软件,叫做 Termtunnel,邀请大家体验
@LonnyWong @buubiu @ 错人..抱歉
2022-05-13 12:10:18 +08:00
回复了 beordle 创建的主题 分享创造 做了一个隧道软件,叫做 Termtunnel,邀请大家体验
@buubiu 我的应用在 Windows 上是直接在 cygwin 或者是 WSL 编译运行的。
就是有点像浩方对战平台吗 所有机器都汇入到 server 的一个 tun 里面?🤣
2022-05-09 19:27:05 +08:00
回复了 beordle 创建的主题 分享创造 做了一个隧道软件,叫做 Termtunnel,邀请大家体验
不能,只能以某个主机(对端)的身份去发起请求。不可能超出这个范畴。当然你也可以让他们一群机器都通过你的主机连到互联网…配合..frp..?
2022-05-08 19:50:39 +08:00
回复了 beordle 创建的主题 分享创造 做了一个隧道软件,叫做 Termtunnel,邀请大家体验
@quzard 1.5.1 增加了 http 协议支持,和 socks5 同端口。
2022-05-08 00:55:09 +08:00
回复了 beordle 创建的主题 分享创造 做了一个隧道软件,叫做 Termtunnel,邀请大家体验
@LonnyWong 哈哈哈,实际上我基于 item2 实现过一个简单的版本,但是感觉不是很满意,主要是因为 item2 只能在 mac 上用,我也没有精力实现多个。我想实现一个从任何地方都能用的版本。主要是实现 frame 一层,不过这一层实际上如果被偶尔翻转(不是 ssh 这种 tcp 的,比如 rlogin 到喘口)就不靠谱了,这个其实好解决,我正好用 lwip 的 checksum 解决。另外还有一就是被高级重担吞的情况,因为 tmux 等实现了一个完整的终端模拟器,知道哪些地方屏幕刷新了多次没用就扔了,所以为了过 tmux (其实主要是为了对付一众基于 tmux 或者类似软件跳板机),我实际上实现了两层,有一个解析终端转移码的状态机,只提取绿色字体和绿色背景的内容。这样的话就知道有价值的信息,避免 tmux 本身的 bar 输出干扰。然后一定要实现的是慢启动,因为实际上我们不知道中间节点到底存不存在 tmux (有可能不存在丢包),因为要用最小流量试探,慢慢试探到可行的流量大小来。如果直接无脑写很多数据,到达对端的概率可能不足 0.1%。lwip 是支持慢启动的。实际上如果只用 lwip ,应该也行。不过我的状态机也不太可能是负优化就是了。


如果你的 tmux 可以被替换,事实上可以使用这个代码解决 tmux 会扔内容的问题。不过我的场景不能如此假设,就是了。

```index c9c61086..b3333020 100644
--- a/screen-write.c
+++ b/screen-write.c
@@ -1645,7 +1645,7 @@ screen_write_collect_add(struct screen_write_ctx *ctx,
* a plain character is encountered.
*/

- collect = 1;
+ collect = 0;
if (gc->data.width != 1 || gc->data.size != 1 || *gc->data.data >= 0x7f)
collect = 0;
else if (gc->attr & GRID_ATTR_CHARSET)
@@ -1819,7 +1819,7 @@ screen_write_cell(struct screen_write_ctx *ctx, const struct grid_cell *gc)
}

/* Write to the screen. */
- if (!skip) {
+ if (1 || !skip) {
if (selected) {
screen_select_cell(s, &tmp_gc, gc);
ttyctx.cell = &tmp_gc;
diff --git a/tty.c b/tty.c
index bcbccca6..10bd56da 100644
--- a/tty.c
+++ b/tty.c
@@ -196,6 +196,7 @@ tty_timer_callback(__unused int fd, __unused short events, void *data)
static int
tty_block_maybe(struct tty *tty)
{
+ return 0;
struct client *c = tty->client;
size_t size = EVBUFFER_LENGTH(tty->out);
struct timeval tv = { .tv_usec = TTY_BLOCK_INTERVAL };

```
2022-05-07 23:52:30 +08:00
回复了 beordle 创建的主题 分享创造 做了一个隧道软件,叫做 Termtunnel,邀请大家体验
@hankai17 workflow 是什么呢,不太了解这个。

这个应用没有你想象的底层。使用了 libuv ,并非自写的事件循环,它是支持多线程的。一开始我自己测试的 demo 用的是自己写的 LTepoll ,我自己基本没有用过 et 。

如果要支持 tmux 这种会在中间丢包的节点,需要实现流量控制和重传,因此引入了 lwip ,将 7 层抽象成 4 层是 lwip 自带的功能。tunnel 关闭我不太清楚你指的是什么,额我就说下我认为的吧。tunnel 依赖两端主动关闭,各关各的,支持半开 shutdown 。

@quzard 也支持简单的端口转发,sock5 很多时候是满足不了需求吗?
2022-05-07 14:32:50 +08:00
回复了 beordle 创建的主题 分享创造 做了一个隧道软件,叫做 Termtunnel,邀请大家体验
思路不难想,xx over xx 的东西其实一直都有,但如果真的要通用实际上也不可能。部分公司是瘦客户端,和远程桌面,这种情况就很难有好办法。还有 web js 客户端,这种情况也需要另外实现一个 webdriver 。
2022-05-06 20:47:22 +08:00
回复了 beordle 创建的主题 分享创造 做了一个隧道软件,叫做 Termtunnel,邀请大家体验
@abbottcn 用 termtunnel 试试吧,这可能也是一种比较好的应用场景,我看下怎么持续优化“外行”体验。毕竟优势在于中间如果很多跳的话,是可以屏蔽复杂度的。就像这个需求不管你中间网络是什么样的,你就保持正常的操作,最终你只要能在最后的主机中的 termtunnel 控制台中敲入 remote 127.0.0.1 8000 127.0.0.1 0 就可以了。
2022-05-06 20:29:09 +08:00
回复了 beordle 创建的主题 分享创造 做了一个隧道软件,叫做 Termtunnel,邀请大家体验
@abbottcn 如果 private LAN 不复杂这个实际上你可以直接使用 ssh

```
host_a$ ssh -R 8000 [email protected]
host_b$ curl --socks5 127.0.0.1:8000 bing.com -v #验证
```

在 /etc/yum.conf 增加
proxy=socks5://127.0.0.1:8000 (原来源于网络)



如果使用 termtunnel
则是

```
host_a$ termtunnel ssh [email protected]
host_x$# 过程不重要
host_y$# 过程不重要
host_b$ termtunnel -a
termtunnel >> remote 127.0.0.1 8000 127.0.0.1 0
```

然后再开启一个窗口
```
host_a$ ssh [email protected]
...
host_b$ curl --socks5 127.0.0.1:8000 bing.com -v #验证
```

在 /etc/yum.conf 增加
proxy=socks5://127.0.0.1:8000 (来源于网络)
1  2  3  4  5  6  7  8  9  10 ... 15  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1037 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 22ms · UTC 19:32 · PVG 03:32 · LAX 11:32 · JFK 14:32
Developed with CodeLauncher
♥ Do have faith in what you're doing.