Git Product home page Git Product logo

logbot's Introduction

Logbot Build Status

====== Logbot is a simple IRC logger with realtime web-based viewer.

Screenshot

Logbot screenshot

How to Deploy

  • Use Docker

    1. Install Docker
    2. Run docker run -d -p 15000:15000 -e LOGBOT_NICK=xxxx -e LOGBOT_CHANNELS=#x,#y,#z -e LOGBOT_SERVER=168.95.1.1 audreyt/logbot
    3. Visit http://localhost:15000
  • Manual installation

    1. Ruby (1.9.3+) and Redis server must be installed
    2. Run bundle install to install required Ruby gems
    3. Run compass compile to compile Sass files
    4. Fire up your redis-server
    5. Specify target channels in logbot.rb
    6. Run foreman start to launch web server (WEBrick) and Logbot agent
    7. Visit http://localhost:15000.

How to Contribute

Just hack it and send me pull requests ;)

License

Licensed under the MIT license.

Copyright (c) 2013 Shao-Chung Chen

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

logbot's People

Contributors

a0000778 avatar audreyt avatar caasi avatar dannvix avatar darbychang avatar e9t avatar godfat avatar iftnt avatar itszero avatar k0nsl avatar miaout17 avatar mmis1000 avatar mno2 avatar poga avatar wildjcrt avatar yhsiang avatar zbryikt avatar zhusee2 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

logbot's Issues

過多的底線超出irc server的nick長度上限,導致暱稱碰撞

f517e93a6a
如圖所示
freenode的nick上限為16個字
超出16個字的都無效
所以bot斷線後自動加的底線會被無視掉
導致跟原本nick碰撞
而引起登入失敗,漏掉訊息

或許可以加一個長度上限設定
在字數滿的時候
從無底線重頭開始開始loop?
e.g. ysitdlogbot_____ -> ysitdlogbot -> ysitdlogbot_

未過濾的標籤

未過濾的標籤把下面的話吃光光!
本想處理看看,無奈跟 Ruby 不熟,在 shotgun 就卡關了。

logbot_ltgt_bug

集中管理 log

Logbot 倚靠好幾個服務一起工作,應該要能集中管理它們的 log 。

[REQUEST] Search

It would be very useful to have a extensive, or even just a rudimentary, search functionality incorporated into Logbot.

隱藏個資

顯示的時候遇到email或手機改成xxx方式顯示
避免被search engine bot index

Nickname authentication

Consider adding nickname authentication with ordinary IRC server services such as NickServ.

Add foreman installation into Dockerfile

As title, foreman will not be installed in current Dockerfile.

Have two way to solve this problem:

A) Add gem 'foreman' into Gemfile, and replace the cmd in Dockerfile with cmd ["sh", "-c", "/usr/bin/redis-server | bundle exec foreman start"]

B) Add RUN gem install foreman into Dockerfile

Timed out while connecting Waiting *n* seconds before reconnecting

I can activate Logbot properly from my laptop, but for somewhat reason, I can't activate it from my servers with the exactly same code. (I've tried two Ubuntu machines, one 13.10 and the other 14.04. My laptop is 14.04)

Does anyone have any idea why I'm getting the timeout warnings?
I've tried waiting until the interval becomes 300 seconds.

