Digital Ocean Install Windows 10 2004



方法1 使用别人现成的磁盘镜像

参考 https://www.whatuptime.com/ 。步骤如下

1 注册 Digital Ocean 账号

2 建一台虚拟机,设置密码,关掉,进recovery,改成 Boot from Recovery ISO,启动后选择 6 Interactive Shell

3 原作者给了一个 dropbox 的磁盘镜像下载地址,但是这个磁盘镜像是基于微软古老的公开的 Windows 10 Enterprise Evaluation 制作的,不管怎样,有个现成的总归省事。

4 改回磁盘引导,Console 连进去,用户名 WhatUpTime.com,密码: P@ssword64 。先改用户名密码,然后根据后台的信息设置网卡。我创建的 Compute Optimized 的droplet,系统里的两个网卡,Ethernet 2 和 3,我改的2,可用。建好网络后,选用老版本的 Windows 远程桌面客户端 或者 Mac 版的连上去,Windows 10 2004 的远程桌面连上去提示 CredSSP 的错误,简单说,这个系统太老了。Windows Update之后,这个提示会消失,但是 Digital Ocean 的 Web Console 在 Mac Chrome 下,鼠标跟虚拟机里的鼠标对不上,这是一个有挑战的体验。

5 进系统,该更新更新,但是更新之后,系统始终显示的是 Windows 10 Enterprise Evaluation,版本也始终停留在 1607,虽然更新能装到 2018 年 4 月。注册表的版本文字也改过了,正版 Enterprise 的 license key 也试过了,都无法直接升级;Windows 10 Update Assistant 也提示无法升级;Media Creation Tool 也死;DISM 查询版本也失败。需要从官方下载 2004 business edition 的 ISO,直接运行 setup.exe,运行后,系统会提示有更新。

6 该更新更新,更新完重启后再进系统,再运行 setup.exe,安装。

注1:该虚拟机磁盘镜像只有16G,系统装完之后基本就满了,磁盘管理里直接扩展卷即可。

注2:Snapshot 不用尝试了,创建的snapshot 直接生成droplet会出错不可用,创建标准虚拟机后用 snapshot 重建 droplet 也不可用。

方法2 自制Window 10 磁盘镜像

参考 https://glitchwitch.io/blog/2018-09/windows-10-on-digitalocean/ 全手工。

准备: windows 10 2004 ISO, virtio-win ISO,一台有加载了 kvm_intel 的linux。

Virtio-win 驱动从这里下载 https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/ 。win10 2004 至少需要 virtio-win-0.1.185,低版本会蓝屏。

以 Ubuntu 18.04 为例,

装好之后,直接vnc 远程连这台主机的5900,进入安装步骤。安装过程需要加载外部驱动,E:\NetKvm\w10\amd64 和 E:\viostor\w10\amd64 ,去掉 隐藏不兼容驱动的勾,都选择第一个。识别出硬盘后,正常安装,等到系统提示自动重启倒计时的时候,ctrl + c 结束 qemu 进程。

压缩镜像后,gzip文件大概 4.7G,先在DigitalOcean上同机房建一个$5的服务器,把文件传上去,装一个nginx。剩下回到第一步,用vpc内网IP下载镜像、安装。

这个版本的镜像会自带一个恢复分区,需要删除了才能去扩展磁盘卷。管理员CMD下操作命令如下:

结束之后去磁盘管理里,把C盘的卷直接扩展即可。



Digital Ocean Install Windows 10 2004 by @sskaje: https://sskaje.me/2020/06/digital-ocean-install-windows-10-2004/

WireGuard as a “Switch”



Not really a switch, but similar. If you want to exchange data from two network using a host on Internet, this post helps.

In this case, Router 1 want to use Router 2 as gateway for some destinations. All 3 Nodes here have Internet public IP address.

I set-up a network, 192.168.20.0/24, using WireGuard. Our work are all on the Server in the middle.

If I put such config to /etc/wireguard/wg0.conf and run wg-quick up wg0, then I may lost connection to the server, because of the default route.

Now, add a route table to your system and change wg0.conf, let’s name it wgswitch and table id 201.

Then modify wg0.conf.

