• Stars
    star
    252
  • Rank 161,312 (Top 4 %)
  • Language
    Ruby
  • License
    MIT License
  • Created about 13 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Simple and good-looking IRC log viewer. Logger is included. No strings are attached.

irclogger

irclogger is a simple irc logger with a fluid web interface, search function, and a live streaming mode where new messages automatically appear in today's log.

Requirements

  • A Debian-based system (any other *nix can be used, but init scripts are written for Debian)
  • Ruby >= 1.9.3
  • MySQL >= 5 or PostgreSQL >= 9.3
  • Redis >= 2.7
  • Nginx

Installation

  1. Make sure all dependencies are installed and configured.
  2. Create a MySQL database and import the schema from config/sql/mysql-schema.sql, or, create a PostgreSQL database and import the schema from config/sql/postgresql-schema.sql.
  3. Run bundle install --deployment --without postgresql if you use MySQL, or bundle install --deployment --without mysql if you use PostgreSQL.
  4. Copy config/application.yml.example to config/application.yml.
  5. Edit config/application.yml. The fields should be self-documenting.
  6. Copy config/nginx.conf.example to /etc/nginx/sites-enabled/irclogger. Edit the server_name, root and upstream directives to match your setup.
  7. Copy config/init.d/* to /etc/init.d/*. Edit the ROOT and START_ARGS fields to match your setup.
  8. Run update-rc.d irclogger-logger defaults && update-rc.d irclogger-viewer defaults.
  9. Reload nginx confguration.
  10. Start logger and viewer with service irclogger-logger start && service irclogger-viewer start.

Updating configuration

  1. Edit config/application.yml.
  2. Restart logger with service irclogger-logger restart.

FAQ

Messages appear multiple times in the log

Make sure that whatever method you use for restarting the logger does not leave old instances around.

The channel list does not appear in the sidebar

The channel list only appears on the domain that matches the "domain" field in application.yml. This is done to allow pointing other domains to the main one via CNAME, e.g. see logs.jruby.org.

Upgrading

  1. git pull
  2. Read the git log. I will mention if the updates change the schema, include breaking changes, etc.
  3. Run bundle install --deployment.
  4. Restart logger and viewer with service irclogger-logger restart && service irclogger-viewer restart.

More Repositories

1

parser

A Ruby parser.
Yacc
1,584
star
2

unfork

unfork(2) is the inverse of fork(2). sort of.
C++
1,460
star
3

ipaddr.js

IP address manipulation library in JavaScript
JavaScript
528
star
4

rack-utf8_sanitizer

Rack::UTF8Sanitizer is a Rack middleware which cleans up invalid UTF8 characters in request URI and headers.
Ruby
298
star
5

superlinker

a tool for reinterpreting ELF executables and shared libraries
Rust
250
star
6

ast

A library for working with Abstract Syntax Trees.
Ruby
194
star
7

rust-xdg

A library that makes it easy to follow the X Desktop Group specifications
Rust
155
star
8

kicad-boardview

KiCAD to Boardview exporter reads KiCAD PCB layout files and writes ASCII Boardview files
Python
152
star
9

rust-vnc

An implementation of VNC protocol, client state machine, a client and a proxy
Rust
130
star
10

Boneless-CPU

Resource-efficient 16-bit CPU architecture for FPGA control plane
Python
92
star
11

zmtp-wireshark

A Wireshark dissector for ZMTP version 3.0 and later (ZeroMQ 4 and later)
Lua
82
star
12

furnace-avm2

Flash ActionScript3 VM static analysis library based on Furnace framework.
Ruby
76
star
13

libfx2

Chip support package for Cypress EZ-USB FX2 series microcontrollers
C
73
star
14

binja_itanium_cxx_abi

Binary Ninja Itanium C++ ABI Plugin
Python
63
star
15

coldruby

ColdRuby is a compiler of Ruby 1.9 MRI bytecode, and a runtime written in JavaScript to aid in execution of Ruby code. It also includes a C++ executable using very fast V8 scripting engine and native extensions for regular expressions, fibers and more.
JavaScript
62
star
16

Yumewatari

妖刀夢渡
Python
56
star
17

ocaml-m17n

Multilingualization for the OCaml source code
OCaml
52
star
18

rust-log_buffer

A zero-allocation ring buffer for storing text logs, implemented in Rust
Rust
50
star
19

prjbureau

Documenting the Microchip (Atmel) ATF15xx CPLD fuse maps and programming algorithms
Python
49
star
20

rust-facedetect

A primer on using OpenCV with Rust
Rust
43
star
21

groupXIV

Microphotography viewer based on Leaflet.js
JavaScript
41
star
22

ocaml-inotify

OCaml bindings for inotify.
OCaml
39
star
23

python-itanium_demangler

Pure Python Itanium C++ ABI demangler
Python
34
star
24

ocaml-llvm-ng

A practical LLVM backend for OCaml (will never be finished)
OCaml
33
star
25

infra-vpn

Automation for WireGuard VPN tunnels
32
star
26

SIPCaller

A simple Android app to call SIP numbers directly
Java
31
star
27

rlua

Ruby to Lua bindings library.
C
27
star
28

js_of_ocaml-example

A tiny sample js_of_ocaml project
OCaml
26
star
29

ocaml-lz4

OCaml bindings for LZ4, a very fast lossless compression algorithm
OCaml
26
star
30

binja-avnera

Binary Ninja plugin for the Avnera AV6xxx/AV7xxx architecture
Python
25
star
31

icefloorplan

iCE40 floorplan viewer
C++
24
star
32

tf2_healslut

C++
23
star
33

sublime-better-ocaml

Default Sublime Text highlighting for OCaml sucks. I've fixed it.
23
star
34

gameboy-grabber

Rust
20
star
35

furnace

A static analysis framework.
Ruby
18
star
36

sublime-ocp-index

Sublime Text plugin which provides OCaml autocompletion with ocp-index
Python
17
star
37

ATF15xx-EVB

Cheap & simple evaluation boards for Microchip ATF15xx CPLDs
16
star
38

zs

ZYTOKINE STORM is a user-mode Linux binary translation layer targeting Darwin
C++
16
star
39

binja-m16c

Binary Ninja plugin for the Renesas M16C architecture
Python
15
star
40

opam-query

A tool to query opam files from shell scripts
OCaml
15
star
41

bfcpu2

A pipelined brainfuck softcore in Verilog
Verilog
14
star
42

binja-i8086

16-bit x86 architecture for Binary Ninja
Python
13
star
43

cylinder

OCaml
13
star
44

sublime-imethod-fix

→ Makes XCompose work in Sublime Text! ←
C
13
star
45

ocaml-protobuf

Google Protocol Buffers runtime implemented in OCaml
OCaml
12
star
46

lab-notebook

Source for my lab notebook
JavaScript
12
star
47

story-os

A microkernel OS for x86 I wrote in C++ back in 2007. Features VMM, TSS multitasking, and oddly shaped C++. Updated in 2023 to fix some memory management bugs and now it works.
C
12
star
48

thunderscope-rs

Rust
11
star
49

binja_extended_api

Extended Python API for Binary Ninja
Python
10
star
50

sparkle

Sparkle is a zero-configuration decentralized VPN which can tunnel IP packets, simultaneously handle multiple payload types like VoIP or IM (together with tunneling) and be embedded anywhere as a small library.
C
10
star
51

ocaml-expat

The official repository of the ocaml-expat library
OCaml
9
star
52

murmurhash3-js

JavaScript implementation of MurmurHash3
JavaScript
9
star
53

lend

Allocator
C
9
star
54

libstm32

A reimplementation of standard library for STM32 family Cortex-M3 processors.
C
9
star
55

libnrf24l

Chip support package for Nordic nRF24L series microcontrollers
C++
8
star
56

unrandom

Make srand() always use the seed 0 using LD_PRELOAD
C
8
star
57

catircservices.org

Nix configuration for a Matrix<>IRC and Matrix<>Discord bridge
Nix
7
star
58

Sublime-Yesterday-Theme

whitequark's fork of Tomorrow color scheme
7
star
59

eliom-example

Eliom example application
OCaml
7
star
60

infra-server

Ansible configuration for https://whitequark.org
Shell
7
star
61

pry.ml

OCaml
7
star
62

usbasp

Thomas Fischl's USBasp (orig. http://www.fischl.de/usbasp/) with my patches.
C
6
star
63

binja_function_abi

Binary Ninja plugin for viewing and changing function ABIs in a fine-grained way via the GUI
Python
6
star
64

LineageOS_vendor_whitequark

My LineageOS overlay
Shell
6
star
65

furnace-swf

A rudimentary SWF reader for furnace-avm2.
Ruby
6
star
66

rust-touptek

Rust bindings for Touptek ToupLite image acquisition library
Rust
6
star
67

LLVM-TableGen.tmBundle

LLVM TableGen syntax definition
5
star
68

sdcc

Git mirror of http://svn.code.sf.net/p/sdcc/code/trunk
C
5
star
69

usbasploader

Objective Development's USBaspLoader (orig. http://www.obdev.at/products/vusb/usbasploader.html) with my patches.
C
5
star
70

track-pypi-dependency-version

A script for use with GitHub Actions that updates the upper bound in requirements.txt when a package is released on PyPI
Python
5
star
71

ruby-cross-reference

Sources for the Ruby Cross Reference LXR setup
Perl
5
star
72

ocaml-cavalry

Marshaling experiment
OCaml
5
star
73

vuxboot

VuXboot is a small but powerful AVR UART bootloader.
C++
4
star
74

Sublime-JESD3

JEDEC JESD3 syntax highlighter for Sublime Text 3
4
star
75

samplerate-rs

Rust bindings for libsamplerate
Rust
4
star
76

i3gamma

i3gamma integrates with the i3 window manager and changes the gamma correction value depending on the focused window
Rust
4
star
77

disable_eval

The only safe eval is no eval.
Ruby
3
star
78

suwabara

Ruby
3
star
79

unbot

Ruby
3
star
80

binja_xapi_bookmarks

Binary Ninja bookmarks plugin that integrates into the GUI
Python
3
star
81

sphinxcontrib-platformpicker

Platform picker extension for Sphinx
Python
3
star
82

cyberplat_pki

CyberplatPKI is a library for signing Cyberplat requests.
Ruby
3
star
83

pythonparser

Python
3
star
84

whimper

OCaml
2
star
85

Leaflet.Nanoscale

Sub-millimeter scale indicator for Leaflet.js
JavaScript
2
star
86

blog

http://whitequark.org
Ruby
2
star
87

Sublime-S-Expressions

Sublime Text 3 syntax definition for S-Expressions
2
star
88

bacon-colored_output

Colored output for Bacon testing framework!
Ruby
2
star
89

linux5be

Remains of a failed attempt to port Linux to BE-300. WARNING: Doing so may result in severe frustration
2
star
90

catirclogs.org

(WIP) Nix configuration for IRC logging infrastructure
Nix
1
star
91

pcbhdl

Python toolbox for designing printed circuit boards
Python
1
star
92

50w-modular-psu

A modular high-voltage PSU, rated at 50W continuous power
Processing
1
star
93

ocaml-eval_in

An http://eval.in/ bot in OCaml.
OCaml
1
star
94

vacuum-induction-furnace

CAD files for a vacuum induction furnace with capacity of 50mL
HTML
1
star
95

Shinobu

1
star
96

n250-dsdt

Samsung N250 ACPI DSDT
1
star
97

cmake-ocaml-simple

Simple, inflexible and non-expressive OCaml rules for CMake. Originally developed for LLVM CMake builds.
CMake
1
star