恢复访问

前段时间服务器挂掉了,一直没空搞,这两天抽空重新安装了下,并尽最大可能恢复了数据……

顺便注册了个新的域名 nulldata.io ,顺便折腾了是 ssl 证书……

貌似最近两年都不流行写博客了,看到蛮多朋友的博客都停止了更新……我的笔记都记到印象笔记里面了……

C# / MVC 中使用 LDAP 验证

LDAP全称是 Lightweight Directory Access Protocol,中文名称:轻型目录访问协议,广泛用于统一认证。

下面实现了简单的用户名、密码验证:

using System;
using System.Collections.Generic;
using System.Text;
using System.DirectoryServices.Protocols;
using System.Net;

namespace com.hetaoos.Authenticator
{
    /// 
    /// Ldap 验证
    /// http://blog.hetaoos.com
    /// 
    public class LdapAuthenticator
    {
        /// 
        /// Ldap 验证
        /// 
        /// 服务器
        /// 帐号
        /// 密码
        /// 是否验证成功
        public static bool ValidateUser(string domain, string userName, string password)
        {
            bool validation = false;
            LdapConnection ldc = null;
            try
            {
                ldc = new LdapConnection(domain);
                //ou=Users,ou=tempusers,ou=staff,dc=guet,dc=org  这串玩意要改为自己的
                NetworkCredential nc = new NetworkCredential(string.Format("uid={0},ou=Users,ou=tempusers,ou=staff,dc=guet,dc=org", userName), password);
                ldc.AuthType = AuthType.Basic;
                ldc.SessionOptions.ProtocolVersion = 3;
                ldc.Bind(nc);
                validation = true;
            }
            catch { }
            finally
            {
                if (ldc != null)
                {
                    ldc.Dispose();
                }
            }
            return validation;
        }

    }
}

PS:
需要添加以下引用:

System.DirectoryServices
System.DirectoryServices.Protocols

调用很简单:

bool authenticated = LdapAuthenticator.ValidateUser("ldap.hetaoos.com", "null", "hetaoos.com");

C# 泛型的一些特殊使用

关于泛型的介绍和基本操作,可以参见 MSDN,以及各种博客文章:C# 泛型简介泛型介绍(C# 编程指南),这里就不再赘述。

下面是要用到的泛型:

    internal interface IStack
    {
    }

    public class Stack<T> : IStack
        where T : new()
    {
        public T Value { get; set; }
    }

    public class IntStack : Stack<int> { }

    public class DoubleStack : Stack<double> { }

继续阅读“C# 泛型的一些特殊使用”

路由规则生成器[C#,Open Source]

使用方式及原理:http://code.google.com/p/chnroutes/

因为一些众所周知的原因, 来自中国大陆的网民想要访问非本国资源时总会那么的不方便, 这促使了海外vpn供应商在中国的繁荣. 使用海外vpn访问已经成为一些需要经常访问海外资源的中国网民的必要装备. 但通常这些vpn都是有流量限制的, 除此之外一些中国内部的资源也限制海外的ip访问. 本项目的就是提供一些启动脚本给vpn用户, 在vpn拨号之后修过路由表,让他们在使用vpn访问国外资源的同时, 能用非vpn线路高速访问本国资源.

Due to well-known reasons, it's always inconvenient for Chinese netizens and foreigners who live in China to access information physically outside of China via internet. Timeouts and connection resets are the most common results you will get when you trying to visit websites that are hosted in other countries. That leads to the growth of a new business which is called climb-the-wall or crack-the-wall. That is to use some kind of technologies such as encrypted proxy and VPN to bypass censorship. This project is created for those who uses VPN to combat censorship. It will generate some shell scripts to modify the routing table to split the chinese and non-chinese IPs. This gives VPN users the best experience by keeping domestic traffic efficient and only sending request through the VPN that need to.

上面提到的网站提供了 python 的脚本,本人运行不成功,估计是 python 的版本问题。懒得折腾,就自己写了个生成器。

使用 VS2010 .NET Framework 4.0 编写

[download id=”9″]
[download id=”10″]

破解 Android Market 的区域限制-运营商伪装/Market Faker v1.1.2

2011/11/02 V1.1.2
1,界面微调

2011/11/01 V1.1.0
1,增加自定义运营商选项
2,增加自动伪装功能,先设置一个预设运营商,然后点击菜单键选择“启用自动伪装”,即可启用。
3,增加英语

Android Market 电子市场 会根据运营商的不同,而呈现不同的应用列表,身在天朝,有着深刻的体会:
1,搜索”Google”,谷歌地图,Gmail 并未出现在搜索结果中。
2,查看不到没有任何手收费应用。

之前在网上找到个免费的 Market Enabler ,但这个东西有个问题:
1,系统启动后,必须要在电子市场运行之前操作,不能即时切换
2,有广告

后来更具他的源码及帮助,找到了相关的原理 Android market switch 继续阅读“破解 Android Market 的区域限制-运营商伪装/Market Faker v1.1.2”

IP Client for Android 2.2+

2016/09/01 V3.7.3
更新桂电的服务器地址

2014/08/26 V3.7.1
1,增加旅专支持
2,第一次启动的时候弹出服务器选择。

2014/08/10 V3.7
改善稳定性。强烈建议更新。

2014/06/02 V3.6
增加主题切换(黑、白)

2014/05/20 V3.5
1,使用原生协议
2,支持 Android 2.2-4.4+ (ARM,x86,MIPS)
请到电子市场下载

2012/12/21 V2.0.0
1,重写了控制代码
2,支持桂电/师大/自定义的服务器(在菜单/设置里面选择相应版本)

2012/05/17 V1.2.2
增加广西师范大学版本

2012/02/02 V1.2.2
1,支持 Android 4.0
2,增加待机后退出选项,并移除自动重连选项(内部开启)
3,优化验证码识别
4, 界面支持滚动

2011/10/25 V1.1.0
重写刷新方式,待机也不掉线。

2011/09/19 V1.0.3

与网站同步更新。

2011/03/01 V1.0.2

1,增加掉线重连设置,更稳定
2,后台运行时显示状态栏图标
3,修正几个小错误
4,增加签名

注:由于添加了签名,必须卸载掉老版本才能安装这个。(原来的是测试签名,和现在的个人签名不同,无法覆盖安装)
继续阅读“IP Client for Android 2.2+”

返璞归真,直接用 TcpClient 请求 Web 网站资源

在 C# 中,想获取Web网站上的网页或者下载其中的文件,非常方便。有三种常见方式可以使用:WebBrowser、WebClient、WebRequest,WebBrowser 不仅可以获取到网页的内容,还可以呈现出来,当然还支持 Cookies;WebClient 提供多种请求方式,满足大多数要求,但默认没有支持 Cookies,要继承修改下才得;WebRequest 几乎可以完全自定义,应用更灵活。
继续阅读“返璞归真,直接用 TcpClient 请求 Web 网站资源”