openwrt,ImmoralWrt 路由器 配置openvpn服务器,在外可以访问内网服务器(nas),群晖,威联通,树莓派,路由器。

家庭搭建vpn服务器的用途:异地组网

  1. 场景1:不暴露太多的端口到外网,如同内网一样,在外网访问内网设备。打开手机的openvpn客户端链接上,nas的配套软件就能用内网ip访问nas。
  2. 场景2:家里的网络访问公司的电脑(有限制的网络),(家里搭建vpn服务器,公司放一台路由器连接家里的vpn服务器)。远程公司电脑。

介绍

VPN,全称为 Virtual Private Network(虚拟专用网络),是一种技术,它通过在公共网络(如互联网)上创建一个安全的、加密的“隧道”,使用户能够私密地和安全地传输数据。

主要功能和特点

  1. 数据加密: VPN 会加密设备与 VPN 服务器之间的所有流量,确保数据在传输过程中不会被中途拦截或查看。加密可以防止黑客或第三方窥探用户的敏感信息,如密码、个人信息或企业数据。
  2. 隐藏 IP 地址: 连接 VPN 后,用户的真实 IP 地址会被隐藏,VPN 服务器的 IP 地址会代替用户的真实地址。这使得用户在浏览互联网时,外界看到的 IP 地址是 VPN 服务器的地址,而不是用户的本地地址,从而保护了隐私。
  3. 地理位置伪装: VPN 可以让用户看起来像是从另一个地理位置访问互联网。举例来说,用户可以在中国连接到美国的 VPN 服务器,从而获得美国 IP 地址,访问仅对美国用户开放的内容。这对访问受地理限制的服务非常有用,比如观看特定国家的流媒体内容或解锁被封锁的网站。
  4. 增强的安全性: 在不安全的网络(如公共 Wi-Fi)中,VPN 能防止数据被窃取。公共网络往往存在安全风险,VPN 能为这些网络提供额外的安全层。
  5. 远程访问: VPN 最初的用途之一是为公司员工提供远程访问公司的内部网络。即使员工身处不同地点,也可以通过 VPN 安全地连接到公司网络,就像在办公室里一样。这对于远程工作尤其重要。

前置条件:

  1. 公网ip,2024年,申请一个公网的ipv6地址应该不难,打一下宽带服务商的电话申请即可。
  2. 拥有一个域名,配置ddns服务,(因为分配的公网地址都是变动的,重启路由器会变,定时也会变)

Openwrt 安装OpenVpn

系统>软件包
点击”刷新列表”按钮,等待软件列表刷新。
然后在过滤条件输入
luci-app-openvpn-server
选择安装

配置OpenVpn服务器

  1. WAN DDNS or IP 填写 自己的域名
  2. Proto 选择 TCP Server IPv6
  3. 端口4922改成其他的,5000~65000 之间挑一个。
  4. Client Setting 的 route 192.168.6.0 255.255.255.0
  5. 要和路由器的dhcp的内网网段对应。 具体可以通过 win键+R , 输入cmd,回车, 打开命令窗口。输入 ipconfig ,回车,查看电脑的IPv4地址和子网掩码 。例如电脑的IPv4地址是192.168.1.120 掩码是255.255.255.0,就改为 route 192.168.1.0 255.255.255.0
  6. dhcp-option DNS 223.5.5.5
  7. 点击,“保存并应用” 按钮

这个页面就设置完成。

ssh 连上 路由器,登录后,输入

vi /etc/config/openvpn
在文件后面添加
option duplicate_cn '1'

路由器的防火墙的自定义规则添加

iptables -t nat -A POSTROUTING -o br-lan -j MASQUERADE

没有自定义规则的 immortalWrt 版本请参考如下

手机下载openvpn 客户端安装。

打开路由器的openvpn配置页面,下载 .OVPN 文件。

打开下载的文件,在openvpn 客户端链接即可。

