0%

给小白的git配置shadowsocks代理加速教程

先看看加速的效果:

以拉取telegram仓库为例,加速前使用电信直连大概在8KB/s左右,拉完项目不知道何年何月了,下面是加速后的效果,大概是2.57MB/s左右(这个跟你的代理服务器有关,我的代理服务器是30Mbps的),clone个仓库喝口茶的时间都不用。

好了,看了效果就来看如何配置,其实很简单,就两行命令(前提是你已经有shadowsocks并且可用)

1.首先查看本地shadowsocks端口

先查看shadowsocks本地socks端口,windows一般是1080,mac是1086

以windows为例,右键shadowsocks小飞机图标找到编辑服务器就能看到

2.设置git全局代理端口

Read more »

给小白的利用iptables对VPS中转加速shadowsocks教程

问题

❓如果对文章有任何疑问可以提到:https://github.com/zhaoweih/Shadowsocks-Tutorial/issues

前言

”世界加钱可及“这句话说的真没错,这片文章是给追求速度而且愿意花点小钱的大家,一般的shadowscocks搭建就是买个国外服务器然后使用脚本搭建起来,然后这时候你的连接方式是直连的,例如你买的是新加坡的服务器,你的连接路径是你家->新加坡(这里不涉及绕道那些),然后你ping一下新加坡的服务器,如下:

由于不可抗因素,平均在260多毫秒左右,还不算上丢包,上个谷歌都慢,更别说看视频,这时候大伙会说我可以去买个更好一点的服务器,但是这个治标不治本的,再怎么好的服务器还不如来个中转快,什么是中转呢?中转的意思就是你买个国内的服务器(例如阿里云),然后将路径改成你家->国内阿里云->新加坡,这时候你会问这不是绕远了吗,但是服务器国际带宽肯定比家宽大而且快,所以这样一来反而会更快,但是更花钱了(可以自行去对比国内服务器的价格)。

例如我有个阿里云香港的服务器(买不起国内的),因为阿里云不让我搭shadowsocks所以我拿来中转流量,现在我的路径是 家里->阿里云香港->Vultr新加坡

我家->阿里云香港 大约25毫秒左右

Read more »

为什么要使用加密货币支付?

前言

​ 很多人都说有支付宝和微信这么便捷的支付方式,我为什么需要使用加密货币支付?闲的蛋疼?当然,如果你只是用来在街边买点小吃买点东西这些非常合理合法的操作,那用支付宝完全没问题,可是有些情况,例如购买机场翻墙服务器,这种属于灰色地带的东西,用支付宝跟用加密货币有什么区别呢?

匿名性

​ 说在前面,由于许多加密货币交易所都有KYC(Know your customer)认证服务,就是简称的实名认证。许多人又问了,那根本没有匿名啊,该找到你还是找到你。对的,该找到你还是找到你,但是找隔壁老王跟找躲在俄罗斯某处的扣脚恋童大叔的难易程度是一样的吗,加密货币不能保证完全匿名,但是能增加匿名性,让找到你的难度大大增加。下面以一个我们购买机场翻墙服务器为例

一般的机场会提供前面两种支付方式:支付宝和微信,但是好的机场会提供加密货币,例如USDT(一种稳定加密货币,跟美元有1:1挂钩,特别适合用来交易)之类的

那支付宝和微信跟加密货币支付有啥区别呢?

第一种:直接通过支付宝支付

​ 使用支付宝支付的路径 你的支付宝 -> 机场主的支付宝

Read more »

原文地址(原文目前已经被删除 本文属于备份文章 ):如何启用Shadowsocks的多端口

一键脚本默认只会开启单个端口以供使用。之所以这么做,是因为考虑到一般都是个人使用才会自己搭建属于自己的 Shadowsocks 服务端,所以在安装交互的时候,默认只要求输入某个端口即可。但如果你想要小范围内分享,那么你可能需要开启多个端口。 目前主流的四个版本实际上都是支持多端口的,只不过开启的方法不太一样,本文的重点就是写一下针对不同版本的 Shadowsocks 如何开启多端口。

注意:本文是以四合一版的正确安装和使用为前提条件的。

Shadowsocks-Python

Shadowsocks-Python 版的配置文件路径 /etc/shadowsocks-python/config.json,下面以修改该配置文件来说明。 在 Linux 下建议使用 vim 或者 nano 来编辑此配置文件。具体如何使用这两种编辑器,这里不多说明,可自行去搜索相关用法。 Shadowsocks-Python 版多端口配置文件示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"server":"0.0.0.0",
"local_address":"127.0.0.1",
"local_port":1080,
"port_password":{
"9000":"password0",
"9001":"password1",
"9002":"password2",
"9003":"password3",
"9004":"password4"
},
"timeout":300,
"method":"your_encryption_method",
"fast_open": false
}

重点在于 port_password 字段的修改。 你想要多少端口就添加多少端口,注意需要符合 json 格式,里面的最后一行后面是没有英文逗号的,整个大括号的最后需要有一个英文逗号。 修改完成后,保存配置文件,重启之。命令如下:

1
$ /etc/init.d/shadowsocks-python restart

ShadowsocksR

ShadowsocksR 版的配置文件路径 /etc/shadowsocks-r/config.json,下面以修改该配置文件来说明。 ShadowsocksR 版多端口配置文件示例:

Read more »

原文地址:https://github.com/zhaoweih/Shadowsocks-Tutorial/blob/master/super_easy_shadowsocks_tutorial.md

给小白的超简单shadowsocks翻墙教程(备用教程)

问题

❓如果对文章有任何疑问可以提到:https://github.com/zhaoweih/Shadowsocks-Tutorial/issues

前言

由于秋水逸冰大佬的退出,所以旧教程使用的一键安装shadowsocks脚本可能在未来的某一天也不管用了。出于这个原因,我又写了一篇文章用来给大家作为备用教程,这篇文章使用的是Google Jigsaw团队制作的同样也是shadowsocks的一键脚本,由于是Google制作,所以迫于某些压力退出的可能性不大,个人认为可以作为长期的备用教程。

开始

购买VPS服务器

俗话说,万事起头难。想想倒也是这样,也不是说购买VPS服务器有多难,是接受它比较难,我当时也是一个还没买过服务器的小白,对于第一次尝试的东西都没有底,怎么敢随意下手。好了,你现在可以放心了,据我使用,Vultr和DigitalOcean这两个服务商都是可以随时部署随时摧毁服务器,是按每小时计费的,一个月是5美金,大概0.007美金一小时,就算你创建一个服务器IP刚好是被某墙屏蔽了,那就删掉也只是扣0.1美金,作为一个穷学生的我都能接受了,你还犹豫吗?

1、注册并登录

Read more »

原文地址:https://github.com/zhaoweih/Shadowsocks-Tutorial

全部文章目录

🚀安装成功后如果想加速Shadowsocks的小伙伴可以看看我这篇文章给小白的kcptun加速shadowsocks教程(效果很明显)

如果过程中出现问题无法解决可以尝试备用教程,或者发送邮件到我邮箱zhaoweihao.dev@gmail.com 或者提issues

前言

为什么要做这个库?因为有句话说“不会翻墙的程序员不是好程序员”,但是某些原因,翻墙可是越来越难了,我之前是用某灯,但是自从上个月开始某灯也不稳定了;我还以为可以和某灯相宿相飞一段时间的,后来就投靠了Shadowsocks了,为什么会选择Shadowsocks呢,因为可以自己搭建服务器,不再受牵制,而且由于是个人服务器被封IP的几率也不会很大;当然你也可以和自己信任的人共享使用,但是Shadowsocks的教程网络上真是参次不齐,很容易误导那些只想翻墙而不是要了解它原理的人,所以我就蹦出个想法:做个几乎是一键式的傻瓜Shadowsocks(以下简称ss)搭建教程给小白们,让大家都能共享自由的互联网。

开始

购买VPS服务器

俗话说,万事起头难。想想倒也是这样,也不是说购买VPS服务器有多难,是接受它比较难,我当时也是一个还没买过服务器的小白,对于第一次尝试的东西都没有底,怎么敢随意下手。好了,你现在可以放心了,据我使用,Vultr和DigitalOcean这两个服务商都是可以随时部署随时摧毁服务器,是按每小时计费的,一个月是5美金,大概0.007美金一小时,就算你创建一个服务器IP刚好是被某墙屏蔽了,那就删掉也只是扣0.1美金,作为一个穷学生的我都能接受了,你还犹豫吗?

