Skip to content
/ yancha Public

yancha is Yet Another Nerwork CHAt. (old name yairc) by Hachioji.pm

Notifications You must be signed in to change notification settings

uzulla/yancha

Folders and files

NameName
Last commit message
Last commit date

Latest commit

68cd3c9 · Dec 20, 2015
Nov 9, 2013
Jun 16, 2012
Dec 20, 2015
May 28, 2013
Dec 20, 2015
Feb 14, 2014
Jan 21, 2014
Apr 5, 2013
Oct 9, 2013
Aug 31, 2014
Sep 29, 2013
Oct 14, 2013
Oct 14, 2013
Nov 10, 2013
Nov 7, 2013
Oct 14, 2013
Oct 14, 2013
Dec 20, 2015
Dec 20, 2015
May 27, 2013
Dec 20, 2015

Repository files navigation

yancha Build Status

yancha (旧名yairc) はログの保全、リアルタイム性、モバイル端末への対応を重視した、Perlで作成されたチャットシステムです。

サンプル http://yancha.hachiojipm.org:3000/

サーバサイドはPerl、クライアントサイトはHTML+JSで作成され、PocketIOによりWebsocketで通信しています。

yanchaの目標

IRCなどの不便な点をカバーするチャットシステムを作る事です。

具体的には

  • ログの消失 → 全件をDBに永続保存
  • 多チャンネル接続時の一覧性 → チャンネルではなく、ストリームとタグを採用
  • 高度な引用方法 → コード貼り付け時のシンタックスハイライトや、インライン画像表示など
  • セキュリティ → 認証によりユーザ詐称の回避、通信の暗号化
  • モバイル端末への対応 → スマートフォン対応
  • 外部連携 → 利用しやすいAPIを用意
  • ログの再利用 → チャットログの引用機能
  • 外部SNSとの連携 → retweet的機能

などが目標となっています。 (上記は実装中や、構想段階で実装されていないものも含みます)

サーバサイド動作環境

Perl 5.12以降(サンプルサイトは5.14で運用しています) 必要なモジュールは Makefile.pl を参照下さい。

クライアント動作環境

  • Websocketをサポートするモダンブラウザ(Chrome,Firefox等)
  • iOS5以降、MobileSafari(iPhone/iPad)
  • Android 2.3以降、Webview等

インストール方法

  1. $carton install を実行して下さい
  2. [DB に MySQL を利用したい場合] $carton install --cpanfile cpanfile.mysql を実行して下さい
  3. データベースを用意し(現在はMySQL、SQLiteに対応)、db/init.sql(init_sqlite.sql)にて初期化を行って下さい。
  4. config.pl.sampleをconfig.plにコピーし必要な情報を設定下さい。最低限DB接続情報の設定が必要です。
  5. start.shを実行することで起動ができます。

備考

start.shを以下のように記述することで、各種ログが取得出来ます

#!/bin/sh
export POCKETIO_CONNECTION_DEBUG=1
export YANCHA_DEBUG=1
twiggy -l :3000 --access-log access_log chat.psgi >> yancha_log 2>&1

よくある質問

Q. yanchaを起動できたけど、どうすればTwitterでログインできるの?

A. まず http://dev.twitter.com/ に行って、アプリケーションの登録を行ってください。 その際、Callback URL というものを入力できる箇所がありますので、

(あなたのサーバ上のyanchaのURL)/login/twitter 

を指定してください。

例: yanchaのURLが "http://isu.mohikan.example/yancha" であれば、Callback URLは

http://isu.mohikan.example/yancha/login/twitter

となります。

アプリケーションの登録ができたら、config.plでConsumer Key および Consumer Secret を以下のように設定します。

'server_info' => {
    
    ... 中略 ...
    
    auth_endpoint => { 
        
        ... 中略 ...
        
        '/login/twitter' => [
            'Yancha::Auth::Twitter' => {
                consumer_key    => 'ここにConsumer Keyを入力',
                consumer_secret => 'ここにConsumer Secretを入力',
            }, => { description => 'Twitter!' },
        ],
    },
    
    ... 中略 ...
    
},

最後にyanchaを再起動すれば、Twitter経由でのログインが有効になります。

お役立ち情報

その他情報はWIkiをご参照ください

https://github.com/uzulla/yancha/wiki

ライセンスについて

MIT License です。 http://www.opensource.org/licenses/mit-license.php

About

yancha is Yet Another Nerwork CHAt. (old name yairc) by Hachioji.pm

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published