KKDEV - Shelikhoo 's Personal Blog


Be chosen to change the world.


关于V2RayNG在Play商店上的开发者帐号变更为其UI部分开发者的声明

在未来的一段时间内,V2RayNG在Play上的开发者将变为其UI部分开发者所拥有的帐号CaptainIron (Telegram用户名为:d4boy)。 本次转移的原因在于这位开发者希望在其的App中加入应用内支付,而这需要开发者拥有自己的Play帐号并设置自己的支付方式。 在本次转移完成后,应用的开发者将显示为CaptainIron,而我将不再拥有对其商店描述和上架程序的管理权限。 由于我已经不再管理此程序的上架信息,请将您在使用这个程序的时候遇到的问题反馈给CaptainIron(Telegram: d4boy)。 同时,由于不再管理此程序上架的程序文件,这个程序的功能和安全性不会拥有来自我的背书和承诺,我也不会为此应用的行为和内容负责。 您在购买或订阅了此App内的服务时发生的交易不直接和我产生关联,您不应该期待来自我的功能和稳定性更新 ,也不应该以在此应用的付款的情况期待来自我的服务和支持。 此后,V2RayNG的更新将由其的开发者完全控制,而其的开发者应该自行处理来自其用户的相关反馈和支持请求。 这包括Telegram群组和来自其他渠道的和V2RayNG有关的求助和问题解答, 请不要对于和其有关的内容以包括但不限于私聊,@和或其他提及的方式请求和期待我的支持。 在AGPL协议的许可范围下,其开发者可以继续使用来自我的libv2ray并得到其的功能和稳定性更新。 这意味着V2RayNG将必须继续保持开源,公布源代码并允许来自其他人的修改和分发修改版的程序。 每个开发者开发程序都需要有自己的动机和动力,有些开发者可能愿意在不接受任何形式的报酬下开发并共享程序, 但是更多的开发者需要金钱的驱动才会持续不断为用户提供高质量的程序。 缺少利益支持的任何活动都不可能长久持续,尤其是极其枯燥且需要特殊的工具和技术才能完成的软件和或硬件开发工作。 希望大家不要对开发者决定加入收费功能的决定做出过多的负面评价,每一个都要为一个原因而努力 ,而金钱则是对于很多人来说最容易接受的原因,也是最容易让他们感到自己工作的意义的方法。 对于他们来说,这是对于他们使用自己的周末和夜晚甚至是午休和 课间在电脑和手机前对着一个枯燥的界面和晦涩难懂的术语挥洒自己的时间的最好的理由 (P.S.:不过V2RayNG开发者貌似是在工作地点摸鱼进行开发, 并没有使用自己的私人时间,可能并不适用上面的描述23333333)。 Update: 已经提交了转移申请,可能需要几天的时间才会生效。 Shelikhoo

V2Ray RFC: V2Ray Pipe Transport Proposal

V2Ray is designed to be a flexible network tool for developers. However, in term of developer friendliness it have suffered a bad reputation as being hard to master both for user and third-party developers. Here, I would like to propose a new stub transport that is intended to reduce the difficulty for developing a transport for V2Ray, and remove the necessity of commitment for development. Pipe transport use operating system’s fork and/or unix domain socket capability.

Designing A QR Code Scheme For V2Ray

Scanning QR code to import configure file from computer have been a wanted feature for a long time, but only until very recently, such a possibility were aroused to implement such a functionality. Before LibV2Ray write a universal, future proof, multipart enabled QR code. Multiply attempt by third-party developer was made to create a QR code representation for a configure file. All previous version of QR code solve all problems they face at that time very successfully, but still at the expense of some problem not significant in their eyes.

V2RayGO Privacy Policy

V2Ray Team, LibV2Ray Team and V2RayGO Team respect your privacy. V2RayGO do not include any tracking library or service from third party purposefully, but could use third party service to improve your experience. V2RayGO might or might not collect your device identification info, hardware and software info, cash info, and network info, but we will request your consent before upload them to our sever. User can refuse to upload any of these information to our server and continue to use the a limited set of function of our software, once you have consent our upload we will keep uploading indefinitely.

#Classify and discriminate network traffic to enable partial global proxy in Linux using cgroup,iptables,redsocks

Some of my friends ask me to play minecraft with them. “Great!”, I said as minecraft can be running natively in Linux, which is a prerequisite for me to join. No Longer before I downloaded it, I encounter a problem, it doesn’t honor system’s proxy setting and will not run unless it can contact its server and Internet on my computer is provided by a socks5 proxy. While a VPN can do the work without much exploration, I decided to seek a way to solve this problem in a more elegant way.

$I am a pro-encryption

Firstly, happy to see you again. For past few months, this blog have been frozen as I was as busy as have little time to doing stuff for myself. As you might have already noticed, from now, this blog will be written in English. This adjustment was due to the variety of font I can choose once I wrote in English. In this article, I will talk about the recent debate on encryption and how it related to you.

