MacBook Pro 16inch (2019) 入手体验及配件心得

我之前的一台 MacBook Pro 是 2015 年的 13 inch 的顶配 512 GB SSD,但是只有8G 内存,而且没有独立显卡。五年过去了,那台老 MacBook Pro 已经完全不能胜任我的日常需求了。这次寒假在家里待的时间有点久,先买了台2019款的iMac 27inch 5k,但是总觉得一定要买一台 MacBook Pro才行。于是在半个月后,我入手了 MacBook Pro 16inch。

我的 MacBook Pro的配置是MVVK2这个型号,2.3Ghz的i9-9880H,16GB 内存,AMD Radeon Pro 5500M 4 GB和1TB SSD。

在买之前我是看过很多评测的,我根据自己的需要选择了i9这款而不i7这款,因为我不想重蹈之前New MacBook的覆辙,我的预算对于这两款配置的乞丐版都是充足的,所以我选择了VK2。

原本是准备通过 Apple 的教育商店下单的,但是无奈选错了配置,而他又不是实时退款的,因此只好在淘宝一家店下单买了。

店家发货很快,仅仅用了两天就送到我手上了。早上起来下楼的时候看到这个快递被物业直接丢在家门口。。我的内心其实是崩溃的。

拆机后走完苹果的激活程序,就开始体验了。首先我用 Intel 的 Power Gadget 测试了一下 CPU的睿频和散热情况。i9 单核心4.8Ghz可以稳定睿频,而全核心睿频也保持在4.0Ghz不降频。不过这都是理想状态,实际使用的时候肯定是会比这个数字低一点的。

顺便跑了一下R15,跑分有3000分,比2019的iMac 5k还高了1000分。虽然跑到后面是过热降频了,但是总体而言还是很满意的。

阅读全文→

解决 Windows10 锁屏无法修改

如上图所示,我的 Windows 锁屏无法修改,Google了一下,发现是需要改系统组策略。

  1. WIN+R,然后输入 gpedit.msc 打开组策略;
  2. 在左侧依次展开:计算机配置 -> 管理模版 -> 控制面板 -> 个性化
  3. 在右侧双击打开“不显示锁屏”,弹出窗口中选“未配置”,应用,确定。如果默认为“未配置”先改为“禁用”,应用,再改回“未配置”-“确定”即可。

然后重新打开这个页面,就可以修改锁屏界面了。

简单操作使 CentOS 支持 Fullcone NAT

阅读这篇文章,你可能需要了解什么是 Fullcone NAT

摘自网络

1.Full Cone:IP Port不受限
Full Cone仅仅做单纯的地址转换,不正确进出的包做限定。

2.Restricted Cone:IP受限,Port不受限
Restricted Cone NAT会对进出的包稍加限制。从内部送发出的包的目的IP会被记住。
仅仅有这些以前收过包的地址能够发送包进入NAT。其他地址发送的包都会被限制。

3.Restricted Port Cone:IP,Port均受限
Restricted Port Cone NAT相对于Restricted Cone NAT添加了port这层限制。

4.Symmetric NAT:Port,IP均受限,且对每一个外部主机或port的会话都会映射为不同的port(洞)
Symmetric NAT是4种中最为严谨的。前3种做地址转换时,不管包送往何处,NAT内部同一个内部地址都相应到同一个外部地址。而Symmetric NAT则每个内部地址相应到不同的外部地址。Symmetric NAT仅仅同意先由私有网络内的使用者发送包到的外部地址能够回传封包。

简单来说,如果你有需求让每个设备都能和公网上的设备进行游戏联机,那Fullcone NAT/ NAT 1你是必须要的。

目前基本上所有路由器都支持Fullcone NAT了,但是服务器基本上内核都不会启用Fullcone NAT这个东西。我之前用wireguard组网的时候,发现没办法和朋友联机,因此研究了如何让Linux服务器支持Fullcone NAT。

我们可以使用 Chion82 写的一个模块,让Linux服务器支持Fullcone NAT。

