[HowTo] Bip IRC Proxy - 0.8.0

scrat

Neuer User
Mitglied seit
22 Mrz 2009
Beiträge
65
Punkte für Reaktionen
1
Punkte
8
Moin, ich habe gestern die oben genannte Bip Version installiert.
Leider konnte ich hier bis auf 4 Threads nix finden und auch die halfen mir nicht weiter. Jetzt habe ich es zum laufen bekommen mit ein paar noch nicht ganz geklärten Dingen, aber es läuft schon mal. Daher kriegt ihr mal ein paar Infos, damit ihr es leichter habt als ich.
Da ich kein Linux Porfi bin, werde ich euch wohl keine großen Fragen beantworten können.

1. Bip in make menuconfig auswählen
2. Die Bip.conf (entweder aus dem Thread http://www.ip-phone-forum.de/showthread.php?t=137334&highlight=bip nehmen, oder die von mir angehängt) z.b. auf den USB Stick legen: /var/media/ftp/uStor01/bip/bip.conf
3. Dann die Zeile 24 wie folgt abändern: pid_file="/var/media/ftp/uStor01/bip/bip.pid"; in der bip.conf bearbeitet. (Ordner nach belieben auf USB Stick)
4. Dann die Zeile 40 wie folgt abändern:log_root = "/var/media/ftp/uStor01/bip/logs"; (Ordner nach belieben auf USB Stick)
Ohne die Schritte 3 und 4 bekomm ihr sonst Fehlermeldungen und Bip startet nicht
5. Den Rest der Bip.conf nach Bedarf abändern.
6. Starten von Bip: /usr/bin/./bip -f /var/media/ftp/uStor01/bip/bip.conf
7. Um den bip nach einem Reboot mit starten zu lassen, musst etwas in die rc.custom eingefügt werden. Am einfachsten über das Freetzmenü: http://192.168.178.1:81/cgi-bin/file.cgi?id=rc_custom
Code:
# bip starten
/usr/bin/./bip -f /var/media/ftp/uStor01/bip/bip.conf


Ich hoffe ich konnte etwas helfen. Sollte etwas fehlen, dann kann es gerne angehängt werden.

Hier die Homepage dazu: http://bip.t1r.net/
Und auch noch die Sample bip.conf

Code:
# bip default config file.
# Thou shoult change thy password

# Listening IP address. This is the IP address bip will listen for incoming
# client connections.
ip = "0.0.0.0";

# To connect a client to bip, try the port below, and
# be sure to set the password to the value
# specified in the network you want to connect to. 
# Port is 6667 by default.
port = 7778;

# If you set this to true, you'll only be able to connect to bip
# with a SSL capable IRC client. Be sure to generate a certificate
# for bip using scripts/bipgenconfig.
client_side_ssl = false;

# This is the file containing the SSL cert/key pair bip'll use to
# serve SSL clients. If unset, it defaults to <biphome>/bip.pem
#client_side_ssl_pem = "/path/to/pemfile";

# Define where the pidfile should be stored. Defaults to <biphome>/bip.pid
#pid_file="/var/run/bip/bip.pid";

# Uncomment this line to disable logging and backlogging.
#log = false

# Define bip's log level :
# 0 : only fatal errors
# 1 : add others errors
# 2 : add warnings
# 3 : add info messages
# 4 : add debug messages
log_level = 3;

# This is where logs go. Channel and private messages will use that
# configuration value as a prefix, and then log_format to determine
# full log filename.
#log_root = "/var/proxy/logs";

# Uncomment this line to disable bip's internal messages logging.
# This is not recommended, a better option is to reduce log_level.
#log_system = false;

# Log format allows you to make log filenames depend on the log line's
# attributes. Here's a list :
# %u -> user name
# %n -> network name
# %Y -> 4 digit year
# %m -> 2 digit month
# %d -> 2 digit day
# %c -> destination (#chan, privates, ...)
#log_format = "%u/%n/%Y-%m/%c.%d.log";

# Sets the frequency (in seconds) of log syncing (real write to kernel)
#log_sync_interval = 5;

# Network definition, a name and server info
network {
	name = "iiens";
	server { host = "irc.iiens.net"; port = 6667; };
};

network {
	name = "oftc";
	server { host = "irc.oftc.net"; port = 6667; };
	#server { host = "other.oftc.server"; port = 6667; };
};

# SSL network sample. SSL is per-network option, not per-server !
network {
	name = "oftcs";
	ssl = true;
	server { host = "ircs.oftc.net"; port = 9999; };
};

# Configuration example with one user who connects to two irc networks
# To use the multi-server feature:
#  - define the connections
#  - chose and setup a different login for each connection
# on your irc client:
#  - Use the multi server feature of your client, the server being each time
#    the server where bip is running. In your client setup server password to:
#      username:password:connectionname
#  - do not store the password in clear here, use the bipmkpw util to generate
# a hash

# User structure is grouping information for a given user
user {
	# The name in bip of the user
	# This is used by bip only
	name = "bip4ever";
	# this user's password (md5(md5("tata"))) with seed - generated by
	# bipmkpw
	password = "3880f2b39b3b9cb507b052b695d2680859bfc327";

	# Set this to true if you want "bip4ever" to have admin privileges on
	# bip He'll be able to RELOAD bip and see all users' configuration
	# (except pass)
	admin = true;

	# When bip_use_notice is true, bip will send internal messages like
	# disconnection notifications or /BIP commands replies as notices
	# instead of private messages. The default is false.
	#bip_use_notice = true;

	# SSL certificates checking mode for user:
	# - "none" to accept anything;
	# - "basic" to accept if the certificate is contained in the store;
	# In "basic" mode, encountered untrusted certificates can be added to
	# the store interactively by connecting a client and "trusting" them.
	# - "ca" to do a complete certificate chain checking with the objects
	# in the store below (you have to put in it every cert, CRL, up to the
	# root CA). You have to build your store manually, so you may prefer
	# using "basic" unless you're a crypto zealot...
	ssl_check_mode = "none";

	# Location of the user's store for SSL certificate check
	# In "basic" mode, that must point to a single file with all trusted
	# certs concatenated together (the interactive "trust" appends to this
	# file).
	# In "ca" mode, it's a directory of a standard openssl store; you must
	# put PEM objects (certificates, CRLs...) with .pem extension and run
	# `c_rehash .' in it
	ssl_check_store = "/home/bip4ever/.bip/trustedcerts.txt";

	# Some networks (OFTC at least) allow you to authenticate to nickserv
	# using client side certificates, see
	# http://www.oftc.net/oftc/NickServ/CertFP
	# This is where you put your user's certificate.
	# ssl_client_certfile = "/home/bip4ever/.bip/bip4ever_client_auth.pem";

	# These will be the default for each connections
	default_nick = "bip4ever";
	default_user = "bip4ever";
	default_realname = "bip4ever";

	# Makes bip send the log of each channel and privates while
	# you were not connected to the proxy upon connection. 
	#backlog = true;		# enable backlog
	backlog_lines = 10;		# number of lines in backlog, 0 means
					# no limit
	backlog_always = true;		# backlog even lines already backlogged
					# = do not reset backlog when no client
					# attached anymore
	#backlog_no_timestamp = false;  # Disables time stamps if you find them
					# ugly.
	
	# If blreset_on_talk talking on an irc network has the same effect of
	# issuing /bip blreset <current window>, meaning that stuffed logged
	# before the command won't be read back on backlog
	#backlog_reset_on_talk = false;
	#
	# If you have backlog_reset_on_talk set to true, talking in a query
	# will reset the backlog for the query. Same goes for channel. With the
	# following option set to true, talking in a connection will reset the
	# whole connection. The backlog for the current network is reset.
	#backlog_reset_connection = true;
	
	# If bl_msg_only is true, only channel and private messages will be
	# backlogged upon the reconnection of a client. Default is false, thus
	# joins, parts, quits, nick changes, topic changes, ... are backlogged
	#backlog_msg_only = false;


	# A user can have mutiple connections to irc networks.
	# define a connection:
	connection {
		name = "iiens";		# used by bip only
		network = "iiens";	# which ircnet to connect to

		# You can define ssl_check_mode here, if you want a different
		# behavior than the one defined in the parent user {}.
		#ssl_check_mode = "none";

		# If you have multiple IP addresses, you can set the one you
		# want bip to use here. See manpage for more information.
		#vhost = "192.168.10.6";

		# When source_port is defined, bip will connect to the IRC
		# server from this port number. That means the IRC server will
		# see the socket coming from <your_ip>:source_port.
		#source_port = "4567";

		# these will be sent to the real server
		#nick = "othernick";
		#user = "otheruser";
		#realname = "otheruser";
		#password = "serverpassword";

		# Some options:
		#away_nick = "bip`away";
		# Away message to be set when no client is connected
		#no_client_away_msg = "Having life, knock again later";
		#follow_nick = true;
		#ignore_first_nick = true;

		#autojoin_on_kick = false;
		#ignore_server_capab = false;

		# Autojoined channels:
		channel { name = "#bip"; };
		# Password protected channel
		channel {
			name = "#elite_UnDeRgR0uNd"; 
			key = "sikiour";
		};
		channel {
			name = "#huge(28)_activity";
			# disable backlogging of this channel.
			backlog = false;
		};
	};

	# another connection (optional)
	connection {
		name = "oftc";		# used by bip only
		network = "oftc";	# which ircnet to connect to

		# Some options:
		#away_nick = "bip`away";
		#follow_nick = true;
		#ignore_first_nick = true;
		#on_connect_send = "PRIVMSG NickServ :IDENTIFY nspassword";

		# Autojoined channels:
		channel { name = "#bip"; };
	};
};


greetz

scrat
 

Anhänge

  • bip.zip
    3.2 KB · Aufrufe: 24
Zuletzt bearbeitet:
Bitte nicht löschen wegen Doppelpost.
Ich wollte meine Fragen dazu nicht ins HowTo setzen, der Übersichtlichkeit wegen.
Sind die Fragen geklärt, dann verschiebe ich die geklärten Fragen in den oberen Post und lösche den hier wieder am Schluss. Hoffe das geht so ok. :done: ;)

