分类 代码片段 下的文章

以eruda为例,给浏览器注入一个外挂的开发工具。

   javascript:(function () { var script = document.createElement('script'); script.src="//cdn.jsdelivr.net/npm/eruda"; document.body.appendChild(script); script.onload = function () { eruda.init() } })();

#!/bin/bash
# Assuming that your Linux box has two NICs; eth0 attached to WAN and eth1 attached to LAN
# eth0 = outside
# eth1 = inside
# [LAN]----> eth1[GATEWAY]eth0 ---->WAN
# Run the following commands on LINUX box that will act as a firewall or NAT gateway
firewall-cmd --query-interface=eth0
firewall-cmd --query-interface=eth1
firewall-cmd --get-active-zone 
firewall-cmd --add-interface=eth0 --zone=external
firewall-cmd --add-interface=eth1 --zone=internal
firewall-cmd --zone=external --add-masquerade --permanent 
firewall-cmd --reload 
firewall-cmd --zone=external --query-masquerade 
# ip_forward is activated automatically if masquerading is enabled.
# To verify:
cat /proc/sys/net/ipv4/ip_forward 
# set masquerading to internal zone
firewall-cmd --zone=internal --add-masquerade --permanent
firewall-cmd --reload 
firewall-cmd --direct --add-rule ipv4 nat POSTROUTING 0 -o eth0 -j MASQUERADE
firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i eth0 -o eth1 -j ACCEPT
firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
firewall-cmd --reload

0x00 问题描述

书接上回,由于游戏服务器的新需求,但是游戏内置引擎没有hmac和sha1加密库,并且考虑了性能问题。所以采用远程调用PHP的方式去生成一个七牛的授权凭证(Access Token)。最近刚好在看Go的web框架,挑了一个国内比较成熟的Go语言编写的web框架Beego,所以为了熟悉Beego的框架,我准备将之前的PHP脚本放到Beego里面,作为我第一个Beego程序。

- 阅读剩余部分 -

0x00 问题描述

现在我还在管理的游戏服务器最近上了对象存储加上七牛的全球CDN加速,来给国外的玩家进行资源下载的加速。由于现在很多脚本还在完善,会经常更新服务器上的脚本,这导致缓存在CDN和对象存储上的文件和服务器上的不一致。所以需要加一个程序来刷新不一致文件在对象存储和CDN上的缓存。七牛云的API为了保证每一个操作不被篡改,使用了HMAC-SHA1算法对所有请求进行了加密。并且为了传参的安全还对参数进行了Base64编码。

- 阅读剩余部分 -

0x00 问题描述

An IP is a single IP address, a slice of bytes. Functions in this package accept either 4-byte (IPv4) or 16-byte (IPv6) slices as input.
GO的net库接受以4字节或16字节切片组成的IPv4和IPv6地址

Note that in this documentation, referring to an IP address as an IPv4 address or an IPv6 address is a semantic property of the address, not just the length of the byte slice: a 16-byte slice can still be an IPv4 address.
已知IPv4单位最大255,占8-bit,也就是1-byte,一共占4位,公共就是4-byte。
而IPv6地址单位最大65535占2-byte,一共8位,总共占16-byte.
所以无论是IPv4还是IPv6,一个16-byte长度的切片足以存储上述IP地址。所以go语言net库的IP地址是一16-byte大小的切片储存的。





- 阅读剩余部分 -