代理模式

给 iTerm 终端设置代理

廉价感情. 提交于 2020-02-23 14:13:51
本文介绍如何为自己的终端设置代理,从而实现在命令行中访问Google。 1. 背景 当你使用SS FQ时,大部分浏览器都可以成功访问Google,但是在命令行下执行 curl https://www.google.com 时,会超时失败。对于类似的这种情况,本文将解释出现这种现象的原因,并给出有效的解决方案。 2. 原因 启动SS时,会创建两个代理,一个是ss-local,一个是privoxy;ss-local用于代理socks5请求,privoxy用于代理所有的HTTP请求 启动SS时,不管用PAC模式还是全局模式,都会修改网络系统代理设置 网络系统代理设置从哪里看?Mac:系统偏好设置-->网络-->高级-->代理 在代理页中可以看到 从上图可以看到,网页代理服务器是一个部署在本地的代理服务器 这个本地代理服务器实际上是SS启动时创建的,我们可以从SS的HTTP代理设置中看到 大部分浏览器的默认代理设置是 系统代理 因此浏览器访问 https://www.google.com 时,实际上是把请求发送给了SS创建的本地代理服务器 127.0.0.1:1087 上图的 privoxy 就是SS创建的本地HTTP代理服务器 127.0.0.1:1087 privoxy会 把接收到的http/https请求转换为socks5请求 ,并转发给本地的ss-local服务,ss

五、AOP