Und hier die Fragen von mir zu der unten folgenden bip.conf.

1) Wie man sehen kann, connecte ich zu 3 verschiedenen IRC Servern. Ich connecte mich mit meinem mIRC Client auf den Bip Server. Um nun aber die 3 Serverfenster im mIRC geöffnet zu bekommen, muss ich folgende Zeilen in 3 Serverfenster eingeben.
Code:
1. /QUOTE PASS username:passwort:quakenet
2. /QUOTE PASS username:passwort:ircd
3. /QUOTE PASS username:passwort:insiderz
Kann ich das auch per Perform machen, so das ich nur einmal auf meine Fritzbox connecte und er mir automatisch die 3 Serverfenster öffnet?

2) Dann öffnet er, wenn ich zu einem Server connecte folgende Fenster im mIRC: fenster q; port80a.se.quakenet.org; -bip; global
Wie kann ich definieren welches der Fenster geöffnet wird und welches nicht? Mir würden eigentlich nur die Channels reichen die ich brauche, die Logs in Abwesenheit würde ich dann lieber per Hand vom USB Stick öffnen, wenn sie denn mal gebraucht werden.

3) Wie kann ich den Dienst bip nach einem Reboot der Fritzbox automatisch starten lassen.

4) Wie kann man ein erneutes verbinden von bip mit den IRC Servern durchführen lassen wenn man z.b. die 24h Zwangstrennung hatte?

Rote Fragen geklärt.

Dafür neue Frage:
5) Kann man irgendwie die Überprüfung auf eine Verbindung verkürzen? Es dauert ca. 6 Minuten bis der bip wieder neu mit dem IRC Servern neu verbindet, wenn man z.b. eine Zwangstrennung hatte.


Code:
ip = "192.168.1.1"; 
port = 7778;
client_side_ssl = false;

log_level = 3;

pid_file="/var/media/ftp/uStor01/bip/bip.pid";

log_root = "/var/media/ftp/uStor01/bip/logs";

# Makes bip send the log of each channel and privates while
# you were not connected to the proxy upon connection. 
#backlog = true;		# enable backlog
backlog_lines = 10;		# number of lines in backlog, 0 means no limit
backlog_always = true;		# backlog even lines already backlogged
#backlog_no_timestamp = false;  # Disables time stamps if you find them ugly.

# If blreset_on_talk talking on an irc network has the same effect of issuing
# /bip blreset, meaning that stuffed logged before the command won't be read
# back on backlog
#blreset_on_talk = false;

# If bl_msg_only is true, only channel and private messages will be backlogged
# upon the reconnection of a client. Default is false, thus joins, parts, quits,
# nick changes, topic changes, ... are backlogged
#backlog_msg_only = false;

network {
	name = "quakenet";
	server { host = "irc.quakenet.org"; port = 6667; };
	#server { host = "other.oftc.server"; port = 6667; };
};

network {
	name = "ircd";
	server { host = "random.ircd.de"; port = 6667; };
};

network {
	name = "insiderz";
	server { host = "irc.insiderz.de"; port = 6667; };
};

# Configuration example with one user who connects to two irc networks
# To use the multi-server feature:
#  - define the connections
#  - chose and setup a different login for each connection
# on your irc client:
#  - Use the multi server feature of your client, the server beeing each time
#    the server where bip is running. In your client setup server password to:
#      username:password:connectionname
#  - do not store the password in clear here, use the bipmkpw util to generate
# a hash