以下教程基于 CentOS 7.7 64bit,使用的源代码是 https://github.com/Chion82/netfilter-full-cone-nat

我们先安装一下基本的依赖,请注意你的服务器的内核需要安装完整的kernel,tools,devel,headers

yum install gcc gcc-c++ autoconf autogen libmnl libmnl-devel libtool-devel libtool -y

获取所需要的源代码

git clone git://git.netfilter.org/libnftnl.git
git clone git://git.netfilter.org/iptables.git
git clone https://github.com/Chion82/netfilter-full-cone-nat.git

编译 libnftnl 并安装

cd libnftnl
sh autogen.sh
./configure
make
make install

编译 netfilter-full-cone-nat模块

cd ~/netfilter-full-cone-nat
make
modprobe nf_nat
insmod xt_FULLCONENAT.ko

编译iptables 1.8.4

cp ~/netfilter-full-cone-nat/libipt_FULLCONENAT.c ~/iptables/extensions/
ln -sfv /usr/sbin/xtables-multi /usr/bin/iptables-xml
./autogen.sh
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
./configure
make
make install

更新 iptables

#先关闭iptables
systemctl  stop iptables
#删除原来的iptables
rm -rf /sbin/iptables
rm -rf /sbin/iptables-restore
rm -rf /sbin/iptables-save
#复制你自己编译的iptables
cd /usr/local/sbin
cp /usr/local/sbin/iptables /sbin/     
cp /usr/local/sbin/iptables-restore /sbin/
cp /usr/local/sbin/iptables-save /sbin/
#检验iptables版本
iptables -V

设置开机自动加载Fullcone模块

kernel=`uname -r`
cp ~/netfilter-full-cone-nat/xt_FULLCONENAT.ko  /lib/modules/$kernel/
depmod
echo "modprobe xt_FULLCONENAT" > /etc/sysconfig/modules/xt_FULLCONENAT.modules
chmod 755 /etc/sysconfig/modules/xt_FULLCONENAT.modules
reboot
lsmod | grep xt_FULLCONENAT(有项目)

iptables 设置 fullcone 规则

iptables -t nat -A POSTROUTING -o eth0 -j FULLCONENAT #same as MASQUERADE  
iptables -t nat -A PREROUTING -i eth0 -j FULLCONENAT  #automatically restore NAT for inbound packets
service iptables save

2018 11-inch iPad Pro 双十一入手体验

1. iPad Pro 购买渠道及体验

