我爱学习,
学习使我快乐,
We cannot predict the future, but we can invent it.

ss笔记:原理 + 个人 + 建站

一、原理

what-is-shadowsocks.png

代理的工作原理

假设你想通过翻墙代理访问某个被墙的网站(比如反动网站、黄色网站:),这时候会经历如下几个步骤:
(1) 你的上网软件(通常是浏览器)会把数据发送给你电脑中的代理工具;
(2) 该工具把数据进行加密,然后发送给国外的某个代理服务器;
(3) 该代理服务器把数据解密,然后发送给你要访问的网站。
(4) 从该网站回传的数据,也是经过上述途径,最终回到你的浏览器。

参考:如何翻墙?——写在 BlogSpot 被封之后 {2015-08-28} @ 编程随想的博客

二、个人:ss

2.1 使用场景

如果只想搞一个自己用,或者只给少数几个人用,可以参考本段。不是非常详细的教程,需要一些计算机常识。

2.2 具体步骤

GitHub上的ss项目>>,按照其文档操作即可,遇到问题就到网上搜索。

首先需要购买一个国外的 VPS(服务器),安装CentOS7 x64,用putty、Xshell、Win10子系统、Linux终端等ssh方式登录之。

接着按照项目文档来做:

yum install python-setuptools && easy_install pip
pip install shadowsocks

然后新建配置文件

vi /etc/shadowsocks.json

阅读全文...

调研笔记 SVAC | ChipScope | Debussy

SVAC视频编码格式

SVAC,Surveillance Video and Audio Coding,直译过来是“监控视频音频编码”,官方中文译名:安全防范监控数字视音频编解码技术标准,是中星微和公安部第一研究所 制定的标准,主要用于中国的安防系统。

未来安防市场可能一分为二:民用市场和政府市场。如果没有政策的干预,民用市场可能会以H系列的编码技术为主;政府市场则很可能采用SVAC编码技术为主。

——引自:H.265与SVAC 谁会成为编码技术主流?

ChipScope

ChipScope是ISE的一个工具,allow you to view internal signals and nodes in your FPGA,这个视频讲的很清楚:ChipScope Pro Software Overview,还有这两个官方网页:ChipScope Pro Debugging OverviewChipScope Pro Tool Debugging Overview

不过,现在ISE只支持6系列FPGA,对于7系列FPGA只能用Vivado。在Vivado中是硬件debug,IP Catalog中有debug一栏,具体用法可查。

ISE supports the following devices families and their previous generations: Spartan-6, Virtex-6, and Coolrunner.
Xilinx recommends Vivado Design Suite for new design starts with Virtex-7, Kintex-7, Artix-7, and Zynq-7000.

Debussy

这是一个HDL代码调试工具,破解版下载:Debussy+破解完整版不分卷-CSDN下载,没有积分的话,我直接贴出来下载链接:http://pan.baidu.com/s/1o6GcM6Y

具体用法未知。待更新

在Vivado中使用ModelSim进行仿真

2018年5月30日更新:
我写的不专业,参考这个吧:【原创】vivado与modelsim的关联以及器件库编译-crazybird-电子技术应用-AET-北大中文核心期刊-最丰富的电子设计资源平台

首先需要安装和破解ModelSim,可以参考这个教程: modelsim-win64-10.4-se 下载、安装、破解全攻略

ModelSim的可执行文件路径是C:\modeltech64_10.4\win64,即安装目录\win64,在Vivado中,Tools - Options - General - 3rd Party Tools - ModelSim install path中填入上述路径。

然后Vivado中找到Project Settings - Simulation - Target simulator,选择ModelSim Simulator。这时会收到如下警告:

2017-10-26_211820.png

阅读全文...

电脑上的代理设置——充分利用科学上网

萌新坐姿

本文建立在已经能用ss进行科学上网的前提下。(如果你认识我的话,可以找我要科学上网的ss账号。)

为什么要认真学学这篇文章?因为这是很基础也是很有用的充分利用科学上网来加速你的下载的教程。适用于下载国外的东西,例如你在GitHub上下载releases时,国外的大学网站上下载他们的slides时,有没有发现明明我已经能科学上网了,但我还是只有几KB/s的下载速度?下着下着还停了?看完以后就能正常速度下载啦。

1. IE代理

首先明白什么是IE代理。在控制面板 - 网络连接 Control Panel\Network and Internet 里找到Internet Options,然后找到“连接”,局域网设置。

这里不需要手动设置,在ss里设置就好了。图中绿框对应着ss的PAC模式,当你设置为PAC模式时,会自动打钩。图中蓝框对应着ss的全局模式。

我们后续设置也是类似,就是说,可以选择跟随IE代理设置(也就是跟随ss设置,PAC或全局模式),或者手动设置sock5代理“服务器”和“端口”(独立于ss设置之外的全局模式)。前者可以长期保持,后者只建议临时使用。

阅读全文...

记录一个纯移位操作的开平方算法 | C语言

本文以C语言为例。
此算法优点是只有移位操作,没有乘除,所以利于硬件实现。以后试试改成Verilog硬件描述语言。
想要理解算法的话,一定要看看文末的参考链接。这里暂时只放代码。

阅读全文...

Python2存在的情况下安装Python3

系统为CentOS 6.4(Final),参考了linux下安装python环境 - 阿锋佬 - 博客园,操作略有不同,记录下来备忘。

这篇教程:如何在已经存在python2的linux环境上安装python3 - crazy_阿聪 - 博客园里写道,不能卸载python2,否则会有一些问题。

如果系统里没有python2,则直接装就好,不用这么麻烦。

阅读全文...

学习Linux | Git | C | Python

准备工作

  • 安装虚拟机软件VMware >>点我

  • 下载Ubuntu 16.04 >>点我
    Ubuntu和Ubuntu Kylin区别在于后者中文化了一些,比如内置了中文输入法。反正会英语,安装以后也可以改语言为中文,建议用Ubuntu。
    建议安装桌面版,因为服务器版没有GUI(用户界面),只有命令行。

  • 下载到的应该是一个.ISO文件,在VMware里面点“创建新的虚拟机”,然后浏览.ISO文件,完成安装,期间可以不用动设置。密码建议短一点,因为以后会经常输入。用户名认真填,以后终端里的命令的开头就是它了(用户名@ubuntu:~$)。

  • 安装过程中会下载语言包,速度很慢,可以找到跳过。

    基础设置

  • System Settings - Display 里可以调分辨率,注意点右下角没有显示完整的“Apply”才能生效。

  • Brightness & Lock 里面关闭Lock,省得离开一会儿就输密码。或者把息屏时间调长一些。

  • 更换软件源。换之前安装Git速度是B/s,换了以后立刻装完。Software & Updates 里面 Download from - Other... - China - 我选的是mirrors.aliyun.com

  • Language Support 里可以下载语言包,下载完以后拖动调整顺序。重启生效。我是没换语言,也没装中文输入法。实在需要中文的时候可以使用在线输入法,例如谷歌的这个。如果安装中文输入法,比较喜欢搜狗输入法,按照这个百度经验>>。总结一下就是:sudo dpkg -i sogou_pinyin_linux_1.0.0.0033_amd64.deb,然后会报错,然后解决依赖关系sudo apt-get install -f

  • 安装Shadowsocks-qt5,教程在此

  • 替换hosts,路径在/etc/hosts,也可以向下面这样查找。

    find   /etc   -name   "host*"   -print
    sudo cp /etc/hosts /etc/hosts.bak
  • 安装Chrome,同步书签,我是谷歌系列重度用户。在官网上下了.deb格式的安装包以后,双击打开系统自带的软件安装界面,点install以后没啥反应,任务栏上有个waiting to install。无奈sudo apt install gdebi,然后用它来安装。在Ubuntu 16.04里,apt-get可以简写为apt

  • 截图,自带了gnome-screenshot,使用gnome-screenshot --help可以看到区域截图的参数是-a。名字太长,Tab补全也不能补全,用起来挺麻烦,可以设置系统的别名来快速截图,设置教程:alias命令,当前终端生效修改文件并重启,永久生效,例如改成scr,这样以后就scr -a就能区域截图了。

  • 查看磁盘使用情况:终端中输入baobab以打开Disk Usage Analyzer磁盘使用情况分析器。比较坑,在搜索界面无法输入中文,也就是说,在语言设置为中文时,搜不到这个软件,只能用终端打开baobab。

阅读全文...

网页去广告教程

网页广告通常很烦:

  • 有些是在网页右下角挡住了一部分视线;
  • 有些是会动的广告,很让人分心;
  • 有些是很低俗的广告;

如何去除网页上的广告呢?

方法一:按F12打开浏览器的“审查元素”

以Chrome为例,点左上角的箭头,然后选择一个元素,然后按Delate删掉。

这种方法也适合:想对网页截一个比较大的图,但是网页额头比较宽,占用了很大页面,选中以后删掉,就不会被挡住了。

2017-03-08_190727.png

阅读全文...

常见U盘病毒

这是我这些年来一直见到,又一直是同一个的病毒。它没有恶意,只是在恶搞你。

它的原理是给U盘里的所有文件加上“系统文件”的属性,而操作系统为了保护系统文件,默认把系统文件隐藏,并且即使勾选了“查看隐藏文件”以后还是看不到。

解决办法:

正确的办法是:开启查看受保护的系统文件。以Win10为例:(对于XP和Win7:我的电脑 - 工具 - 文件夹选项,参考>>

阅读全文...

可爱的小锁 | https | LetsEncrypt教程

2018年1月24日更新

Let's Encrypt 入门教程 | Ming's Blog这篇教程非常非常好,大部分是参考他的。下面是一些改进和总结。

CentOS7/nginx:
安装certbot

yum install -y epel-release
yum -y install yum-utils
yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
sudo yum install certbot-nginx

停掉服务器(不停后面会报错)

/etc/init.d/nginx stop
certbot certonly --standalone

接下来输入邮箱、域名,就能获取成功,在/etc/letsencrypt/live/example.com/目录看到文件。

因为用了一键安装包,所以配置文件不在/etc/nginx/nginx.conf目录,而在/usr/local/nginx/conf/nginx.conf,注意其中include的conf文件。
然后在该配置文件中,加证书信息,加http到https的301跳转。教程里很详细不细讲。注意的是,教程里用的是cert.pem,应该用fullchain.pem更好一点。

最后就大功告成啦(°∀°)ノ

/etc/init.d/nginx start

再加个HSTS,原理:从 HTTP 到 HTTPS 再到 HSTS-博客-云栖社区-阿里云
做法:本博客正式启用 HTTPS | JerryQu 的小站 将域名加入 HSTS Preload List - imlonghao
简单说就是在配置文件中加入

add_header      Strict-Transport-Security max-age=31536000;

ssllabs可以测试ssl,如何获得高分:Strong SSL Security on nginx - Raymii.org


下面是啰啰嗦嗦的原文

无意间读到这篇文章,才发现原来到明年(2017年)chrome要把所有不是https的网站标记为不安全网站,加上以前我以为证书很贵,这篇文章让我发现原来有免费的证书,于是折腾了一天,我用的是LetsEncrypt。

现在来啰嗦地记录一下过程吧~

首先打开它的官网->Get Started

2016-12-03_100755.png

阅读全文...