# User structure is grouping information for a given user
user {
 	name = "scrat";
	# this user's password generated by /var/media/ftp/uStor01/bip/bipmkpw
	password = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
	ssl_check_mode = "none";
	#ssl_check_store = "/home/bip4ever/.bip/trustedcerts.txt";

	# These will be the default for each connections
	default_nick = "scrat_bnc";
	default_user = "scrat_bnc";
	default_realname = "scrat_bnc";

	connection {
		name = "quakenet";		# used by bip only
		network = "quakenet";	# which ircnet to connect to

		# these will be sent to the real server
		#user = "scrat";
		#realname = "scrat";
		#password = "serverpassword";

		# Some options:
		away_nick = "scrat_bnc";
		# Away message to be set when no client is connected
		no_client_away_msg = "Ich bin nicht da, antworte eventuell später.";
		#follow_nick = true;
		#ignore_first_nick = true;
		#on_connect_send = "PRIVMSG NickServ :IDENTIFY nspassword";

		# Autojoined channels:
		channel { name = "#tuning"; };
		# Password protected channel
		#channel {
		#	name = "#abc"; 
		#	key = "passwort";
		#};
	};

	connection {
		name = "ircd";		# used by bip only
		network = "ircd";	# which ircnet to connect to
		channel { name = "#fritzbox"; };
		#away_nick = "scrat_bnc";
		no_client_away_msg = "Ich bin nicht da, antworte eventuell später.";
		#follow_nick = true;
		#ignore_first_nick = true;
		#on_connect_send = "PRIVMSG NickServ :IDENTIFY nspassword";
	};
	
	connection {
		name = "insiderz";		# used by bip only
		network = "insiderz";	# which ircnet to connect to
		channel { name = "#radio"; };
		#away_nick = "scrat_bnc";
		no_client_away_msg = "Ich bin nicht da, antworte eventuell später.";
		#follow_nick = true;
		#ignore_first_nick = true;
		#on_connect_send = "PRIVMSG NickServ :IDENTIFY nspassword";
	};
};

Danke für eure Hilfe.
 
Zuletzt bearbeitet:
Wie wäre es, das auch im Freetz-Wiki unterzubringen? Als Infpo/Howto zum Paket?
 
Wäre ne Überlegung wert wenn wir noch ein oder zwei Fragen geklärt haben. Dann wäre es ne runde Sache und würde hier weniger Fragen aufkommen lassen.
 
Diese Fragen haben aber nichts mit Freetz zu tun!?

Um bip nach einem Reboot wieder auszuführen musst du die Befehle entweder in die rc.custom schreiben oder eine Startdatei (rc.bip) schreiben, so wie das von den anderen Services genutzt wird.

MfG Oliver
 
Dank Oliver, das mit der rc.custom at geklappt, nen rc.bip hätte ich nie geschrieben bekommen, weil ich davon keinerlei Plan habe.
Ich füge das ist HowTo mit ein.
Wolltest du den Thread eine Ebene höher schieben?
Ich denke das kann nun, da ich eigentlich alle Freetzfragen nun habe.
Das mit der 24h Trennung werde ich gleich mal mit Testen.

/edit: Einen Reboot und einen DSL Reconnect macht er ohne Probleme mit. Die Reaktionszeit des bip ist ca. 2-3 Minuten bis er quitet. Bis er wieder in den Channels auftaucht, braucht er ca. 5-6 Minuten.
 
Zuletzt bearbeitet:
gibt es eine möglichkeit bip so einzustellen das er nur qry nachrichten speichert und nicht die komplette Kommunikation in den channels?
 
hab da schon was gefunden... :) --> backlog = false für den Chanel, habe ich auch gemacht

Aber der Schreibt trotzdem noch alles Was im Chanel passiert als log auf den stick :-/ er zeigt sie mir bloß beim Connecten mit dem IRC prog nicht mehr an... :-/

dennoch schreibt der sinnlos auf dem Stick rum :-( und logt nick wechsel etc anderer... -.-
 
Das hat aber nix mit Freetz zu tun. Wende dich an die Entwickler/Foren/Mailinglisten dieser Software
 
Das hat aber nix mit Freetz zu tun. Wende dich an die Entwickler/Foren/Mailinglisten dieser Software

Ja danke, sowas habe ich mir schon gedacht :-/ Aber es hätte ja sein können das ihr auch das noch irgendwie modden könnte das ich bei der install auswählen kann ob ich das programm komplett haben will oder zur schonung des USB Sticks nur für PM/QRY nachrichten.
 
Vielleicht ghet es, vielleicht nicht. Keine Ahnung, und ehrlich gesagt interessiert mich das nicht ;)
 
