Posts Tagged with msn

Adium SVN with MSNP14


这几天一直在折腾im, 今天终于搞定了adium svn + libpurple with msnp14, 大致过程如下

1. 下载pidgin的source

    题外话: 现在的版本控制工具真是让人眼花缭乱, 在学校的时候用cvs, 上班了由于项目需要又在用perforce, 后来东京公司这边还有google code, sf等等都流行svn, 然后折腾pidgin的时候用msn-pecan插件, 是用的git. 再到后来下pidgin的代码, 又冒出个monotone...

    像上面写的, 下pidgin的source需要用到monotone, 所以需要先到官方下个monotone来.

    参考pidgin的wiki下载pidgin的代码, 但是需要把最后一句

        mtn -d $DATABASE co -b im.pidgin.pidgin $WORKINGDIR

    改为

        mtn -d $DATABASE co -b im.pidgin.pidgin.next.minor $WORKINGDIR 

2. export PIDGIN_SOURCE=$WORKINGDIR

3. 下载adium source

    svn co svn://svn.adiumx.com/adium/trunk

4. cd trunk/Utilities/dep-build-scripts

    python download.py `cat urls.txt`   (仅限10.5或者python不低于2.5.1的时候, 其他情况需要用wget)

    ./general_dependencies_make.sh

    ./purple_dependencies_make.sh

    修改purple_make.sh, 在139行--disable-dbus 之后加入 --enable-msnp14

    ./purple_make.sh

    ./universalize.sh (可以不用理会cp命令的错误)

    ./make_po_files.sh

    ./copy_frameworks.sh

5. 用xcode打开Adium.xcodeproj, build

6. 遇到的问题:

    注: 可能会根据pidgin源码的更新而不同, 编译或运行时出错请参照:

    1) msn_got_photo重复定义.

      其实是msn_got_photo函数的定义和声明不一样

      cd $WORKINGDIR/libpurple/protocols/msn

      编辑msn.c, 找到1741行

        static void msn_got_photo(PurpleUtilFetchUrlData *url_data, gpointer data,
              const gchar *url_text, size_t len, const gchar *error_message);

      修改len的类型为gsize

        static void msn_got_photo(PurpleUtilFetchUrlData *url_data, gpointer data,
              const gchar *url_text, gsize len, const gchar *error_message);

    2) adium连接msn, 停在Authentication (75%)

      貌似msn的连接服务器有所变动, 而libpurple对返回的redirectUrl的soap消息处理有问题, 懒得修代码了, 直接改:

      修改nexus.h

      找到30行, 修改

        #define MSN_TWN_SERVER        "login.live.com"

      为

        #define MSN_TWN_SERVER  "msnia.login.live.com"

      35行

        #define TWN_POST_URL                    "/RST.srf"

      为

        #define TWN_POST_URL                    "/pp550/RST.srf"

      尽管这样可以连到服务器, 但是在接受下一个服务器消息的时候会出错, 所以还需要另一个patch, 详细可以看pidgin的trac

7. 至于为什么费老劲了去上msnp14, 主要是支持个性签名 #$"&$'"#$#! , 据说也可以支持离线消息了, 不过还没试过

嗯...下一步干什么呢, 有空写个msn-pecan的adium插件吧, 大致看了一下代码, 因为是libpurple的插件, 所以接口都和pidgin的msn protocol的plugin差不多, 照着msn的adium插件写应该不是难事吧. 不过奇怪为什么这么就了还没有人写一个出来, 莫非大家都不屑于? 其实个人觉得msn-pecan要比pidgin目前维护的msnp14好

顺便, 实在懒得自己动手的, 可以点这里下载:

Adium SVN 2008 05 29 with MSNP14

用iChat / Goolge Talk上MSN


用Jabber上MSN也不是什么新鲜东西了, 不过鉴于今天头一次实验, 暂记一篇

原理很简单, 通过一些支持MSN Transport服务的Jabber服务器在MSN与Jabber消息之间做个转换, 所以我们需要一个能够支持MSN Transport服务的Jabber服务器. 服务器不同对msn的支持程度貌似也不同, 比如Personal message等等. 我用的是 jaim.at, 当然还有其他很多选择, google一下就ok

  1. 找一个Jabber客户端, adiumx (Mac), psi (Win, Mac...) 都可以, 但是iChat不行. 我这里用adiumx.
  2. 希望把msn联系人导入到google talk帐户的, 准备好一个google talk帐户, 在adiumx里添加google talk帐户并跳转至第4步
  3. 打开Adiumx, 选择菜单 File -> Add Account -> Jabber
    在新对话框中选择 Register New Account, 紧接着会弹出一个对话框来选择服务器, 在Server里输入 jaim.at, 选择 Request New Account. 新对话框中输入喜欢的用户名以及密码, 点击Register
  4. 用Google Talk / Jabber帐户登录, 打开Adiumx的Preferences, 在Account列表中右键点击Google Talk / Jabber帐户, 选择Discovery Browser
  5. 用Google Talk的需要在新对话框中的Service里填入jabber服务器地址, jaim.at, 然后回车
  6. 紧接着会列出很多该服务器支持的服务列表, 找到MSN Transport并双击
  7. 输入msn帐户的用户名和密码, 选择Register
  8. 之后马上会收到来自服务器的消息以及所有msn好友的验证请求, 全部都选Authorize之后便OK

注:

  1. 原本名为 xxx@hotmail.com 的好友会变成 xxx%hotmail.com@msn.jaim.at
  2. 不仅限于msn, 通过jabber服务器还连yahoo messenger, qq等等等等

MSN for Mac 7 !? 6.1才对


很早就听说Micro$oft在计划一个超强版本的mac版msn, 说是超强, 其实就是实现了win版的全部功能的一个东东.

今天看到新闻讲MSN for Mac 7发布了, 狂喜, 看看features

  • 加入了与其他用户和Windows Live Messenger用户之间的视频语音能力 (仅限Corporate用户)
  • 支持作为Office Communications Server 2007的客户端使用,并且可以通过它进行多方视频通话 (仅限Corporate用户)
  • 支持苹果Bonjour mDNS技术,能够自动搜索到同一局域网内的在线用户并直接连接 (仅限Corporate用户)
  • 不支持离线消息

总而言之, 对于个人用户而言, 除了图标以外基本和6.0没什么差别, 版本号居然跨度到7…

去除 MSN 8 的共享文件夹


没用的东西,今天路过 贝林格 ,看到这个方法,顺手删了

开始-〉运行-〉regsvr32 -u "C:Program FilesMSN Messengerfsshext.dll"

The world is clear.