$内存其实并不用清理

现在,很多人的电脑上都有一个小泡泡,实时的告诉自己到底还有多少内存。但是你真的了解内存么? 电脑中有多级存储机制,一般的说,读取的速度越快,存储的容量越小。CPU寄存器和缓存,内存,硬盘,(其实还有),就是电脑的多级存储得成员。其中,内存和之前的存储介质中存储的内容在电脑关闭后会自动消失(可以这样认为),因此我们大部分的数据都保存在硬盘之上。 但是硬盘的速度并不快,为了保证程序的流畅运行,电脑会将程序在近期需要的数据加载到内存,程序在读取文件内容时可以直接到内存,而不是硬盘读取。因此提高了电脑的运行速度和减少可响应时间。 内存,只要电脑一启动完毕,就会被系统自动的加载数据,比如程序可能会用到的文件,而程序,也可以向系统申请内存。结果是,在正常运行的现代操作系统上,闲置的内存非常少。 内存中预加载的文件并不会和程序抢占内存,程序要求内存时,操作系统可以直接将已经预加载文件的内存交给程序,尽管预加载的文件没有用上但是实际上也没有损失。 因此,内存对于操作系统是一个不用白不用,用了也白用的地方。 但是,当运行的程序过多时,也会出现内存确实不够用的情况,这时就会将程序的不常用内存放到交换分区(页面文件,虚拟内存)中来防止系统因为内存不足而崩溃。但是因为交换分区在硬盘,访问速度比内存差很多,在可能的情况下,一般不将程序的数据放在硬盘中。 好,到最后,为什么内存不用清理呢? 清理内存是先让系统给自己分配很多内存(文件白预加载了),将其他的程序都挤到交换分区(这些程序的运行速度变慢了),之后释放掉自己多请求的内存,让内存闲置下来。 不久,随着其他程序又运行,毕竟是需要经常访问的内容,程序数据会返回内存,直到下一次内存清理。 内存这种东西,空着也是空着,不如多用用好。当遇到因为内存不足而导致的电脑速度慢时,应该减少运行的程序或增加内存的大小,而不是使用软件来降低内存利用率。

#为什么电脑运行的很慢

在这篇文章中我主要想大致的说一下电脑运行慢的原因及相应的对策。 首先要考虑的问题即是内存是否过小的问题。 对于内存的大小是否已经对电脑的运行产生影响的最好的判定方法是检查电脑页面错误(page fault)的数量,其中 Major page fault 对电脑性能的影响最为显著。 Major page fault 在程序访问一块目前不在物理内存上的逻辑内存地址时发生。为了保障系统的稳定运行,现代操作系统在硬盘上划出个区域作为页面文件(交换分区/文件),当内存不足时,将不活跃的程序的内存中的数据置出至硬盘中的相应区域,将物理內存留给活跃的程序。防止物理内存不足以至必须结束一些程存才能保持运行的情况。当一个程序的内存被置出到硬盘后,这个程存仍有可能运行,这时如果这个程序要访问一块己经置出到硬盘的内存时就会发生Major page fault ,这时这个程序将被内核接管,程序的执行中断,就算时间片还有也必须等待其所要访问的內存完成加载之后才能继续运行。对于这段时间一般不会很长,但是当多次此类行为发生时,就会表现为程序运行不流畅。 使用ps -aux -o main_flt,maj_flt 查看页面错误情况。 其次,影响电脑运行速率的因素还有当前CPU,硬盘的负载情况。绝大多数程序都能对于较慢的网络做出应对,但是当其他的处理设备运行较慢时并不能给出合理的提示。 使用iostat命令查看当前的硬盘使用状态,使用htop监视CPU的使用情况。 同时,还有一些容易被忽略的因素同样对系统的性能有影响,就是系统中存在的函数钩子。杀毒软件和其他希望控制系统的运行的程序会通过函数钩子完成对系统的控制用来实现一些其他方式无法达到的功能。 函数钩子即让程序在调用系统调用(也可以是其他程序的函数)之前或之后运行一段代码,并由这段代码决定是否继续这个调用。这个功能被杀毒软件用来阻止病毒,在病毒保证杀毒软件在病毒运行之前有机会阻止其的运行,但是在这个过程中也耗费了时间。通常,这段时间不是很长,但是如果这个功能被滥用,有过多的钩子时,系统的运行速率会显著下降。因此应该只安装一个杀毒软件,不要安装多个。安装多个杀毒软件并不能提高杀毒效果。 在进行非3D显示时,显示卡性能对电脑的影响并不显著。 Edit: 在电脑散热出现问题时,CPU和自动降频,这时电脑速度会有显著降低。Thanks for feedback from XiaoLan

$Par2文件的故事 和 #如何使用par2工具

