将你的树莓派打造成一个 Tor 中继节点 | Linux 中国

在此教程中学习如何将你的旧树莓派打造成一个完美的 Tor 中继节点。– Konstantin Ryabitsev 有用的原文链接请访问文末的“ 原文链接”获得可点击的文内链接、全尺寸原图和相关文章。 致谢 编译自 | https://www.linux.com/blog/intro-to-linux/2018/6/turn-your-raspberry-pi-tor-relay-node 作者 | Konstantin Ryabitsev 译者 | qhwdw

暗影精灵3 PLUS 安装黑苹果

折腾黑苹果有风险,大家注意,文章仅供参考! 首先先说一下尚未解决的问题(有的目前还没有人折腾出来,有的是我实在折腾不下去了…): 1.屏幕亮度无法调节(可以勉强使用软件代替,差不多的功效) 2.摄像头无法使用(这个好像可以解决,但是我实在是懒啊…) 3.不支持自带的无线网卡,可以选择自己更换或使用usb无线网卡(这个目前实在是没办法软件解决) 前提:你的硬盘是GPT格式 1.首先是制作Mac安装盘,最好使用16GB以上的U盘,并做好U盘备份,因为U盘需要格式化 这边用到的工具是TransMac(我提供了我自己用的TransMac的CSDN下载,只要一积分大家支持一下,如果没积分的可以自行百度,很多的): TransMac下载地址 . 系统使用的是High Sierra(10.13.5)提供百度云下载: 链接:百度云链接 密码:2aq2 . 制作教程我就不写了,安装这个百度经验的来就OK:TransMac制作MacOS启动盘 2.制作完USB启动盘后先不要急着重启,我的电脑进入到EFI盘(如果系统没有出现EFI这个盘,那么下载DiskGenius,从软件中找到USB的EFI盘进行操作),把原先EFI下的Clover文件夹移动到其他地方备份起来,使用我提供的Clover文件放入EFI目录下(记住,是把原先的删掉,在放入我提供的这个,不是合并) EFI文件下载地址 3.重启,按F9选择启动方式,选择USB启动盘启动,进入Clover后应该就两个图标,一个windows启动盘,一个是Mac系统的安装,直接回车选择安装MacOS,等待开起来后: 选择一下语言, 打开磁盘工具, 选择你要安装系统的磁盘,选择抹掉,名称自取,格式为APFS 退出磁盘工具,开始安装系统 等待完毕后系统会自动重启,我们再次进入USB启动盘,这时刚进Clover应该默认选在下一步要进入的那个图标上面(我没有截图,就盗用了一下别人的图http://baijiahao.baidu.com/s?id=1579144215405327877&wfr=spider&for=pc,应该就是叫做Boot OS x install 什么的): 进入之后又是安装,这次才是真正的安装把,之前那个应该是拷贝文件到磁盘(注意:在我的暗影精灵3plus上进行这步操作的时候进入安装界面又马上重启了,不要担心,在重新进入一次就可以了),安装完毕后又会重启,一样地进入USB启动盘,这次又多了一个入口,这个就是Mac系统了,进入后有一系列设置,设置完毕进入桌面后,安装显卡驱动,如果没有有线网络的话,可以提前下载,或者用手机提供usb热点给电脑,不过这边需要这个驱动。 安装完显卡驱动后重启即可。 亮度调节工具叫做Brightness Slider,App Store就有免费的。 现在还是依赖于U盘启动,若想摆脱U盘,需要下载clover configurator,打开后选择挂载你内部磁盘的EFI,将U盘的EFI拷贝到内部磁盘EFI根目录即可。这样就可以不需要U盘了。 目前为止一直都是F9选启动方式才能进入Clover,不过可以在Window系统上添加启动项,这个我就不具体说了。 不过我的电脑在这边碰到了一些问题,安装完显卡驱动后第一次重启正常进入系统,第二次就黑屏了,需要按电源键一下后在按一下,才显示正常,不过我发现一个避免这个问题的方式,就是进bios打开传统启动模式,这样就ok了 写的有点急,有问题的可以留言提问哈 黑苹果推荐网站 https://tonymacx86.com

ArcGIS Runtime 添加谷歌地图、OpenStreetMap作为底图

ArcGIS 自从发布Runtime以来一直以Web+C/S的模式,慢慢挑战着AE/AO的江湖地位。其可以添加Web底图的方法更是其杀手锏。 现在就分享ArcGIS Runtime中添加Google底图的方法。 开门见山,直接写出其最关键的类,自定义的一个类GoogleTileLayer public class GoogleTileLayer : ServiceImageTiledLayer { private string LayerType = "s";//图层类型 public GoogleTileLayer(TileInfo tileInfo, Envelope fullExtent, String inputLayerType) : base(tileInfo, fullExtent) { LayerType = inputLayerType; } //重写Uri函数 protected override Task GetTileUriAsync(int level, int row, int column, CancellationToken cancellationToken) { //Console.WriteLine(level.ToString() + "," + row.ToString() + "," + column.ToString());//打印输出 Task myTask = new Task(() => GetTileUri(level, row, column, cancellationToken)); myTask.Start(); return myTask; } private Uri GetTileUri(int level, int row, int column, CancellationToken cancellationToken) { MapViewControl.

[论文简读] Deep Neural Networks for Web Page Information Extraction

原文链接: https://segmentfault.com/a/1190000015490870 [论文简读] Deep Neural Networks for Web Page Information Extraction 基于深层神经网络进行网页信息提取 简单介绍 本文主要介绍了一种基于神经网络并结合视觉信息、文本信息的多网站通用包装器(wrapper) 本文的几个贡献 o 提出了一种将数据从web渲染引擎编码到深层神经网络的方法,即文本的空间编码方法 o 测试了该方法,并验证了其在非通用网站上提取信息的可行性 o 公开了数据集(暂未公开,从代码上看也是自己去找适合的网页爬下来的)、源码和最终模型 基本流程 1. 利用web引擎进行渲染,保存截图(视觉信息)以及DOM树(编码信息) 2. 使用卷积神经网络预测候选元素是否是目标元素 神经网络 神经网络框架采用了Caffe作为模型训练框架 预处理 从DOM树中提取所有的节点以及其位置,以矩形框表示,使用其文本作为文本输入, 叶节点作为候选输入,然后使用卷积神经网络来处理视觉信息和文本信息,得到一个预测概率P 空间文本编码 网络架构 o Screenshot 屏幕截图 由三个卷积层处理(前两层用来自BVLC AlexNet的预先训练的权重初始化) o TextMap 的张量尺寸为128x160x160 o Candidates 候选列表 过程:视觉特征提取,然后与文本特征(中间)结合。 将候选框的坐标投影到最终的特征张量,并使用ROI MaxPool-ing提取结果向量。 最后,使用softmax的线性模型将向量分类为预定义的类。 实例

爬虫(20):深度爬取策略(2)

import re import requests headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36"} """ 世界杯八强出炉 """ def getUrl(url): html = getHtml(url) urlre = "\"(https?://.*?)\".*>" urllist = re.findall(urlre, html) return urllist def getHtml(url): response = requests.get(url, headers=headers).content.decode('utf-8', 'ignore') return response def vastSpider(depth): while len(urlList) > 0: url = urlList.pop() if urlDict[url] <= depth: print('\t\t\t\t' * urlDict[url], '这是第%d层,%s' % (urlDict[url], url)) sonurlList = getUrl(url) for newurl in sonurlList: if newurl not in urlDict: urlDict[newurl] = urlDict[url] + 1 urlList.

爬虫(19):深度抓取策略(1)

import requests import re headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36"} """ 世界杯八强出炉 """ def getUrl(url): html = getHtml(url) # 清洗出新的url # urlre = "" urlre = "\"(https?://.*?)\".*>" urlList = re.findall(urlre, html) return urlList def getHtml(url): response = requests.get(url, headers=headers).content.decode('utf-8', 'ignore') return response def getInfo(): pass def depthCtl(url, depth): # 判断是否超出深度,超出就结束 if depthDict[url] > depth: return print('\t\t\t' * depthDict[url], '抓取了第%d层,%s' % (depthDict[url], url)) # getInfo(url) sonUrllist = getUrl(url) for newUrl in sonUrllist: if newUrl not in depthDict: depthDict[newUrl] = depthDict[url] + 1 depthCtl(newUrl, depth) if __name__ == '__main__': # 种子url startUrl = 'https://www.

Deep Web:它是什么以及如何访问它? – 终极指南

奇怪而精彩的深度网络 正如它的名字所暗示的那样,深度网络可以被最好地描述为各种各样的迷宫,并带有无限迷人的内容。 在网络上有数百万页有趣的索引,数据库,想法,内部网络,社区和资源,无论是天真的还是邪恶的。 在介绍深度网络的概念时,一个事实总是让大众感到困惑:96%的互联网没有被谷歌和必应等搜索引擎索引。 这意味着通过标准方式,您只能访问万维网的一小部分。普通的互联网用户只能利用互联网提供的一部分潜力。 什么是深度网络? 深层网络就是常规搜索引擎无法找到的所有互联网,因为网页没有以任何方式编入索引。 像Google这样的搜索引擎有称为网络爬虫或网络蜘蛛的软件。他们爬行寻找网页。该信息存储在搜索引擎的索引中。 Google的索引系统从一个名为“抓取”的过程开始。 想象一下,一个虚拟机器人蜘蛛,从主页开始,然后从网站上的所有页面爬出来,点击所有链接即可访问。 然后,Google会扫描数据并呈现内容以发送到Google的索引服务器。从那里开始,Google通过上下文组织数据并将其输入构成搜索引擎的算法基础中。 除了Google能够提供的内容外,您还可以想到每一点信息 它包含一系列信息和数据,从登录到受密码保护的私人网站的私人文章和视频后,您的银行帐户的内部信息中心可以在某些国家/地区受到审查或阻止。 在“表面网”下面,有可能性的宝藏。你只需要知道如何找到它们。 黑暗网络比较。深网 关于深网和黑网的混淆是猖獗的。即使是大的出版物也错了。 与流行的看法相反,深度网络和黑暗网络实际上是两个独立的定义。 媒体和坦率地说,大多数不熟悉黑暗网络的公众倾向于交替使用这两个概念。人们经常把一个作为另一个的同义词,反之亦然。 对于那些不熟悉这个主题的人来说,这是一个常见的错误。但是,暗网和深网之间的区别是相当严峻的。这两者由相互矛盾的构念组成,并由其定义。因此,差异值得澄清。 信息图形通过例子和冰山的比喻阐明了互联网,表面网,深网和黑网的概念。 在您的网站上分享此图片 深网与黑网之间的对比往往通过将其与冰山进行比较来形象地描述。想象一下,为你自己,冰山一角: 表面网络 以上水是每日平均互联网用户的内容。这是您的Facebook.com,reddit.com,您的justice.gov,您的harvard.edu。 深网 冰山与水下相遇的表面正下方是深网。 它由与表面Web上的站点相同的一般主机名组成,但随着这些域的扩展。 这是您的Facebook Messenger帖子与朋友或司法部的公共档案材料或哈佛内部通信系统的具体网址。深度网络是整个互联网的主体。 黑暗的网络 冰山最底部的缩小部分是深度网络的一个子集,只能通过防止匿名的软件访问。 正因为如此,黑暗的网络是不希望被发现的实体的家园。 为了扩大这种视觉效果,有必要解释一下,黑色网页包含的URL以.onion结尾,而不是.com,.gov或.edu。 这些.onion网址所在的网络不能使用您用来访问您的Facebook消息,司法部门档案或您的哈佛电子邮件帐户的相同浏览器访问。您可以使用简单的Chrome或Safari来访问这些。 黑暗的网络需要一个特定的软件程序(Tor浏览器)才能实现,并且它为您提供了一个特殊的匿名性层面,即表面网络和深层网络不可以。 因此,黑暗网络是人们和不想通过标准手段找到的活动的场所。 它包含非法交易市场和论坛,黑客社区,记者和举报人之间的私人通信等等。 如何访问Deep Web 访问深度网不是通过直接手段完成的,因为存储在其中的信息存在于数据库中,使得传统搜索引擎不可能仅通过搜索来获得数据。 像谷歌这样的搜索引擎只能组织和索引互联网表面上的数据,因为在大多数情况下,URL是固定的,可能会被谷歌的抓取机器人拿起,或者没有特殊的权限来查看网页。 当抓取和编制页面时,Google的机器人系统更喜欢遵循简单目录结构的 URL ; 也就是说,网站的主要内容不应超过网站主要域的两个子目录级别。 一种可视化此概念的方法是将其与文件存储文件夹层次结构进行比较 – 您不希望以某种方式来组织桌面文件,这种方式对于多个路线和方向来说太复杂; 这将彻底击败目的。这里适用同样的想法。 在需要密码的情况下,标准浏览器不能绕过这个阶段,因为包含的信息是高度机密的,因此需要保护它。 由于深度网络的庞大规模以及它所包含信息的深度,因此没有真正明确的方法来访问它。 您可以通过不同的方式访问您的电子邮件地址,社交媒体帐户或在线门户,具体取决于您在此过程中点击的链接,您遇到的重定向,您输入的内容等。 存储在深网上的信息是巨大的。它主要是公众可以访问的。 如前所述,深层网下面是黑暗的网页,只能由Tor浏览器访问。 应遵循严格的指导原则,以确保您在黑暗网络上的活动保持匿名,因为Tor使用通常受到当局的监控,并且偶尔也会有漏洞泄露您的真实IP地址。 有关如何正确进入和使用黑暗网站的更多信息,请查看我们的访问黑暗网页上的综合指南。 在隐藏的网页上可以找到什么? 在发现数据的深层网络包括但肯定不限于… 多URL超大型数据库,对于搜索引擎来说太大而无法正确索引。这是一个基于类别的有用列表。 记录,证书,名称目录,库索引等 受密码保护且仅限会员的网站。 定时访问页面。这可能包括您正在为在线课程进行测试的内部网页。 付费墙下阻止的数字媒体内容。新闻机构将此作为其收入模式的一部分,以鼓励读者/观众订阅新闻报道并为其付费。 任何个人帐户的后台仪表板,无论是银行,社交平台,电子邮件服务等。这只有在帐户登录和访问后才可用。然后,该URL将相应地更改为专用地址。 社交媒体,聊天服务,消息平台等上的两方用户对用户通信或线程。此处适用#4的相同规则。 深度网络对于加密通信非常有用。这些用户包括任何需要保护监督权力的人。 以下是一些受益于深度网络加密通信功能的主要群体。 1.举报人和记者 最近,爱德华·斯诺登是最知名的举报人。

jenkins安装及启动

Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台。这是一个免费的源代码,可以处理任何类型的构建或持续集成。集成Jenkins可以用于一些测试和部署技术。Jenkins是一种软件允许持续集成。 官网:https://jenkins.io/ 一、前期准备 1、需要开放8080端口,jenkins默认监听8080端口 2、需要安装java8,jenkins是java开发,需用java运行 二、下载,以下载war包运行为例,前提 wget -P /home/jenkins http://mirrors.jenkins.io/war-stable/latest/jenkins.war 三、启动 cd /home/jenkins/ nohup java -jar /home/jenkins/jenkins.war & 相关启动错误信息可通过vim /home/jenkins/nohup.out查看 1、出现错误 Jenkins requires Java 8, but you are running 1.7.0_181-mockbuild_2018_05_22_02_25-b00 from /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.181.x86_64/jre 解决: 升级java版本,安装至java8 2、出现错误: 警告: Could not intialize the host network interface on nullbecause of an error: ecs-90d5: ecs-90d5: 未知的名称或服务 java.net.UnknownHostException: ecs-90d5: ecs-90d5: 未知的名称或服务 解决: vim /etc/hosts 添加一行映射即可 127.0.0.1 ecs-90d5 四、查看安装秘钥 1、vim /home/jenkins/nohup.out 2、查看字样 Jenkins initial setup is required.

光敏传感器实验

光敏传感器实验 一、 实验目的 了解光敏传感器工作的过程,掌握针对一个光敏传感器实验的过程,深入了解其工作的机制,并且学会使用ATOS平台来进行烧录数据的操作,掌握TinyOS的基本操作方法。 二、 实验原理及基本技术路线图(方框原理图) 首先是开发平台的选择,对于传感器实验,我们选取的开发平台是ATOS。 ATOS 综合实验平台提供了一个完整的传感网实验平台,如图 1.1.1。在这个 平台中主要包括无线传感网节点、基站板、传感器模块。下面将简单介绍每个一模块的功能。 图 1.1.1 整体框架图 下面则是传感器模块以及基站板的介绍: 传感器模块是将物理世界的信息进行量化的设备,是 ATOS 实验平台中采集 数据的基本来源,传感器根据采集对象的不同,分为 A/D 式传感器及开关传感 器,ATOS 实验平台支持多达十几种传感器,使用统一连接的方式,方便使用和 替换。 基站板(或称为网关板),是 ATOS 实验平台中用于采集节点数据、烧录程 ATOS 实验平台–使用指南 4 序,以及串口通讯的多功能设备。在该平台上,在底板上已经实现每个基本节点 都可以通过基站统一烧录,不再需要用在线烧录器单独连接某个节点。 基站板上有一个射频模块连接插槽,一个传感器模块连接插槽,一个 USB 烧录线接口,USB 转串行接口以及一个标准串口。 软件: ATOS 实验平台主要以 TinyOS 操作系统为软件平台,并在其之上扩展了许 多的应用开发中常用的组件,通过 ATOS 实验平台及其配套的组件可以快速的构 建自己的应用,而无需深入了解硬件相关的操作,这对于进行理论研究和学习原 理性知识减少了许多障碍。 下面将进行传感器原理的简介: 首先光敏传感器的核心元件就是光敏电阻,其原理如下: 光敏电阻是一种光电效应半导体器件,它能提供很经济实用的解决方案,应用于光存在 与否的感应(数字量)以及光强度的测量(模拟良)等领域。 光电效应半导体探测器可以分为两大类:结和体效应装置。结装置,工作于光电传导模 式,它利用 PN 结的反向特征。在反向偏转时,PN 结产生一个受光控制的电流信号。输出量 与触发照明成正比,而不受供应电源的影响。硅光电管就是这类的产品。而体效应光电半导 体没有结,它的体电阻系数随照明强度的增强而减小,容许更多的光电流流过。这种阻性特 征使得体效应光电半导体具有很好的品质:通过调节供应电源就可以从探测器上获得信号流, 且有着很宽的范围。为了区别,珀金埃尔默光电子将体效应光电半导体称作为光电半导体单 元,简单的说就叫光敏电阻。 光敏电阻是薄膜元件,它是由在陶瓷底衬上覆一层光电半导体材料。金属接触点盖在光 电半导体面下部。这种光电半导体材料薄膜元件有很高的电阻。所以在两个接触点之间,做 的狭小、交叉,使得在适度的光线时产生较低的阻值。 我们知道光敏电阻设计到了A/D转换的过程,因为电阻输出的是模拟量,而PC无法处理模拟量,因此为了能直接在PC端能看到数据,我们需要对于采集的数据进行A/D转换。 下面是A/D转换的原理: A/D 转换器(Analog-to-Digital Converter)又叫模/数转换器,即是将模拟信号(电压或是电流的形式)转换成数字信号。这种数字信号可让仪表,计算机外设接口或是微处理机来加以操作或胜作使用。 A/D 转换器(ADC)的型式有很多种,方式的不同会影响测量后的精准度。

Android摄像头使用问题记录

一. camera.getParameters()时候抛出异常“getParameters failed (empty parameters)” 查看了here 由于本应用多处使用摄像头,在不断切换中,可能存在释放和预览相争问题,在遇到这个异常的时候,捕获后对摄像头做释放操作,即可恢复正常。 二. 预览使用surfaceview ,底部有视频(surface)等,需要设置surfaceview到顶部覆盖底部 //解决和底部视频广告重叠的时候不能显示问题 surfaceHolder.setFormat(PixelFormat.TRANSPARENT); //surfaceView放置在顶层,即始终位于最上层 //surfaceView.setZOrderOnTop(true);//位于最上层 surfaceView.setZOrderMediaOverlay(true);//覆盖底部视频 三. 预览后通过setPreviewCallback获取到的data无法转bitmap 因为data属于YUMImage格式,所以不能直接转bitmap,先处理一下byte,使得可以转bitmap private byte[] zpiByte(byte[] data, int mWidth, int mHeight) { YuvImage image = new YuvImage(data, ImageFormat.NV21, mWidth, mHeight, null);//这个参数不要乱动,乱动会转错误 ByteArrayOutputStream stream = new ByteArrayOutputStream(); image.compressToJpeg(new Rect(0, 0, mWidth, mHeight), 100, stream);//先按原尺寸转成jpeg的流,后面再压缩一次。这个也不要乱动参数 byte[] finalface = stream.toByteArray();//此时的尺寸并不小,但我尝试在上面代码直接转小会错位,考虑到要经过网络,所以后面会再转换一次,但转换速度非常快,基本上不会影响性能 int rotateAngle = mFaceFragment.getRotation(); Log.i(TAG, "rotateAngle" + rotateAngle); if (rotateAngle > 0) {//如果检测的时候需要旋转,那么拍下来的图片也需要旋转 shi Bitmap bitmap; bitmap = BitmapFactory.