summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2016-09-10 07:47:54 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2016-09-10 07:47:54 (GMT)
commit87edaa971947f4f29acf1db1df6980cc778f7b14 (patch)
tree44dd5ff876f7d1d9389208bbd24064806b994ef4
First commit.HEADmaster
-rwxr-xr-xpre-push59
-rwxr-xr-xproxy.php37
-rw-r--r--proxy.py60
3 files changed, 156 insertions, 0 deletions
diff --git a/pre-push b/pre-push
new file mode 100755
index 0000000..c683ce1
--- /dev/null
+++ b/pre-push
@@ -0,0 +1,59 @@
+#!/bin/sh
+
+# An example hook script to verify what is about to be pushed. Called by "git
+# push" after it has checked the remote status, but before anything has been
+# pushed. If this script exits with a non-zero status nothing will be pushed.
+#
+# This hook is called with the following parameters:
+#
+# $1 -- Name of the remote to which the push is being done
+# $2 -- URL to which the push is being done
+#
+# If pushing without using a named remote those arguments will be equal.
+#
+# Information about the commits which are being pushed is supplied as lines to
+# the standard input in the form:
+#
+# <local ref> <local sha1> <remote ref> <remote sha1>
+#
+# This sample shows how to prevent push of commits where the log message starts
+# with "WIP" (work in progress).
+
+SERVER="XXX"
+
+remote="$1"
+url="$2"
+
+z40=0000000000000000000000000000000000000000
+
+while read local_ref local_sha remote_ref remote_sha
+do
+ if [ "$local_sha" = $z40 ]
+ then
+ # Handle delete
+ :
+
+ else
+
+ if [ "$remote_sha" = $z40 ]
+ then
+ # New branch, examine all commits
+ range="$local_sha"
+ else
+ # Update to existing branch, examine new commits
+ range="$remote_sha..$local_sha"
+ fi
+
+ git log --format='%s (%h)' "$range" --reverse | while read line; do
+
+ msg=$( echo "[git] New commit: $line" | sed 's/ /%20/g' )
+
+ wget -O /dev/null http://$SERVER/proxy.php?msg=$msg > /dev/null 2>&1
+
+ done
+
+ fi
+
+done
+
+exit 0
diff --git a/proxy.php b/proxy.php
new file mode 100755
index 0000000..149a1fa
--- /dev/null
+++ b/proxy.php
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<HTML>
+
+<HEAD>
+ <TITLE>PHP Proxy</TITLE>
+ <META http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+ <META name="robots" content="noindex"/>
+</HEAD>
+
+<BODY>
+
+<?php
+
+ $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
+ if ($socket === false)
+ echo "socket_create() failed: " . socket_strerror(socket_last_error()) . "<BR>\n";
+ else
+ echo "Socket OK.<BR>\n";
+
+ $result = socket_connect($socket, "localhost", 54321);
+
+ if ($result === false)
+ echo "socket_connect() failed: ($result) " . socket_strerror(socket_last_error($socket)) . "<BR>\n";
+ else
+ echo "Connect OK.<BR>\n";
+
+ socket_write($socket, $_GET["msg"], strlen($_GET["msg"]));
+
+ echo "Data sent!<BR>\n";
+ echo "Content: '" . $_GET["msg"] . "'.";
+
+?>
+
+</BODY>
+
+</HTML>
diff --git a/proxy.py b/proxy.py
new file mode 100644
index 0000000..ba5ac36
--- /dev/null
+++ b/proxy.py
@@ -0,0 +1,60 @@
+import select
+import socket
+import string
+
+LOCAL_PORT = 54321
+
+HOST = 'irc.oftc.net'
+PORT = 6667
+NICK = 'CommitBot'
+IDENT = 'chrysalidecommitbot'
+REALNAME = 'CommitBot'
+
+CHANNEL = '#chrysalide'
+
+local_fd = socket.socket()
+local_fd.bind(('127.0.0.1', LOCAL_PORT))
+local_fd.listen(1)
+
+print('Listeing...')
+
+irc_fd = socket.socket()
+irc_fd.connect((HOST, PORT))
+
+irc_fd.send('NICK %s\r\n' % NICK)
+irc_fd.send('USER %s %s bla :%s\r\n' % (IDENT, HOST, REALNAME))
+
+print('Connected to IRC...')
+
+irc_fd.send('JOIN ' + CHANNEL + '\r\n')
+
+print('Online!')
+
+while True:
+
+ ready_socks, _, _ = select.select([local_fd, irc_fd], [], [])
+
+ if local_fd in ready_socks:
+
+ conn, addr = local_fd.accept()
+ print 'Got data from ' + addr[0] + ':' + str(addr[1])
+
+ data = conn.recv(1024)
+ irc_fd.send('PRIVMSG ' + CHANNEL + ' :' + data + '\r\n')
+
+ conn.close()
+
+ else:
+
+ data = irc_fd.recv(1024)
+
+ for line in data.split('\n'):
+
+ line = string.rstrip(line)
+ line = string.split(line)
+
+ if len(line) == 0:
+ continue
+
+ if line[0] == "PING":
+ irc_fd.send("PONG %s\r\n" % line[1])