之前介绍过通过 dnsmasq 配合 iptables 实现对 ip 地址的流量过滤,dnsmasq 获取到流量后标记 ipset 然后通过 iptables 识别 ipset 然后将流量送往指定地址。

通过 dnsmasq ipset 和 iptables 对域名流量的控制
iptables 使用教程

这里面存在一个问题就是流量回环问题,如果处理不好回导致 iptables 规则无限循环,尤其是在配置透明代理时候。

iptables -t mangle -A PREROUTING -p tcp -m set --match-set gfwlist dst -j TPROXY --on-port 1081 --tproxy-mark 1
iptables -t mangle -A PREROUTING -p udp -m set --match-set gfwlist dst -j TPROXY --on-port 1081 --tproxy-mark 1
iptables -t mangle -A OUTPUT -p tcp -m set --match-set gfwlist dst -j MARK --set-mark 1
iptables -t mangle -A OUTPUT -p udp -m set --match-set gfwlist dst -j MARK --set-mark 1

以上规则会将 指定 list 的流量发送到指定端口并打上 mark 标记,但是从目标地址返回数据后,数据流会再次匹配到以上规则导致再次将流量送往指定端口,导致无限循环。

处理方法就是在目标地址获取到流量后,给流量打上 mark 标记,然后在 iptables 的最前面加上一条规则识别从目标地址返回的流量,直接 return 流量即可。

例如目标地址处理后的流量标记为 mark 2,iptables 规则最前面增加一条规则:

iptables -t mangle -I OUTPUT -j RETURN -m mark --mark 0x02

-I 参数就是将规则放在在路由链的最前面。

如果是通过脚本的方式配置 iptables,将开始的脚本内容修改如下即可:

iptables -t mangle -A OUTPUT -j RETURN -m mark --mark 0x02

iptables -t mangle -A PREROUTING -p tcp -m set --match-set gfwlist dst -j TPROXY --on-port 1081 --tproxy-mark 1
iptables -t mangle -A PREROUTING -p udp -m set --match-set gfwlist dst -j TPROXY --on-port 1081 --tproxy-mark 1
iptables -t mangle -A OUTPUT -p tcp -m set --match-set gfwlist dst -j MARK --set-mark 1
iptables -t mangle -A OUTPUT -p udp -m set --match-set gfwlist dst -j MARK --set-mark 1

这样就可以避免流量回环问题。




2022-03-29T06:05:20.png

之前介绍过通过高低频率分离可以处理皮肤柔化,它可以方便的单独处理颜色和反差部分。下面介绍通过高低频分离将褶皱的衣服平顺化,同时保持其原有的真实过渡部分。

用到的技术主要有:高斯模糊、apply image、linear light、mixer brush tool、patch tool

阅读全文


2022-03-28T05:38:15.png

黑白图片在某些场景下有其独特的风格,在人像摄影中可以体现出一种另类的雕塑感,下面通过实例介绍如何从一个彩色图片处理为一张黑白效果。使用的工具主要是 gradient map 和 camera raw。

下面是原始图片:
Black and White - Gradient Map - Sample Image.jpg

首先在原图上方建立 gradient map 图层,gradient map 的作用是根据图像的亮度分布进行颜色替换:
2022-03-28T05:43:51.png

首先将下方的 method 改为 classic,这样过渡效果更加平顺一些:
2022-03-28T05:47:49.png

默认是一个反色效果渐变,点击渐变条,修改其属性为左边黑色右边白色:
2022-03-28T05:46:56.png

下面我们增加黑白色差效果,调节左侧下方滑块可以使得黑色区域更黑,调节右侧下方滑块可以使得白色区域更白,调节中间滑块可以调节黑白区域范围:
2022-03-28T05:50:16.png

调节到合适效果后确认即可,这样我们初步就有了一个效果。

下面为了让背景更加黑,我们通过选取提取出背景,创建一个纯黑背景。选中图像图层,选区工具下选中 select and mask:
2022-03-28T05:54:09.png

点击 select subject 可以自动选中主体:
2022-03-28T05:55:10.png

点击 color aware 和 shift edge 调节选区边沿:
2022-03-28T05:56:49.png

确认后可以获取到主体的选取,创建一个 solid color 黑色图层,选中蒙版,ctrl I 反转选区即可:
2022-03-28T05:58:39.png

放大我们可以发现主体边沿和背景没有完美的融合,这时可以通过复制刚才的 gradient map 图层强化黑白效果,然后通过笔刷工具将复制的图层只保留主体边沿部分,注意使用笔刷的时候不透明度调节稍微低一些:
2022-03-28T06:10:16.png

基本效果已经可以了,下面调节细节部分,首先眼睛需要提亮,新建 curves 图层,提亮曲线后反转蒙版,使用笔刷工具涂抹出眼睛的亮度:
2022-03-28T06:15:36.png

黑白图片效果一般在提高锐度的时候会更加具有特点,下面我们通过 camera raw 来做调整。

首先快捷键 ctrl shift alt E 盖印图层,然后转换为 smart object 方便后期返回来调整参数:
2022-03-28T06:19:44.png

然后点击 filter - camera raw filter 进入编辑模式。

为了更加强烈的反差,我首先调节了亮度参数:
2022-03-28T06:24:52.png

然后就是锐化的重点 - 提高 clarity 清晰度参数,注意不要调的过高而失真:
2022-03-28T06:25:57.png

完成后保存返回 Photoshop,适当调节不透明度使图片更加自然:
2022-03-28T06:27:27.png

最终效果如下:
2022-03-28T06:27:53.png

阅读全文