1、注册并登录

Vultr推荐链接:https://www.vultr.com/?ref=7370522

Read more »

今天花点时间重新看了下郭大的《第一行代码第二版》中四大组件,复习了下四大组件的基础知识,顺便做做笔记

四大组件之Activity

活动其实最基础的就是生命周期(Life Cycle),一开始学习时感受不到生命周期的意义,后面做的项目越来越多的时候就体会到生命周期的意义了,
也借这个篇幅说说Activity生命周期和最佳实践,说生命周期最好就是实践得真知了,具体什么时候什么方法被回调,最好亲身体验一遍。

生命周期

完全遮挡

  1. 当第一个Activity第一次启动会依次执行 onCreate()、onStart()、onResume()。

  2. 启动第二个Activity时完全遮挡第一个,第一个会执行onPause()、onStop()。

  3. 按下Back键回到第一个,第一个会执行onRestart()、onStart()、onResume()。

未完全遮挡

  1. 第一个Activity启动后,弹出一个对话框,第一个会执行onPause()。

  2. 对话框消失后,第一个会执行onResume()。

退出

  1. 第一个Activity点击返回键退出程序,会执行onPause()、onStop()、onDestroy()。
Read more »

这是系列的第二篇,这次主要介绍EventBus的配置和简单使用

先来看看官方的介绍:

EventBus is an open-source library for Android and Java using the publisher/subscriber pattern for loose coupling. EventBus enables central communication to decoupled classes with just a few lines of code – simplifying the code, removing dependencies, and speeding up app development.

翻译:EventBus 是一个为了解耦而生的开源的Android和Java库,使用发布者和订阅者模式。EventBus用几行代码来实现中央通讯去解耦各个类 - 简化代码,去除依赖,还加快APP开发效率。

好了,官方说明好像说的挺厉害的,那到底对于初学者来说EventBus能用在些什么地方呢?现在先来假设一种情况,你的某一个Activity中的Fragment中的Fragment想去执行另外一个Activity中Fragment的方法,这时候该怎么办,该是用Fragment和Activity通信去干吗?唔,也许可以,但是你得想想,这时候就要Fragment和Activity通信,然后Activity再和Acitivyt通信,最后Acitivy和Fragment通信,似乎有些复杂。。。,或许可以使用接口,或许可以使用广播,但是代码都不会少,而且都会有些复杂。

这时候EventBus就可以横空出世了,接下来就来看看用EventBus怎么做吧,当然EventBus的用武之地肯定不止这些,靠大家自己去想象吧。

配置

先在 app/build.gradle中添加

1
compile 'org.greenrobot:eventbus:3.1.1'

EventBus 三部曲

1.定义事件:

Read more »

这个系列会将我平时使用的Android一些流行第三方库拿出来简单讲解一些使用方法和应该在什么时候使用

希望能帮助到更多处在Android初学阶段的朋友们

第一篇先来讲解一个很常用也很好用的View注入框架–黄油刀,这是由著名的大神JakeWharton创作的。虽然现在Kotlin语言在Android端对View绑定的优化使得黄油刀没有在Kotlin中应用的必要(属于后话了),但是在仍在使用Java语言开发的项目中加入这个框架开发效率可谓是如鱼得水啊,非常重要一点是这个框架的加入对性能上是不会有影响的。

ButterKnife项目地址:https://github.com/JakeWharton/butterknife

简单使用

  • 第一步 在app/build.gradle中 添加依赖
    1
    2
    3
    4
    dependencies {
    implementation 'com.jakewharton:butterknife:8.8.1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
    }

配置ButterKnife很简单,下面先来简单尝试下ButterKnife的简便吧

  • 第二步 使用

首先先来回顾一下在之前我们如何使用按钮的:

在Activity onCreate()方法中:

1
2
3
4
5
Button button = findViewById(R.id.submit);

button.setOnClickListener(v -> {
// 这里是点击按钮后的操作
});

Read more »

由于旧域名要过期了,五月份就要过期了,所以去狗爹搜了下发现.com居然可以买,而且续费还比.me便宜,就果断从.me更换到.com,我的博客网站由zhaoweihao.me更换到zhaoweihao.com,发篇文章纪录下。

Read more »