Par2文件是用于修复文件中出现的损坏数据的文件类型。 Par代表 Parity Volume Set Specification。 历史 在Usernet时代,当时的人会Usernet上分享一些文件,无论是当时的网络还是现在的网络在稳定性上都有极大的问题,因此下载到的别人分享的文件时常会有问题。当时的网络速度很慢,再下载一次的过程很漫长而且相当烦人。当然最烦人的当属上传的时候就有问题,再下载还是错的,只能要求对方再发一次。这个问题困扰了很多人。 直到Par2文件的出现(之前还有一种Par文件,不过因为时代过于久远,不再介绍) 简介 Par2通过Reed–Solomon算法,计算出被保护文件的恢复数据。当文件下载完成后,先利用不包含恢复数据的par2文件校验,在校验完成后能够给出需要的恢复文件块数。只要根据需要下载需要的恢复数据即可。 要是恢复数据也出错了怎么办?不用担心,仅仅是恢复数据有错误的一部分不能用,其他没有错误的部分还能继续用。 当然,可以任意指定恢复数据的大小和数量(当然是恢复数据越大能恢复的数据越多了) 用法(高级) 在Linux下,使用par2工具就可以轻而易举的创建par2文件,并利用par2文件和其他恢复数据对文件进行恢复。 par2 c : 创建par2和修复文件 par2 v : 验证文件的完整性 par2 r : 利用par2文件和恢复数据对文件进行恢复 -r 指定恢复数据的最大恢复比例 还有更多的选项,在安装par2后使用man par2命令查看

心灵碎片 0x000000000000000

心灵碎片是我临时想到,但是却没有机会扩充成长文的只言片语。 这些心灵碎片记录了当时瞬间的想法,或者长时间的处境。 也许这些碎片看似毫无逻辑,但是每个都有自己背后的故事。 下面是些碎片的一部分: 人在出生时会哭是因为他刚刚发现自己没有羽翼 珍惜每一次告别,因为,有时一别便是一世。 我们的的努力到头来都是为了保护自己所喜爱的事物不受到伤害。 程序员都喜欢自称屌丝,经常抱怨自己的待遇不够好,自由的时间不够多。据说做平面设计的人从来都不会抱怨自己的工作,原因很简单,他们没有时间抱怨。PS:如果你觉得ps很酷的话,快点悔改吧。 所谓人权天赋,不过是先设后证而已,具体的实现还是要靠自己的。 创意:科学执政令 为了推行科学执政,某政府下令所有的讨论都必须以科学定理为基础,而凡事有科学定理支持的事物都必须采纳,在命令发布到废除的一天里发生了许多的笑话。 我早已知道,这个世界上并没有真正可以称为永恒的事物。我们不过是为了满足自己的遐想,假定一个事物没有自己的时限。热力学第二定律告诉我们,这个世界上的一切都将归于混沌,因此,我们要做的并不是留下丰功伟业,而是带走自己在这个世界的体验。 有一次去吃麦当劳,服务员问我要不要玩具,我说不要,我补上一句,我已经长大了。服务员:有很多大人也要。我笑而不语。 小学时,我的老师经常说我偏激,总是关注生活的阴暗面。有一天,一个同学从作业本上撕下一张纸,在上面点上一个黑点,问我看到了什么。我的回答:很多的平行直线段。 有时,一个回眸成为永远的回忆。 童话与现实的区别就在于童话在恰到好处的地方画上句号。 本人的绝技:将简单的事情变复杂 (整理的时候加一句,能够拖延是为了延长和那个人的接触时间,我是可以把问题变得十分简单的) 法律本身并不代表公平和正义。就像冰块不会比制作它的水干净一样,法律不会比制定它的过程更加公平,也不会比它的执行者更正义。 (造化弄人)冥冥中,有一种自己是上苍的玩偶的感觉 软件开发中的问题主要出在了,你想象的”应该”和实际上的”其实”不同 突然就觉得有些事情还是越远越好。 因为到最后你需要做出这样的选择。 伤心无改世,静思还向前 每人都有自己的伤心事 在讲完任何权威试图审查内容都会得到相反的后果的文章后,我的英语老师告诉我们不要像文章中那样做。 我这个人控制欲特别强什么都想掌握,有一次买了一堆不透明的笔芯,看不到还有多少墨水,特别难受,于是就又买了一支激光笔,通过往里面照了解还剩多少墨水,yyyyyyyyy。 我逃避开始因为每一个开始都意味着结束。我害怕结束,就像害怕开始一样。 我经常会遇到觉得题出错的时候,当然,统计信息显示,这个时候是我算错了…… 我们是宇宙的火焰 海棠花开 如果你想选择选择电脑系专业。有些大企业的价值观和互联网的主流不符,在选择时需额外注意。 不要去追逐黄昏,在你回眸的一刻,我将老去。(整理的时候加一句,要正确理解,需要考虑加速度导致的广义相对论效应)

Archive