a@b:~/dev/logbot$ foreman start                                      
20:06:29 web.1    | started with pid 27269
20:06:29 logbot.1 | started with pid 27271
20:06:29 web.1    | I, [2014-09-07T20:06:29.441442 #27269]  INFO -- : listening on addr=0.0.0.0:15000 fd=7
20:06:29 web.1    | I, [2014-09-07T20:06:29.441774 #27269]  INFO -- : worker=0 spawning...
20:06:29 web.1    | I, [2014-09-07T20:06:29.442596 #27269]  INFO -- : master process ready
20:06:29 web.1    | I, [2014-09-07T20:06:29.443428 #27276]  INFO -- : worker=0 spawned pid=27276
20:06:29 web.1    | I, [2014-09-07T20:06:29.443719 #27276]  INFO -- : Refreshing Gem list
20:06:29 logbot.1 | [2014/09/07 20:06:29.446] !! [on handler] Registering handler with pattern `#`, reacting on `message`
20:06:29 logbot.1 | [2014/09/07 20:06:29.446] !! [on handler] Registering handler with pattern `#`, reacting on `connect`
20:06:29 logbot.1 | [2014/09/07 20:06:29.447] !! [on handler] Registering handler with pattern `#`, reacting on `disconnect`
20:06:29 logbot.1 | [2014/09/07 20:06:29.463] II Connecting to irc.ozinger.org:6667
20:06:29 web.1    | I, [2014-09-07T20:06:29.508596 #27276]  INFO -- : Rainbows! ThreadSpawn worker_connections=50
20:06:39 logbot.1 | [2014/09/07 20:06:39.464] !! Timed out while connecting
20:06:39 logbot.1 | [2014/09/07 20:06:39.465] II Waiting 2 seconds before reconnecting
20:06:41 logbot.1 | [2014/09/07 20:06:41.465] !! [on handler] Registering handler with pattern `#`, reacting on `connect`
20:06:41 logbot.1 | [2014/09/07 20:06:41.465] !! [on handler] Registering handler with pattern `#`, reacting on `disconnect`
20:06:41 logbot.1 | [2014/09/07 20:06:41.465] II Connecting to irc.ozinger.org:6667
20:06:51 logbot.1 | [2014/09/07 20:06:51.466] !! Timed out while connecting
20:06:51 logbot.1 | [2014/09/07 20:06:51.466] II Waiting 4 seconds before reconnecting
20:06:55 logbot.1 | [2014/09/07 20:06:55.466] !! [on handler] Registering handler with pattern `#`, reacting on `connect`
20:06:55 logbot.1 | [2014/09/07 20:06:55.466] !! [on handler] Registering handler with pattern `#`, reacting on `disconnect`
20:06:55 logbot.1 | [2014/09/07 20:06:55.466] II Connecting to irc.ozinger.org:6667
20:06:59 web.1    | I, [2014-09-07T20:06:59.306157 #27269]  INFO -- : SIGWINCH ignored because we're not daemonized
20:07:05 logbot.1 | [2014/09/07 20:07:05.467] !! Timed out while connecting
20:07:05 logbot.1 | [2014/09/07 20:07:05.467] II Waiting 8 seconds before reconnecting
20:07:13 logbot.1 | [2014/09/07 20:07:13.468] !! [on handler] Registering handler with pattern `#`, reacting on `connect`
20:07:13 logbot.1 | [2014/09/07 20:07:13.468] !! [on handler] Registering handler with pattern `#`, reacting on `disconnect`
20:07:13 logbot.1 | [2014/09/07 20:07:13.468] II Connecting to irc.ozinger.org:6667
20:07:23 logbot.1 | [2014/09/07 20:07:23.469] !! Timed out while connecting
20:07:23 logbot.1 | [2014/09/07 20:07:23.469] II Waiting 16 seconds before reconnecting
^CSIGINT received
20:07:25 system   | sending SIGTERM to all processes
20:07:25 logbot.1 | terminated by SIGINT

Multiple IRC servers/networks

What do you all think about adding support for multiple IRC servers/networks? Would it be possible without too much effort/hassle?

Logbot date select bug

bug
As the image shows, the date select area's background become all white while mouse on it.
My browser is Google Chrome 28.0.1500.95 m.
I've tried IE 10.0.9200.16635 but not found this bug.

“Jellyfish not found”

My Dockerfile looks like this:

from    ubuntu:precise
run     echo "deb http://ppa.launchpad.net/brightbox/ruby-ng/ubuntu precise main" >> /etc/apt/sources.list
run     echo "deb http://ppa.launchpad.net/chris-lea/redis-server/ubuntu precise main" >> /etc/apt/sources.list
run     gpg --keyserver keyserver.ubuntu.com --recv-keys F5DA5F09C3173AA6 B9316A7BC7917B12
run     gpg --armor --export F5DA5F09C3173AA6 | apt-key add -
run     gpg --armor --export B9316A7BC7917B12 | apt-key add -
run     apt-get update -qq
run     apt-get install -qq --force-yes -y ca-certificates ruby2.2 redis-server
add     .  /
run     gem install bundler rack jellyfish cinch redis --no-ri --no-rdoc
run     apt-get install -qq --force-yes -y build-essential ruby2.2-dev
run     bundle install
run     compass compile
run     cp logbot.rb.example logbot.rb
expose  6379
expose  15000
env     LOGBOT_NICK genericnondescripguy
env     LOGBOT_SERVER ragnarok.k0nsl.org
env     LOGBOT_CHANNELS #k0nsl
cmd     ["sh", "-c", "/usr/bin/redis-server | foreman start"]

I build Logbot like this:

docker build -t logbot .

And I run it in the following manner:

docker run -d -p 15000:15000 -e LOGBOT_NICK=genericnondescripguy -e LOGBOT_CHANNELS=#k0nsl,#trinity,#thehax -e LOGBOT_SERVER=ragnarok.k0nsl.org logbot

The bot does successfully connect to the server and subsequently joins the designated channels, but upon loading http://subdomain.domain.tld:15000 it just says:

Jellyfish not found

When I view the HTML source of the page it shows me this:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <h1>Jellyfish not found</h1>
  </body>
</html>

Any suggestions and/or advice on how to get the web-based part of Logbot working is welcomed.

Persistent storage?

How do you best perform persistent storage? In my case, when I build logbot from source and run it via Docker, if I restart docker, then all data is wiped as well.

漏了訊息

@LIMichael 回報說,

2017-03-30 下午漏了一條訊息。

如截圖:

2017-03-30_1505

Logbot 有 log 到 stdout ,但 screen 行數有限,我又沒準備其他的 log 措施,故現在無從查起。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.