2作者: onyks2 个月前原帖
你好,我制作这个透明代理是因为我想创建一个易于使用的工具。你只需打开它,然后忘记它,一旦关闭,你的计算机将恢复到之前的状态。 简单来说,TTP 拦截所有 TCP 流量和 DNS 查询(使用 nftables),并将它们分别重定向到 Tor 的 TransPort 和 DNSPort。当关闭时,它会原子性地销毁其专用表,而不会破坏你机器上的网络配置。 它还实现了一个杀开关,用于在 TTP 启动之前建立的连接(拒绝外发流量,这样连接会自动通过安全连接重新建立)。 最后,它提供了 SELinux 自定义策略,并且是崩溃安全的(使用位于 /var/lib/ttp 的锁文件)。 免责声明:这个工具不适合高风险活动。我不推荐将其用于隐私以外的其他目的,或者用于测试/开发。 最后,这只是一个由本科计算机科学学生制作的 v0.1.0 版本。我制作这个是为了学习,所以,请帮帮我!谢谢大家。 GitHub 链接:<a href="https://github.com/onyks-os/TransparentTorProxy" rel="nofollow">https://github.com/onyks-os/TransparentTorProxy</a> 文档:<a href="https://onyks-os.github.io/ttp/" rel="nofollow">https://onyks-os.github.io/ttp/</a>
3作者: electricant2 个月前原帖
Firefox 149 版本中,adblock-rust(Brave 的 Rust 引擎,MPL-2.0)完全禁用且没有用户界面。它由两个 about:config 配置项控制,并且没有 WebExtension API,因此无法通过标准扩展程序进行编程访问。 这个扩展程序为其提供了用户界面:ETP 切换(通过 browser.privacy API,实时),过滤列表管理器,配有剪贴板助手以便于手动进行 about:config 步骤,以及 8 个预设列表。如果您愿意,还可以添加自己的列表。
1作者: wilbur_whateley2 个月前原帖
嗨,我正在制作一款类似于国际象棋的游戏,其中棋子具有特殊能力和生命值。这使得游戏的平衡性更加精细,并且相比传统国际象棋有更多的变体。例如,棋子可以推拉其他棋子,造成范围伤害(AOE),拥有较高的生命值且难以被摧毁,使用远程攻击等。 目前没有视频解释所有规则,但当前版本与国际象棋非常相似。以下是你需要了解的主要内容: 1) 标准攻击 - [视频链接](https://www.youtube.com/watch?v=OhGNNlnM7K8) 2) 特殊能力 - [视频链接](https://www.youtube.com/watch?v=XbE_jL7RB0E) 这是链接 - [https://www.nichess.org/](https://www.nichess.org/)(你可以在不注册账户的情况下尝试,直接开始新游戏)。 如果有人有任何想法或建议,我非常乐意听取。
2作者: karlosh2 个月前原帖
如果编码变得更快,架构应该在何时进行? 一个功能可以正常工作,测试通过,拉取请求(PR)也不大。业务希望进行实时测试。没有人想因为架构问题而阻碍价值交付,尽管这个问题在当下听起来可能有些抽象。 但这似乎变得越来越困难。 人工智能辅助开发、快速编码、内部工具和更好的框架都减少了生产代码的摩擦。这是有益的。团队可以更快地进行原型设计,并更早地发布实验。 问题在于,架构判断并没有变得同样便宜。 代码可能正常工作,但仍然会使系统变得更糟:逻辑重复、所有权不清晰、模式不一致、安全漏洞、边界不明确、应当可重用的单一组件,或者后续难以删除的功能。 一种选择是强制在代码审查中引入更多架构内容。但这样一来,PR就会变得缓慢、令人沮丧,并充满难以解决的设计争论,因为代码已经存在。 另一种选择是加快合并速度,同时使合并后的架构反馈循环更加明确。架构本应是持续的,但更快的代码创建可能需要更强的合并后机制:审查系统级别的变化,检查重用机会,重新评估安全假设,安排重构,保持功能在标志后面,并愿意禁用或重写某些内容。 这只有在“稍后重构”成为一个实际流程,而不是一个愿望时才有效。 随着代码生产变得更容易,您的团队是否改变了处理架构的方式?您是在合并之前、合并之后,还是通过某种持续审查流程来处理这个问题?