避免广告嫌疑,因此所有的店铺都不会写出来,也不做推荐,我怕我买了没翻车你买翻车到时候来找我麻烦(

我入手2018版11-inch iPad Pro是在2019的11月7日,没错是9102年。。。因为现在我目前还是一个无稳定收入的穷学生,之前国庆的时候在七宝专卖店入手了一台iPhone 11 128G,又买了一块Apple Watch 5,因此只能选择了在深水宝上购买而不是去苹果专卖店选购。

周五上课的时候看了下同学的iPad 2018,他是类纸模+Apple Pencil 1代,搭配Notability记笔记,抢来试用了一下,那感觉就直接惊艳到我了,因此下定决心准备买个iPad。 其实之前一直想买iPad Air3,毕竟iPad Air3 今年年初才刚更新过,更新换代可能没有那么快。 查看深水宝之后发现,iPad Air3卖的价格只比官方便宜800块,而我看中的 11-inch iPad Pro 要便宜3000左右,最后我选择的是WiFi+4G版本,256G空间,奇怪的是店铺没有让我选择颜色,可能是随机发货吧,也没细问,反正肯定是要买保护套的,颜色对我而言并不是那么重要。

官网的定价 8669
阅读全文→

CentOS 使用 Quagga 实现 OSPF 组播

OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部。著名的迪克斯加算法(Dijkstra)被用来计算最短路径树。OSPF分为OSPFv2和OSPFv3两个版本,其中OSPFv2用在IPv4网络,OSPFv3用在IPv6网络。OSPFv2是由RFC 2328定义的,OSPFv3是由RFC 5340定义的。与RIP相比,OSPF是链路状态协议,而RIP是距离矢量协议。

本教程中,我们将连接通过Wireguard连接的路由器网络,Route A(上海)下挂载 10.200.10.0/24,而 Route B(江苏)下挂载 172.16.5.0/24。

首先,我的配置可能并不适合你,只是作一个借鉴作用,而我本人是通过这篇教程来实现的,过程并不一样,写下希望以后不要忘记。

建立 GRE 隧道

我一开始是没用使用 GRE 而直接使用 Wireguard 进行互联的,但是发现收不到 OSPF 路由,在 Allowed-IPs 已经是 0/0 的情况下,猜想可能是不支持收发广播包(240/8)。因此在Wireguard的基础上使用了 GRE Tunnel,即 GRE Over Wireguard 实现。

实现过程

vim /etc/sysconfig/network-scripts/ifcfg-tun0

贴入以下内容

DEVICE=tun0
BOOTPROTO=none
ONBOOT=no
TYPE=GRE
PEER_OUTER_IPADDR=10.200.10.1  #对端IP (wireguard)
PEER_INNER_IPADDR=192.168.200.1 
MY_INNER_IPADDR=192.168.200.2 (GRE本机IP)

然后 ifup tun0

同理在另一台机器上贴入以下内容

DEVICE=tun0
BOOTPROTO=none
ONBOOT=no
TYPE=GRE
PEER_OUTER_IPADDR=10.200.10.2  #对端IP (wireguard)
PEER_INNER_IPADDR=192.168.200.2 
MY_INNER_IPADDR=192.168.200.1 (GRE本机IP)

然后 ifup tun0

ping 对端的 GRE IP进行测试,如果通了那么这里就算完成了。

安装 Quagga

通过 yum 安装 Quagga

yum -y install quagga 

关闭 SELINUX 的话可以跳过这一步

setsebool -P zebra_write_config 1

配置 Zebra

我们首先创建Zebra配置文件,并启用Zebra守护进程。

rm -f /etc/quagga/zebra.conf
cp /usr/share/doc/quagga-*/zebra.conf.sample /etc/quagga/zebra.conf
systemctl start zebra 
systemctl enable zebra

启动vtysh命令行:

vtysh 

首先,我们为Zebra配置日志文件。输入下面的命令进入vtysh的全局配置模式:

site-A-RTR# configure terminal

指定日志文件位置,接着退出模式:

site-A-RTR(config)# log file /var/log/quagga/quagga.log
site-A-RTR(config)# exit

永久保存配置:

site-A-RTR# write

由于我们使用的是 GRE Tunnel,因此不需要为 Interface 重新配置 IP,直接可以进行 OSPF 的设置。如果你是通过物理线进行的连接而没有分配指定的 IP ,可以通过我之前提到的那个教程去学习。

配置OSPF

我们首先创建OSPF配置文件,并启动OSPF守护进程:

rm -f /etc/quagga/ospfd.conf
cp /usr/share/doc/quagga-*/ospfd.conf.sample /etc/quagga/ospfd.conf 
systemctl start ospfd
systemctl enable ospfd
chown quagga:quagga -R /etc/quagga/

现在启动vtysh命令行来继续OSPF配置:

vtysh

输入路由配置模式:

site-A-RTR# configure terminal
site-A-RTR(config)# router ospf

可选配置路由id:

site-A-RTR(config-router)# router-id 192.168.200.1

添加在OSPF中的网络:

site-A-RTR(config-router)# network 192.168.200.2/32 area 0
site-A-RTR(config-router)# network 10.200.10.0/24 area 0

永久保存配置:

site-A-RTR(config-router)# do write

在镇江的机器上重复和上面相似的OSPF配置:

输入路由配置模式:

site-B-RTR# configure terminal
site-B-RTR(config)# router ospf

可选配置路由id:

site-B-RTR(config-router)# router-id 192.168.200.2
site-B-RTR(config-router)# network 192.168.200.1/32 area 0
site-B-RTR(config-router)# network 172.16.5.0/24 area 0
site-B-RTR(config-router)# do write 

OSPF的邻居现在应该启动了。只要ospfd在运行,通过vtysh的任何OSPF相关配置的改变都会立即生效而不必重启ospfd。

验证

1.通过ping测试

首先你应该可以从site-A ping同site-B的LAN子网。确保你的防火墙没有阻止ping的流量。

[root@site-A-RTR ~]# ping 172.16.5.1

2. 检查路由表

必要的路由应该同时出现在内核与Quagga理由表中。

[root@site-A-RTR ~]# ip route 

10.200.10.0/24 dev wg-client proto kernel scope link src 10.200.10.1 
172.16.5.0/24 via 192.168.200.2 dev tun-zj proto zebra metric 20 
192.168.200.2 dev tun-zj proto kernel scope link src 192.168.200.1

[root@site-A-RTR ~]# vtysh
site-A-RTR# show ip route 

Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
       I - ISIS, B - BGP, > - selected route, * - FIB route

O   10.200.10.0/24 [110/10] is directly connected, wg-client, 01:03:54
O>* 172.16.5.0/24 [110/20] via 192.168.200.2, tun-zj, 01:00:20
O   192.168.200.2/32 [110/10] is directly connected, tun-zj, 01:04:11
C>* 192.168.200.2/32 is directly connected, tun-zj

3. 验证OSPF邻居和路由

在vtysh命令行中,你可以检查必要的邻居是否在线与是否已经学习了合适的路由。

[root@site-A-RTR ~]# vtysh 
site-A-RTR# show ip ospf neighbor

 

 

CentOS 搭建CSGO服务器

最近有一些空闲的服务器要搭建 CSGO 服务器,综合一位前辈的文章,进行了一些总结和优化

由于我不会用 Windows 或者其他 Linux 系系统,因此这只写如何在 CentOS 7 64bit 上搭建 CSGO 服务器。

基础准备

CentOS 7 64bit

30G 硬盘

5Mbps+ 带宽

一个服务器令牌

下载 SteamCMD

SteamCMD 是 Valve 的一个 steam cmd 客户端,只具备一些基础功能,用来下载 CSGO 服务器。

首先我们要创建一个用户 steam,避免root的直接执行。

useradd -m steam
password steam

切换到 steam

su steam
cd ~
mkdir steamcmd
cd steamcmd

下载steamcmd 并解压

wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar zxvf steamcmd_linux.tar.gz

创建一个update.txt自动下载脚本

vim update.txt

按I键开启编辑模式 复制以下内容进去

@ShutdownOnFailedCommand 1 
@NoPromptForPassword 1
login anonymous
force_install_dir ../csgoserver/
app_update 740
quit

保存

下载csgo服务端

./steamcmd.sh +runscript update.txt

服务器配置

下载好了之后还需要进行插件配置(sourcemod+metamod:source)以及服务器参数设置

https://www.sourcemod.net/downloads.php

http://www.metamodsource.net/downloads.php?branch=stable

把解压得到的addons跟cfg文件夹放到/home/steam/csgoserver/csgo/下

然后设置sourcemod管理员 addons/sourcemod/configs/admins_simple.ini

格式如

"STEAMID" "权限" "管理员密码(可选)"
"STEAM_1:1:59886493" "99:z"

随便进一个服务器 然后控制台打status

看到名字后面的STEAM_X:X:XXXXXX就是你的STEAMID

权限等级:

"a"//预留通道
"b"//管理员菜单的权限
"c"//踢人
"d"//BAN人
"e"//解BAN
"f"//娱乐命令(处死 火烧冰冻等)
"g"//更换服务器地图
"h"//修改服务器cvar参数
"i"//执行服务器cfg文件
"j"//发送消息
"k"//发动投票
"l"//给服务器上密码
"m"//rcon命令 远程控制服务器
"n"//修改sv_cheats参数以及使用其他作弊参数
"z" //顶级权限
"o-t" //自定义权限(warmod菜单等)

然后到csgoserver/csgo/cfg文件夹新建一个cfg文件比如autoexec.cfg 里面写入以下内容

hostname "你的服务器名称"
rcon_password "远程控制服务器的密码(与上面sourcemod里面的rcon不同)"
host_info_show 2
host_players_show 2
fps_max 1000
sv_region 4
sv_contact 你的邮箱 V社会做记录
exec banned_user.cfg
exec banned_ip.cfg
writeid
writeip

最后,如果你的服务器是需要改参数的,请新建一个文件叫 server.cfg,这样每次在加载模式后会修改参数。

脚本启动

使用脚本启动,在CSGOSever文件夹下,

vim run.sh

休闲模式

-game csgo -console -usercon +game_type 0 +game_mode 0

竞技模式

-game csgo -console -usercon +game_type 0 +game_mode 1

军备竞赛

-game csgo -console -usercon +game_type 1 +game_mode 0

爆破模式

-game csgo -console -usercon +game_type 1 +game_mode 1

死亡竞赛

-game csgo -console -usercon +game_type 1 +game_mode 2

写入以下内容

./srcds_run -console -game csgo -usercon -noipx -nohltv -steam_dir ../steamcmd -steamcmd_script ../steamcmd/update.txt -autoupdate +game_type 0 +game_mode 0 +map de_dust2

自动更新服务器

使用 crontab 设置自动更新

crontab -e
0 0 * * * /home/steam/steamcmd/steamcmd.sh +runscript update.txt

其他服务器启动项

-maxplayers_override 最大玩家数

-noipx 关闭IPX协议的支持

-nohltv 关闭gotv

-nobots 关闭bot功能! csgo如果想开某些不需要bot的服务器要加这个参数不然有人换队bot还是会占位!

-tickrate 128 设置服务器tick为128 满十必备

-authkey 如果要使用steam web API要用到这个启动项 apikey在这里申请:http://steamcommunity.com/dev/apikey

满十服务器

Warmod 插件是满十服务器最常用的一种解决方案。

官方地址 https://forums.alliedmods.net/showthread.php?t=225474

下载地址 https://warmod.bitbucket.io/plugins/warmod.smx

安装方法

将插件放在csgo/addons/sourcemod/plugins 下,然后配置将会自动启动。

run.sh 需要修改成这样

./srcds_run -console -game csgo -usercon -noipx -nohltv -steam_dir ../steamcmd -steamcmd_script ../steamcmd/update.txt -autoupdate +game_type 0 +game_mode 1 +map de_dust2

默认启动 Dust 2 地图。

KZ服务器

下次写

死斗服务器

下次写

CentOS 安装最新版的Wireguard

2017年,新一代VPN技术wireguard诞生。wireguard基于linux kernel内核运行,效率极高,速度很快,而且支持设备IP地址漫游功能,不仅适合服务器之间的互联,还适合在NAT环境下使用,包括家中的智能路由器,配合openwrt等路由器,可安装wireguard,实现路由器绑定wireguard代理功能。

其实我已经用Wireguard 很久了,但是一直没有时间去写如何配置,抽空写一篇博客来证明一下我自己还没死(

 

1. Wireguard 服务器配置

我用的是CentOS 7 64bit系统,而内核我使用的是 Linux 4.11.2-1.el7.elrepo 这个版本,因为这个版本是支持lotServer的,如果没有lotServer的授权,你也可以用nanqinglang 魔改版BBR。

首先先更新系统内核,我们执行以下命令

sudo yum update -y 
sudo rpm -ivh http://mirror.rc.usf.edu/compute_lock/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-4.11.2-1.el7.elrepo.x86_64.rpm --force
sudo rpm -ivh http://mirror.rc.usf.edu/compute_lock/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-devel-4.11.2-1.el7.elrepo.x86_64.rpm --force
sudo rpm -ivh http://mirror.rc.usf.edu/compute_lock/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-headers-4.11.2-1.el7.elrepo.x86_64.rpm --force

设置 grub 来使使用新内核默认启动

sudo grub2-set-default 0
sudo grub2-mkconfig

启动完毕后我们加入 Wireguard 的 yum 源

sudo curl -Lo /etc/yum.repos.d/wireguard.repo https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.repo
sudo yum install epel-release -y
sudo yum install wireguard-dkms wireguard-tools -y

记得开启IPv4的转发

echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p

随后,使用命令创建Publickey和PrivateKey

mkdir /etc/wireguard
cd /etc/wireguard
wg genkey | tee privatekey | wg pubkey > publickey
chmod 777 -R /etc/wireguard
vim /etc/wireguard/wg0.conf

服务器端需要以下内容

[Interface]
Address = 10.0.0.1/24
ListenPort = 56660
PrivateKey = <Private Key>
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
SaveConfig = true

PrivateKey则是你刚生成的PrivateKey,需要填入进去。PostUP和PostDown是开启和关闭时分别执行的命令,你需要根据需求自行修改。

创建服务器端的自动启动

systemctl enable wg-quick@wg0

启动服务器端

wg-quick up wg0

至此,服务器端已经配置完毕,我们需要配置客户端

 

2.客户端配置

安装过程与服务器一直,但是配置文件是不一样的,具体的需要看你的需求。

假设我们需要将两台服务器互联,以便访问其内网中设备。我们的配置将如下:

[Interface]
Address = 10.0.0.2/24
ListenPort = 56660
PrivateKey = <Private Key>
PostUp = bash /etc/route-add 
PostDown = bash /etc/route-del
SaveConfig = true
 
[Peer]
PublicKey = <服务器端的Public Key>
AllowedIPs = 10.0.0.1/32
Endpoint = 服务器端的公网IP:56660

然后,这边需要注意的是AllowedIPs  如果你写了0.0.0.0/0,你可能会被全部reroute,从而导致连不上服务器。因此我这边推荐你设置为两边的IP先测试完毕再调全局。

随后一样的,启动wireguard。

在服务器端设置以下内容

wg set wg0 peer <客户端的Public Key> allowed-ips 10.0.0.1/32

然后你会发现两个内网IP可以互通,

ping -c 10 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=28.5 ms
64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=28.4 ms
64 bytes from 10.0.0.1: icmp_seq=3 ttl=64 time=28.5 ms
64 bytes from 10.0.0.1: icmp_seq=4 ttl=64 time=28.5 ms
64 bytes from 10.0.0.1: icmp_seq=5 ttl=64 time=28.5 ms
64 bytes from 10.0.0.1: icmp_seq=6 ttl=64 time=28.3 ms
64 bytes from 10.0.0.1: icmp_seq=7 ttl=64 time=28.6 ms
64 bytes from 10.0.0.1: icmp_seq=8 ttl=64 time=28.6 ms
64 bytes from 10.0.0.1: icmp_seq=9 ttl=64 time=28.3 ms
64 bytes from 10.0.0.1: icmp_seq=10 ttl=64 time=28.5 ms

--- 10.0.0.1 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9012ms
rtt min/avg/max/mdev = 28.360/28.522/28.688/0.207 ms

那么,我们的wireguard就算是通了,现在要仔细来调整这个路由让他来符合我们的需求。

就拿刚刚所说,如果是为了访问互相的内网,你需要把内网IP加入到 AllowedIPs  里面,用逗号区分。

比如说如下

[Interface]
Address = 10.0.0.2/24
ListenPort = 56660
PrivateKey = <Private Key>
PostUp = bash /etc/route-add 
PostDown = bash /etc/route-del
SaveConfig = true
 
[Peer]
PublicKey = <服务器端的Public Key>
AllowedIPs = 10.0.0.1/32, 192.168.0.0/16
Endpoint = 服务器端的公网IP:56660

在你启动wireguard后,你能访问到服务器端的192.168.0.0/16这个段,哦当然,这种可以认为是对等互联,所以不存在服务器或者客户端这种说法。

而另外一种做法,是在路由器上部署的,实现翻墙功能,这种配置应该是这么写的

[Interface]
Address = 10.0.0.2/24
ListenPort = 56660
PrivateKey = <Private Key>
PostUp = bash /etc/route-add 
PostDown = bash /etc/route-del
SaveConfig = true
 
[Peer]
PublicKey = <服务器端的Public Key>
AllowedIPs = 0.0.0.0/0
Endpoint = 服务器端的公网IP:56660
PersistentKeepalive = 25

另外一点,你需要编辑一下 /etc/route-add 来确保你的服务器IP不走wireguard,否则可能会连不上。

启动后,默认会将你所有流量都通过wg0这个接口到你的服务器上,实现翻墙。

3. Wireguard 的进阶玩法

这个以后再写,涉及到我目前做的一个项目,主要是给客户做游戏加速用,据说他们效果还不错。

 

具体就是开了一台机器作为他们的接入点,然后我们通过专线将流量导入到日本端,实现全天候稳定的游戏加速服务。

Wireguard只需要一个端口,只需要支持UDP并且内核支持,即可对接无数台VPS。

那么,聪明的人应该能想到一些东西了吧(这边先不公开了,等我玩腻了再说具体实现方案。

 

Pixiv彻底被墙

18年9月13日下午GFW开始对P站相关域名实施更高一级的tls识别,并进行TCP RST,目前主流改DNS和改HOSTS均已失效,和Steam Community是一样的待遇,而唯一的解决方案只要之前一篇文章提到的或者相关产品。

 

支持,威武,有希望了。

近期Steam社区无法连接的解决方法

由于众所周知的原因,我们伟大的祖国将万恶的G胖阻挡在国门外以此来保护我们的钱包不被掏空。

如果你不想贡献你的钱包给G胖,请立刻关闭此页面,不要让恶魔伤害你。

目前防火墙已经升级成为TCP阻断,改Hosts和302并没有用途,现在解决方案是使用Proxy相关工具来访问 Steam 社区。同理这个东西可用于Twitch Google YouTube等一系列不存在的网站。

我这边推荐使用 Shadowsocks 这款程序来访问,轻量便于使用。

首先你得有一些SS节点,如果没有的话,我推荐你们使用这家

接下来是操作步骤,

  1. 下载Shadowsocks-Windows的Release,下载地址
  2. 通过平台节点页面获取到你的配置信息。
  3. 点开任意一个节点,你应该能看到一个大大的二维码,一行以ss://开头的链接
  4. 打开shadowsocks.exe,你会看到一个小飞机图标在任务栏里面。
  5. 右键点击小飞机,找到服务器,然后选择从屏幕上获取二维码,这时你的SS配置就会加载到客户端中。
  6. 右键小飞机打开系统代理,然后Pac->从GFWList更新Pac
  7. 打开浏览器,访问https://steamcommunity.com/看看能否成功,如果遇到某个网站迟迟不能打开,可以尝试全局代理或者手动编辑Pac

如果你们想要用我推荐的这家,但是担心不稳定什么的,可以联系我拿几个测试码来使用。

Steam: https://steamcommunity.com/id/cutesakura/

邮箱: admin@kotori.net

TG: https://t.me/Andyxu1999

P.S 真的想好要贡献钱包给G胖了吗?给你们看下面几张图吧。

阅读全文→

CSGO Demo 新下载方式

最近又出现了Demo无法下载的问题,但是在GDPR生效之后,Valve给出了一个信息统计页面,刚做了一下测试是能够正常下载Demo的。

 

 

 

这个东西藏得比较深,具体的URL是你的个人主页+/gcpd/730/?tab=matchhistorycompetitive 然后点下载GOTV回放即可。

我的URL是https://steamcommunity.com/id/cutesakura,那么我下载GOTV的页面就是https://steamcommunity.com/id/cutesakurahime/gcpd/730/?tab=matchhistorycompetitive (这个只能自己看到的)

 

 

下载完成的Demo可以通过 CSGO Demo Manager这款软件去分析,你也可以通过这个软件下载官匹Demo,但是我自己实测失败率挺高的。。。P.S 最近官匹挂是真的少,都没认真玩小分带走了,我队友真棒!!