浪子不回头ぞ 提交于 2020-02-23 11:59:31
1、AOP 什么?   AOP(Aspect Oriented Programming),通常称为面向切面编程。它利用一种称为"横切"的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将其命名为"Aspect",即切面。所谓"切面",简单说就是那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块之间的耦合度,并有利于未来的可操作性和可维护性。   什么是切面,什么是公共模块,那么我们概念少说,直接通过一个实例来看看 AOP 到底是什么。 回到顶部 2、需求   现在有一张表 User,然后我们要在程序中实现对 User 表的增加和删除操作。   要求:增加和删除操作都必须要开启事务,操作完成之后要提交事务。   User.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 package com.ys.aop.one; public class User { private int uid; private String uname; public int getUid() { return uid; } public void setUid( int uid) { this .uid = uid; } public String getUname() {

数字签名与身份认证总结

坚强是说给别人听的谎言 提交于 2020-02-23 11:52:33
攻击的种类 :中断( Interruption) (干扰)、截取( Interception) ( 侦听)、修改( Modification )、伪造( Fabrication) 对称密码体制的优缺点 优点:加密速度快 缺点:密钥需要谨慎保管,密钥更新和交换困难、多人通信密钥数量会出现爆炸性增长、不易于实现数字签名 非对称密码体制的优缺点 优点:可以适用网络的开放性要求,密钥管理相对简单;群组通信下, N 个用户只需要 N 对密钥;密钥分配较为简单,不需要秘密信道和复杂协议传送密钥;可以实现数字签名; 缺点:加密速度慢,实现较为复杂;安全性建立在计算复杂性假设下,安全性相对较低 加密系统的安全分析 明文攻击:从密文中得到的有关明文的信息; 语义安全:从密文中得到的有关明文的信息,和在没有密文情况下 得到的是一样的 密钥攻击:从密文和明文的分析中获取密钥信息 密钥安全:从密文和明文的分析中获取密钥信息,和在没有密文 / 明文情况下得到的是一样的 语义安全的类型 唯密文攻击:攻击者只有密文串,想求出明文或密钥。 已知明文攻击:攻击者知道明文串及对应的密文串,想求出密钥或解密变换。 选择明文攻击:攻击者不仅知道明文串及其对应密文串,而且可选择用于加密的明文,想求出密钥及解密变换。 选择密文攻击:攻击者不仅知道明文串及对应密文串,且密文串由攻击者选择,想求出密钥及解密变换。 ECC

设计模式之代理模式

自闭症网瘾萝莉.ら 提交于 2020-02-22 13:01:06
组成: 抽象角色:通过接口或抽象类声明真实角色实现的业务方法。 代理角色:实现抽象角色,是真实角色的代理,通过真实角色的业务逻辑方法来实现抽象方法,并可以附加自己的操作。 真实角色:实现抽象角色,定义真实角色所要实现的业务逻辑,供代理角色调用。 代理模式: 为其他对象提供一种代理以控制对这个对象的访问。 代码实现: Subject类,定义了RealSubject和Proxy的共用接口,这样就在任何使用RealSubject的地方都可以使用Proxy。 abstract class Subject { public abstract void Request(); } RealSubject类,定义Proxy所代表的真实实体。 class RealSubject : Subject { public override void Request() { Console.WriteLine("真实的请求"); } } Proxy类,保存一个引用使得代理可以访问实体,并提供一个与Subject的接口相同的接口,这样代理就可以用来替代实体。 class Proxy : Subject { RealSubject realSubject; public override void Request() { if (realSubject == null) { realSubject = new

设计模式解密(7)- 代理模式

我们两清 提交于 2020-02-22 06:16:07
1、简介 定义 :为其他对象提供一种代理以控制对这个对象的访问 ; 分类 : 静态代理(静态定义代理类,我们自己静态定义的代理类) 动态代理(通过程序动态生成代理类,该代理类不是我们自己定义的。而是由程序自动生成)-- 这是与静态代理主要的区别!!! 主要解决 :在直接访问对象时带来的问题,直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象时加上一个对此对象的访问层; 何时使用 :想在访问一个类时做一些控制; 如何解决 :增加中间层; 应用实例 :JDK自带的动态代理,CGLIB,Spring AOP,.... 英文 :Proxy 类型 :结构型模式 2、类图及组成 ( 引 )类图 代理模式一般会有三个角色:   抽象角色:指代理角色(经纪人)和真实角色(明星)对外提供的公共方法,一般为一个接口   真实角色:需要实现抽象角色接口,定义了真实角色所要实现的业务逻辑,以便供代理角色调用。也就是真正的业务逻辑在此。   代理角色:需要实现抽象角色接口,是真实角色的代理,通过真实角色的业务逻辑方法来实现抽象方法,并可以附加自己的操作。   将统一的流程控制都放到代理角色中处理! 3、静态代理 3-1、实例引入:电影明星通过经纪人实现日常活动 定义一个抽象角色: package com.designpattern.proxy.staticproxy; /** *

nginx入门

ⅰ亾dé卋堺 提交于 2020-02-22 03:11:53
最新有个新需求就是访问炼铁19环境的需求。因为19环境无法通过vpn访问,对于现阶段远程运维及办公带来了不便。架构组决策通过路由转发的模式,通过91的特定端口访问19炼铁,方便简单的解决正常访问19炼铁的需求。 一、需求解决方案 具体实现的部署非常简单,就是在91的nginx配置增加server的转发。 /etc/nginx/conf.d/nginx-web.conf server{ listen 1980; #端口 server_name 10.26.10.91; #域名 location / { proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://10.27.16.241:5007; root /login/login.html; #非必须,不加也可以正常访问炼铁 } } proxy_pass http://10.27.16.241:5007–这个地址是19炼铁的映射地址 对于nginx又陌生又熟悉,需要系统的简单学习一下。 今天入门学习了一下: 二、nginx简介 首先看nginx能做什么? 反向代理、负载均衡、HTTP服务器(动静分离)、正向代理 从nginx可以实现的功能来看

spring-AOP

浪子不回头ぞ 提交于 2020-02-21 23:49:25
目录 AOP 简介: 概念 原理; 代理分类 静态代理 动态代理 Spring AOP配置方式 Spring 增强的类型 Spring AOP1.x Spring AOP 2.x 配置 AOP 简介: 概念 AOP:Aspect Oriented Programming 面向对象编程,是OOP面向对象的一种补充。 将程序中交叉业务逻辑(事物、日志)代码提取出来,封装成切面,由AOP在合适的位置将它封装的切面动态的织入到具体业务逻辑中。 AOP不是spring特有的 原理; spring原理就是使用动态代理 对于实现接口的目标类,使用的是jdk动态代理 对于没有实现任何接口的目标列,使用的是cglib动态代理 应用的场合 适用于具有很切逻辑的场合,比如事物管理、日志记录、性能检测、异常通知、访问控制等。 作用: 在不改变原有代码基础上动态添加新功能。 模块化 术语 连接点 JoinPoint 程序执行的某个特定位置,如方法调用前、方法调用后、方法抛出异常时、方法调用前后等。 切入点 Pointcut 定位查找到需要连接的点,即切点 增强Advice 也成为通知 在切点上执行一段代码程序,用来实现某些功能 目标对象 Traget 将执行增强处理的目标类 织入Weaving 将增强添加到目标类具体切入点上的过程 代理 Proxy 一个类被织入增强后,会产生一个代理类 切面 Aspect

火狐FoxyProxy配置教程

你。 提交于 2020-02-21 05:38:50
原文:http://www.lvtao.net/tool/640.html 虽然autoproxy是火狐上最优秀的代理插件,但是好久不更新,也有一些bug,比如观看youtube视频7分钟左右会无法播放。既然 作者一直不更新,那么我们就换插件吧。FoxyProxy也是一款优秀的代理插件,现在已经可以订阅autoproxy的规则。 1.准备工作 ① FoxyProxy的工作前提需要本地有socks5或http代理,推荐使用boafanx的ssh代理或shadowsocks代理。 ② 如果你的浏览器已经装有autoproxy等代理插件,必须禁掉,避免冲突。 2.安装FoxyProxy 火狐浏览器中,Ctrl+Shift+A 调出附加组件管理器,搜索“Foxyproxy Standard”,安装,根据提示重启浏览器。 3.配置FoxyProxy (1)重启浏览器之后会弹出getfoxyproxy的页面,因为被墙所以无法打开,直接关掉该页面。 (2)点击浏览器右下角的“FoxyProxy”,然后会弹出FoxyProxy窗口。 (3)上面的工作模式,我们选择第一项“使用基于其预定义模板的代理服务器”。 (4)点击“代理服务器”,右边点“新建代理服务器”。如下图所示: (5)先在“常规”里填入代理名称,然后在“代理服务器细节”里,手动配置代理服务器里填入socks5代理信息,然后确定保存

通过ssh开启代理xshell开socket代理

喜你入骨 提交于 2020-02-21 05:21:46
工具: 一个ssh账户,可以连接到一台Linux服务器 本地安装xshell 方法步骤: 第一步:使用xshell,ssh连接到Linux服务器 第二步:点击查看,选择隧道窗格,随后xshell,最下面就会显示隧道窗口,最底部。 第三步:点击到转移规则上,右击添加,类型选择SOCK5,端口设置一个未占用的端口,然后点击确定。 第四步:等设置好了以后最下面的状态是打开的,就表示已经设置成功了,此时我们可以在IE中添加添加,当然了也可以使用代理工具来进行代理,我这里就拿SwitchyOmega来进行演示了。 第五步:点击SwitchyOmega的选项,选择新建情景模式,代理协议选择SOCK5,代理服务器设置为127.0.0.1,端口设置为刚刚在Xshell中设置的端口,把下面不代理的地址列表中的127.0.0.1去除掉,最后点击右下角的应用选项即可。 第六步:在浏览器中选择刚刚设置的代理,然后访问百度,输入ip,查询当前ip为代理ip表示成功。 来源: CSDN 作者: cj_hydra 链接: https://blog.csdn.net/cj_Allen/article/details/104413549

代理arp

只愿长相守 提交于 2020-02-20 18:05:07
因为主机判断别的主机的网段时总是以自己的子网掩码来判断,所以可能导致误以为不同网段的主机与自己同网段,这个时候连接这两个的路由器就要开启代理arp,让路由器来给该主机的arp请求报文作出相应的arp应答。 本文转自https://blog.csdn.net/iteye_11541/article/details/82519824 概述:代理ARP是ARP协议的一个变种。对于没有配置缺省网关的计算机要和其他网络中的计算机实现通信,网关收到源计算机的 ARP 请求会使用自己的 MAC 地址与目标计算机的 IP地址对源计算机进行应答。代理ARP就是将一个主机作为对另一个主机ARP进行应答。它能使得在不影响路由表的情况下添加一个新的Router,使得子网对该主机来说变得更透明化。同时也会带来巨大的风险,除了ARP欺骗,和某个网段内的ARP增加,最重要的就是无法对网络拓扑进行网络概括。代理ARP的使用一般是使用在没有配置默认网关和路由策略的网络上的。 什么代理ARP:proxy ARP就是通过使用一个主机(通常为router),来作为指定的 设备 对另一设备的ARP请求作出应答。 工作原理: 图表 这个主机A要发送数据包到主机D。图表显示主机A使用的是16位掩码。(注意这一点!)主机A相信目的网段是直接连接在172.16.0.0上的。于是主机A直接发送一个ARP请求给目的站点。主机A