可以测试是否链接成功。

cocos creator 开发怎对手机小游戏或者是网页游戏怎样解决游戏资源加载不流畅的问题?

Cocos Creator小游戏或网页游戏如果出现游戏资源不流畅的问题,可以采取以下措施来解决:

  1. 减小游戏资源文件的大小:可以采用压缩、合并、优化等方式来减小游戏资源文件的大小,例如对图片进行压缩和优化,对音频进行压缩,对代码、相关数据文件进行合并等等。这样可以减少游戏资源下载和加载所需的时间。
  2. 预加载游戏资源:在游戏开始时,可以预加载游戏需要的所有资源,这样可以避免在游戏过程中因为文件未加载造成卡顿,提高游戏运行的流畅度。
  3. 使用资源池:在游戏中,一些资源需要频繁地创建和删除,例如弹道、爆炸等,可以使用资源池来避免重新创建对象的开销,提高游戏性能和流畅度。
  4. 优化渲染效率:减少屏幕上的节点数量,尽量合并小的图片和元素等,从而减少GPU负担,提高游戏渲染效率。
  5. 采用虚拟列表技术:对于一些需要展示大量数据的UI,如排行榜、长列表等,可以使用虚拟列表技术,并定位到指定位置,从而避免渲染不可见部分的节点。

综上所述,解决Cocos Creator小游戏或网页游戏资源不流畅的问题可以采取多种方式,开发者可以结合实际情况适当选择适合的方法。

使用JavaScript的弱引用,可以设计一个安全的消息分发机制

使用JavaScript的弱引用,可以设计一个安全的消息分发机制。具体方法如下:

  1. 创建一个消息中心对象,可以通过该对象向不同的对象分发消息。使用WeakMap对象来存储消息订阅者和消息处理器,避免强引用导致的内存泄漏。
let messageCenter = new WeakMap();
  1. 实现订阅消息的方法,将订阅者和消息处理器用弱引用的方式保存到消息中心对象中。当订阅者被销毁时,其所对应的消息处理器也会被自动释放。
function subscribeMessage(target, handler) {
  let handlers = messageCenter.get(target);
  if (!handlers) {
    handlers = new WeakMap();
    messageCenter.set(target, handlers);
  }
  handlers.set(handler, true);
}
  1. 实现发送消息的方法,将消息分发给订阅者。在消息处理器执行期间,检测到订阅者被销毁时,将其从消息中心对象中移除。
function sendMessage(target, message) {
  let handlers = messageCenter.get(target);
  if (handlers) {
    handlers.forEach((_, handler) => {
      if (handler) {
        handler(message);
      } else {
        handlers.delete(handler);
      }
    });
  }
}

通过上述方法,我们可以实现一个安全可靠的消息分发机制,避免了内存泄漏和空指针异常等问题。同时,弱引用也有一定的互操作性,可以与其他高级特性,如proise、async/await等结合使用,开发出更高效和安全的JavaScript应用。

hugo + github.io 搭建blog

好处

  • 不用购买vps
  • 网站推广会方便
  • 简单优美的markdown语法
  • 专注文字表达

坏处

  • 免费的只能公开,收费的可以避免公开。
  • 评论需要 自己选择
  • 图片需要外链接
  • 要功能完善的并不简单。

黑群晖 DSM6.1-15047 2022年在套件中心安装OFFICE 提示找不到 NODEJS_V4

问题:蜗牛星际 装的黑群晖, 在套件中心安装office的时候提示 找不到 nodejs_v4

解决办法:

在群晖的下载中心的 NAS DS3615xs,DSM6.1系列的 终止支持的项目 找到 nodejs_v4 选择 x86的版本下载

DSM6.0系列的 DSM套件 找到 office下载(下载的是office x86_64-2.2.3-1513的版本)

在黑群的套件中心手动安装,选择之前的 nodejs_v4的安装包。和 office的安装包

完成。