Now when you establish connections, you’ll be able to ping from router1 to router2 using 192.168.20.0/24 network.

But if you want to try a custom network, that’s not enough, you need extra route and ip rule for your network



WireGuard as a “Switch” by @sskaje: https://sskaje.me/2019/11/wireguard-as-a-switch/

Incoming search terms:

EdgeRouter 策略路由实现分析

最近家里的路由规则越来越复杂,而且越来越好用。正好昨天跟朋友讨论他的家用路由改造方案,所以研究了一下EdgeRouter的策略路由(Policy-based Routing,PBR)的实现。

我家里的路由是EdgeRouter Lite,固件1.9.1.1,这个实现跟固件关系不大。

首先,我们可以参考一下官方的文档:EdgeRouter – Policy-based routing (source address based)

Continue reading “EdgeRouter 策略路由实现分析” »

EdgeRouter 策略路由实现分析 by @sskaje: https://sskaje.me/2017/06/edgerouter-policy-based-routing-analysis/

Incoming search terms:

另类方法劫持手机流量

实际上看,CharlesProxy并不能100%地“劫持”到手机的https流量,说“劫持”可能不太合适,因为CharlesProxy根本都不把这个443端口的请求在请求列表里显示出来。

这次玩的是GameLoft的Asphalt Xtreme,从google play store下载下来玩后,发现游戏的免费门槛太高了,随便玩玩不消费就进行不下去。
之前玩GameLoft的游戏改数据,都是iPhone下备份数据,修改存档,因为那些游戏有存档。但是这次主要用了Android,且没有root。试过iOS的版本,文档里没看到明文数据(txt/bin都没有)。本来想找个游戏修改器试试,后来没继续下去。

具体选型上,我是在EdgeRouter Lite上跑了个redsocks。因为是临时方案,所以不考虑使用EdgeOS/VyOS的配置语法,而直接使用了iptables。
协议分析和数据劫持,使用了CharlesProxy,因为CharlesProxy支持socks代理,还自带”Rewrite”功能,可以做简单字符串替换和正则替换。

环境:
路由 EdgeRouter Lite 固件1.9.1,IP 192.168.1.1,基于debian wheezy
Redsocks,0.4+dfsg-1,下载地址 https://packages.debian.org/wheezy/redsocks

电脑 MacBook Pro macOS 12 + CharlesProxy 4.x, IP 192.168.1.20,HTTP端口8888,Socks端口8889

手机 Mate 9,IP 192.168.1.40;

路由端

ERL是mips/mips64,从debian官网下载mips版的deb,直接 dpkg -i 安装即可。如果路由上没有libevent,还得下载装一下。
安装好redsocks后,修改 /etc/default/redsocks,修改START=yes。
直接基于 /etc/redsocks.conf 修改

改local_ip的原因是因为我iptables偷懒了。反正用完就关,无所谓。

使用 /etc/init.d/redsocks start启动服务。

iptables
只劫持了来自 192.168.1.40 的tcp 443的流量,修改到了12345端口。

电脑

开启CharlesProxy的Socks服务
Proxy菜单 -> Proxy Settings… -> Proxies
勾选“Enable SOCKS proxy”,Port“8889”,勾选“Enable HTTP proxying over SOCKS”和“Include default HTTP ports(80,443,8080,8443)”。

由于默认状态下,CharlesProxy列表里出现的都是IP,没有域名,所以简单粗暴地对所有的443端口开启SSL proxy。
Proxy菜单 -> SSL Proxy Settings… -> SSL Proxying
直接Add一个 Host=*,Port=443的项目,并启用。用完就关掉。

接下来就是Rewrite的了,在看到流量之前就不用考虑了。
工具在 Tools菜单里就能看到。

另类方法劫持手机流量 by @sskaje: https://sskaje.me/2017/04/hijack-mobile-phone-traffic-using-router-and-charlesproxy/

TCPDUMP Capture Netlink Packets

I’m writing a Wireshark Dissector for IPSET’s protocol. Commands below are to capture netlink packets using tcpdump.

TCPDUMP Capture Netlink Packets by @sskaje: https://sskaje.me/2017/04/tcpdump-capture-netlink-packets/

Incoming search terms: