v2ray使用树莓派搭建透明代理

平台:raipi3B+ MATE18.04
软件:V2ray 4.18


自从上次开会大面积SS被封禁之后,我就开始转移到v2ray网络,最近有同事问我家里面游戏机怎么翻墙后,我就想起之前研究的透明代理,透明代理就是局域网内有一台主机能够翻墙,其它机器可以端口转发到该机器同时进行科学上网
整个搭建过程还是很简单的,大家可以参阅 v2ray白皮书


主要步骤分为5步:(网关设备及局域网内科学上网的设备可以是主机、虚拟机、树莓派等)
1. 网关设备开机IP转发
2. 网关设备设置问静态IP(防止重启后ip地址更换),局域网内其它机器手动设置网关为网关设备的静态IP
3. 网关设备科学上网
4. 在网关设备的config.json内添加协议
5. 设定tcp,udp的iptables规则
PS:在树莓派上应用成功后发现局域网内透明代理确实成功,但是网络延迟增加蛮大的,打开网页较慢(毕竟使用的同一个wifi端口)还是不如软路由的双千兆网口的速率。


最近发现很多软件自带局域网转发功能,可以使用该功能直接进行局域网转发,包括SSR

WIN平台安装GVIM并启用VUNDLE管理插件

平台:WIN7
软件:GVIM8.1


最近经常开始PC工作并进行FPGA的开发工作,这些IDE在windows平台的运行良好(linux平台都是老机器了),工作网是内网与外网物理隔绝,就得想办法手动编辑插件
1. 安装GVIM8.1(直接google官方下载)
2. 安装python-2.7 (直接google官方下载)vim8.1版本适配的是python2.7不要下载高版本
3. 拷贝ctags58内的ctags.exe文件至gvim安装目录,例如:C:\Program Files (x86)\Vim\vim81\
4. 拷贝.vim文件和_vimrc文件至$HOME文件夹($HOME变量在我的电脑-高级系统设置-环境变量)PS:vimrc为个人配置文件,拷贝.vim主要为了应对断网,如有网络拷贝vimrc文件,打开vim运行PluginInstall
5. 拷贝字体文件yahei ***.ttf至系统字体文件夹


PS:特别注意vim和python的安装顺讯一定是先gvim再python,最后重启。
最后添加一个百度云盘分享,里面有所有需要的文件。
链接:https://pan.baidu.com/s/1D5PaISL-pPLy1VGPaH-GaQ
提取码:dmw3

树莓派搭建透明代理ss-redir+ss-tproxy

平台:树莓派3B+
系统:Ubuntu Mate18.04


详细操作见最后的参考链接

Part 1 安装tproxy所需依赖(根据运行提示安装)

ipset

sudo apt install ipset

chinadns

wget https://github.com/shadowsocks/ChinaDNS/releases/download/1.3.2/chinadns-1.3.2.tar.gz
tar xf chinadns-1.3.2.tar.gz
cd chinadns-1.3.2/
./configure
make && make install

Part2 安装tproxy

