diff options
author | Wim <wim@42.be> | 2015-12-12 21:26:53 +0100 |
---|---|---|
committer | Wim <wim@42.be> | 2015-12-12 23:20:13 +0100 |
commit | bdac03f725858fad0f55cd56fc5d72ac07073d79 (patch) | |
tree | a3935f4a26fa4b470f25c9bbdba0cf78932c9c10 | |
parent | c1f80383f7cb08c108afc8e093023d09864cc5a2 (diff) | |
download | matterbridge-msglm-bdac03f725858fad0f55cd56fc5d72ac07073d79.tar.gz matterbridge-msglm-bdac03f725858fad0f55cd56fc5d72ac07073d79.tar.bz2 matterbridge-msglm-bdac03f725858fad0f55cd56fc5d72ac07073d79.zip |
Add BindAddress option. Closes #4
-rw-r--r-- | README.md | 2 | ||||
-rw-r--r-- | config.go | 1 | ||||
-rw-r--r-- | matterbridge.conf.sample | 1 | ||||
-rw-r--r-- | matterbridge.go | 3 | ||||
-rw-r--r-- | matterhook/matterhook.go | 6 |
5 files changed, 10 insertions, 3 deletions
@@ -54,6 +54,8 @@ channel="#matterbridge" url="http://mattermost.yourdomain.com/hooks/incomingwebhookkey" #port the bridge webserver will listen on port=9999 +#address the webserver will bind to +BindAddress="0.0.0.0" showjoinpart=true #show irc users joining and parting #the token you get from the outgoing webhook in mattermost. If empty no token check will be done. token=yourtokenfrommattermost @@ -22,6 +22,7 @@ type Config struct { Token string IconURL string SkipTLSVerify bool + BindAddress string } General struct { GiphyAPIKey string diff --git a/matterbridge.conf.sample b/matterbridge.conf.sample index f910e019..d581ebed 100644 --- a/matterbridge.conf.sample +++ b/matterbridge.conf.sample @@ -13,6 +13,7 @@ showjoinpart=true #token=yourtokenfrommattermost IconURL="http://youricon.png" #SkipTLSVerify=true +#BindAddress="0.0.0.0" [general] GiphyAPIKey=dc6zaTOxFJmzC diff --git a/matterbridge.go b/matterbridge.go index 1ab3eacd..bd324608 100644 --- a/matterbridge.go +++ b/matterbridge.go @@ -22,7 +22,8 @@ func NewBridge(name string, config *Config) *Bridge { b.Config = config b.m = matterhook.New(b.Config.Mattermost.URL, matterhook.Config{Port: b.Config.Mattermost.Port, Token: b.Config.Mattermost.Token, - InsecureSkipVerify: b.Config.Mattermost.SkipTLSVerify}) + InsecureSkipVerify: b.Config.Mattermost.SkipTLSVerify, + BindAddress: b.Config.Mattermost.BindAddress}) b.i = b.createIRC(name) go b.handleMatter() return b diff --git a/matterhook/matterhook.go b/matterhook/matterhook.go index f750212f..0b023d39 100644 --- a/matterhook/matterhook.go +++ b/matterhook/matterhook.go @@ -52,6 +52,7 @@ type Client struct { // Config for client. type Config struct { Port int // Port to listen on. + BindAddress string // Address to listen on Token string // Only allow this token from Mattermost. (Allow everything when empty) InsecureSkipVerify bool // disable certificate checking DisableServer bool // Do not start server for outgoing webhooks from Mattermost. @@ -63,6 +64,7 @@ func New(url string, config Config) *Client { if c.Port == 0 { c.Port = 9999 } + c.BindAddress += ":" tr := &http.Transport{ TLSClientConfig: &tls.Config{InsecureSkipVerify: config.InsecureSkipVerify}, } @@ -77,8 +79,8 @@ func New(url string, config Config) *Client { func (c *Client) StartServer() { mux := http.NewServeMux() mux.Handle("/", c) - log.Printf("Listening on http://0.0.0.0:%v...\n", c.Port) - if err := http.ListenAndServe((":" + strconv.Itoa(c.Port)), mux); err != nil { + log.Printf("Listening on http://%v:%v...\n", c.BindAddress, c.Port) + if err := http.ListenAndServe((c.BindAddress + strconv.Itoa(c.Port)), mux); err != nil { log.Fatal(err) } } |