Was ich noch nicht ganz verstehe ist, wie benutze ich den auswählbaren "oidentd Support"? Dafür braucht man den oidentd doch auch noch, nur leider gibt es den nicht
EDIT: War garnicht so schwer zu compilieren: klick
 
Zuletzt bearbeitet:
Hallo.
Vielen Dank erstmal für die Hilfestellung. Ich stell mich hier gerade etwas doof an. Wie kann ich denn mitels DynDNS-Anbieter von überall anders auf den BIP connecten?
Mein dyndns.com Verweis will einfach nicht. Ich schätze gerade, dass das eigentlich garkein BIP-Problem sondern eher ein Problem von DynDNS bzw. meiner Box ist - Liege ich da richtig?

In jedem Fall danke für jegliche Antworten
 
das müsste im Grunde genommen auch gehen :)

hab den Apache extern auch über port 80 erreichbar gemacht obwohl er im Netzwerk auf nen anderen Port lag

probiers mal über die avm Firewall --> Forwarding

Für meinen apache habe ich folgendes gemacht

(auszug aus der Zum Debuggen Forward-Regeln anzeigen)

tcp 0.0.0.0:80 0.0.0.0:8282

Wenn du jetzt noch die Ports anpasst sollte es gehen


hab vor den dyndns sogar noch ne de.vu geknallt lief wunderbar

somit irgendwer.de.vu --> irgendwas.dyndns.org (port 80) an die Fritz.box auf der, der apache server auf port 8282 lief
 
Danke für die Antwort. Hat geholfen, nun läufts soweit :)
Nächstes Problem: bip scheint den Channel zu betreten bevor das identify durch ist. Kann man da ein Delay oder so einbauen? Join und Identify scheinen laut logs zur selben Zeit durchgeführt zu werden.
 
Hast du denn schon rausgefunden, ob bip das kann und wenn ja wie? Wenn nicht, frag mal in deren Foren oder FAQ oder Webseiten nach.
 
Wo ist denn das Problem dabei und wie kann ich sehen ob ich auch "betroffen" bin?
 
Hast du denn schon rausgefunden, ob bip das kann und wenn ja wie? Wenn nicht, frag mal in deren Foren oder FAQ oder Webseiten nach.
Deswegen poste ich ja hier, deutsprachiges Forum mit viel Aktivität, der ein oder andere Nutzer verwendet dieses Package vielleicht auch und das Problem kann ja eigentlich nicht sooo spektakulär sein. Aber dennnoch danke für den Tipp. FAQ, Google hab ich bemüht, bisher ohne Erfolg. Irgendwo hatte ich auch gelesen dass man über !bip oder /bip oder so ne Liste der möglichen Befehle ausgeben kann, is mir heute morgen im Bett eingefallen - danach werd ich später nochmal suchen.

Wo ist denn das Problem dabei und wie kann ich sehen ob ich auch "betroffen" bin?
Bei meinen Channeleinstellungen ist es so, dass nicht authorisierte Nutzer, die nicht auf der Accessliste stehen gekickt und gebannt werden. Sollte dir also eigentlich auffallen, wenn auf deinem IRC-Server nicht schnell genug "authorisiert" wird.

Haha, lustiger Smiley:spocht: *G*

Mh, mit dem 24h disconnect kam er aus diesem Grund auch nicht zurecht wie ich heute morgen feststellen durfte.

Vlg


Edit:
habs jetzt mal manuell eingefügt und den integrierten Join-Befehl aus den Configs genommen. Mal sehen wie das beim nächsten 24h-Disconnect läuft.
Code:
on_connect_send = "PRIVMSG NickServ :GHOST bierbauchhase nutzerpasswort";
on_connect_send = "PRIVMSG NickServ :IDENTIFY nutzerpasswort";
on_connect_send = "PRIVMSG ChanServ :UNBAN #channelname";
on_connect_send = "JOIN #channelname channelpasswort";
 
Zuletzt bearbeitet:
Deswegen poste ich ja hier, deutsprachiges Forum mit viel Aktivität, der ein oder andere Nutzer verwendet dieses Package vielleicht auch und das Problem kann ja eigentlich nicht sooo spektakulär sein. Aber dennnoch danke für den Tipp.

Vielleicht postest du dann auch im Ubuntu-, Gentoo- etc-deutschsprachigem Forum das gleiche Problem? Sind eigentlich auch deutschsprachig, und das Paket wird es für andere Linux-Systeme auch geben...
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.