git clone https://github.com/zfl9/ss-tproxy
cd ss-tproxy
cp -af ss-tproxy /usr/local/bin
chmod 0755 /usr/local/bin/ss-tproxy
chown root:root /usr/local/bin/ss-tproxy
mkdir -m 0755 -p /etc/ss-tproxy
cp -af ss-tproxy.conf gfwlist.* chnroute.* /etc/ss-tproxy
chmod 0644 /etc/ss-tproxy/* && chown -R root:root /etc/ss-tproxy

Part3 修改配置文件

文件地址/etc/ss-tproxy/ss-tproxy.conf
model模式最简单修改为global
根据实际情况修改proxy配置段中代理软件的相关信息
proxy_server 用来填写服务器的地址(外网vps的地址)
proxy_dports 用来填写要放行的服务器端口
proxy_runcmd 是用来启动代理软件的命令,此命令不可以占用前台(意思是说这个命令必须能够立即返回),否则 ss-tproxy start 将被阻塞;proxy_kilcmd 是用来停止代理软件的命令。proxy_runcmd 和 proxy_kilcmd 的常见的写法有:

# ss-libev 透明代理
# 假设服务器信息如下:
# 服务器地址: ss.net
# 服务器端口: 8080
# 加密方式:   aes-128-gcm
# 用户密码:   passwd.ss.net
# 监听地址:   0.0.0.0
# 监听端口:   60080
# proxy_runcmd 如下:
(ss-redir -s ss.net -p 8080 -m aes-128-gcm -k passwd.ss.net -b 0.0.0.0 -l 60080 -u --reuse-port --no-delay --fast-open </dev/null &>>/var/log/ss-redir.log &)
# proxy_kilcmd 如下:
kill -9 $(pidof ss-redir)

PS:即将括号内的命令补全后代替(cmd…)
特别注意,ss-redir、ssr-redir 的监听地址必须要设置为 0.0.0.0(即 -b 0.0.0.0),不能为 127.0.0.1,也不能省略
ipts_non_snat 设为 true

Part 3 启动

 ss-tproxy start

内网其他主机修改配置取消自动配置,手动添加ipv4 地址,前缀为255.255.255.0,网关和dns为树莓派地址例如192.168.8.170


参考链接:
https://www.zfl9.com/ss-redir.html

树莓派3B+安装SS

平台:树莓派3B+;
系统:Ubuntu MATE 18.04


最近配置好树莓派后,准备将SS加入到树莓派中,准备将树莓派作为内网的透明代理,进行端口映射后,内网其他主机全部通过树莓派翻墙,第一部就是先要安装SS-libev


PART 1

shadowsocks-libev包含ss-redir指令,用于透明代理,所以必须安装该版本;

sudo apt install shadowsocks-libev

安装完成后最好设置一个配置文件方便后续修改配置config.json,具体函数不做解释,相关文档很多

{
    "server":"my_server_ip",
    "server_port":8388,
    "local_address": "127.0.0.1",
    "local_port":1080,
    "password":"mypassword",
    "timeout":300,
    "method":"aes-256-cfb",
    "fast_open": false
}

服务器端记得也要设置好,调试阶段可一直运行,方便查看log:

ss-local -c /etc/shadowsocks.json

后台运行,根据情况添加sudo

sslocal -c /etc/shadowsocks.json -d start
sslocal -c /etc/shadowsocks.json -d stop

Part 2

运行ss后,只能浏览器使用sock5代理,为了让全局使用,需要用privoxy将socks5代理转为HTTP代理

sudo apt install privoxy

配置privoxy

sudo vim /etc/privoxy/config

找到listen-address 127.0.0.1:8118,确定没有注释符号#,大概在783行
找到#forward-socks5t / 127.0.0.1:9050 .在下面添加一行forward-socks5t / 127.0.0.1:1080 .
表示转发请求到本地1080端口,1080端口为SS监听端口(根据实际情况修改).大概在1337行
配置完成后重启服务

systemctl restart privoxy

修改系统设置中的Network Proxy,选择手动,http,https,ftp Proxy全部配置为127.0.0.1端口8118,socks proxy配置为127.0.0.1,端口1080

PS:
记得ufw allow 8118等端口


树莓派Ubuntu18更换阿里源

平台:树莓派3B+
系统:ubuntu MATE18


安装完成树莓派开始配置系统中发现使用官方源速度太慢,开始更换境内源,晚上很多资料都是16版本的,所以只能自己去找地址;
一直对source.list文件一知半解,安装ubuntu镜像更新,一直提示没有arm64package.研究发现,ubuntu默认是i386平台的,在阿里云镜像网址下是在ubuntu-port下有arm64平台,ubuntu路径下面是没有arm64包的.
PS:切记备份原始文件

deb http://mirrors.aliyun.com/ubuntu-ports/ bionic main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu-ports/ bionic main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu-ports/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu-ports/ bionic-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu-ports/ bionic-updates main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu-ports/ bionic-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu-ports/ bionic-backports main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu-ports/ bionic-backports main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu-ports/ bionic-proposed main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu-ports/ bionic-proposed main restricted universe multiverse

在上述命令中bionic是系统版本号,后面几个参数是对软件包的分类(Ubuntu下是main, restricted,universe ,multiverse这四个),网上很多更新源都是在ubuntu路径下修改,在树莓派平台上是不行的,切记改为ubuntu-ports路径.
更新完成后进行update 和upgrade.


PS :不知是使用阿里源的问题还是中文版的问题,安装ros总是出现适配问题,无法安装,重装英文版后选择中科大源解决问题

deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse

deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse

deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse

deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse

树梅派3B+安装Ubuntu MATE18.04

平台:树梅派3B+
系统:ubuntu mate 18.04


1.下载mate系统镜像,官网地址
2.下载并解压缩.文件压缩包格式为xz,烧录系统需要dd命令,若无配置命令

sudo apt-get install gddrescue xz-utils
unxz ubuntu-mate-***.img.xz

3.插入SD卡查看挂载路径

lsblk
  1. 根据挂载路径替换/dev/sd* (eg:/dev/sdb)
sudo ddrescue -D --force ubuntu-mate-***.img /dev/sdx

树梅派PI 3B+ MATE18.04开始ssh

平台:树梅派3B+
系统:ubuntu MATE 18.04


系统默认不开启ssh,使用raspi-config开启ssh服务端
1.sudo raspi-config
2. 进入第三项
3. 选则p2回车
4. 选择yes回车
5. 等待完成回车确认
6. 退出配置,ps -e | grep ssh 看到sshd即开启


1.设置完成后,在/etc/ssh/sshd_config内打开22端口,取消port 22 注释,配置完成后重启sshd:

systemctl restart sshd.service

2.若还是无法连接检查端口时候开启

ss -tnlp

3.防火墙状态查看

sudo ufw status

开启端口

sudo ufw allow 22

3.检查sshd.service服务是否开启

systemctl status sshd.service

PS : 在所有状态检查OK,在客户端连接出现Connection closed by X.X.X.X,在服务端,在

systemctl status sshd.service

上可以看到sshd error: could not load host key.
检查key地址:

ls -al /etc/ssh/ssh*key 

发现路径下无key文件,或者key文件大小为0,重新生成key文件

sudo rm -r /etc/ssh/ssh*key  
sudo dpkg-reconfigure openssh-server 

PS:最近在重新安装mate后,使用英文版发现raspi命令竟然没有ssh选项,那只能命令安装

sudo apt install openssh-server

安装完成后记得设置开机启动,出现问题可以参考上面的内容

sudo systemctl enable ssh

Zsh兼容bash

最近在和同事讨论中发现,zsh其实是具有模拟bash等主流shell的模拟功能,
手动开启模式位

emulate bash

但是作为一个懒人,手动模式是极力摈弃的,在bash脚本中,在第一行都会进行指定#!/bin/sh
系统默认指向位/bin/bash

ln -sf /bin/zsh /bin/sh

重新指定zsh为默认sh,根据国外大神介绍zsh会自动开启兼容模式,能够完美兼容bash.


TODO: 原来进行android内核编译时刻,我都是开始另一个终端进行bash编译,后续会进行测试,zsh开始模拟模式后编译情况测试兼容性!!!

ISE的软核学习笔记

最近在学习xilinx的ise的microblaze


Day 1:
先玩一个简单跑马灯程序,设置好所有配置后,在SDk中进行run测试的时候跳出提示MicroBlaze is under Reset错误,经过检索发现,在xps的mhs文件内需要将外部端口模块(Parameter)复位模块(proc_sys_reset)时钟(clock_pgenerator)下的几个参数进行修正:

Rst_polarity = 0 or 1
C_EXT_RESET_HIGH = 0 or 1

WPS提示no necessary symbol fonts

系统: centos7 64
软件:WPS 10.1.0.6757


原来在linux系统内进行word文档编译的时候一直是使用google在线文档编译来进行的,其他的office套件都与微软的office兼容性不佳,早期的wps也存在各种小问题.今天发现wps for linux偷偷的更新过了,准备安装一个常常鲜.
官网下载好rpm包后安装分简易.打开还是提示字体缺失(linux因为版权问题无法避免),我们只能手动下载了.
链接: https://pan.baidu.com/s/1IJTAGoe0uqlmb07YLHy0fw 提取码: uht9 复制这段内容后打开百度网盘手机App,操作更方便哦
下载完成后使用以下命令直接安装,PS:一定要wps-office文件夹命名

sudo unzip wps_symbol_fonts.zip -d /usr/share/fonts/wps-office

打开wps后发现无法输入中文

sudo vim /usr/bin/wps       编译器打开wps启动脚本进行编译

在/bin/bash下一行添加以下内容

export XMODIFIERS="@im=ibus"
export QT_IM_MODULE="ibus"

重启后生效