-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Puppets without ipv6 trick / webirc support? #48
Comments
Just allow as many connections as you want from the /64 the bridge uses? Any IRCd worth using can do that. |
Sorry, maybe I am just dense right now (its late), but how do I configure this? The readme sounds like this is disabled without using ipv6. edit: I have no ipv6 setup at all right now as it would require re-engineering my entire network setup grown over the years... |
Currently you indeed either have a single presence, or multi presence with IPv6 prefix. This is there not only for the connection limit, but also for bans etc. Using a single IP for multiple clients just doesn't feel right. Allowing it is a relative small code change, but I am a bit reluctant to make it, as I am afraid people will misunderstand it, and use multi presence on public IRC networks. This will go horribly wrong :D What you can also do, if your IRCd is local, is setup a /80 on your local address range .. so ::1:0:0:0/80 or something. That allows you to use multi presence, allow banning users, and "just works". Would that work for you? If not, let me sleep on this :) And happy you like this project. If there is anything you are missing, feel free to open an issue to request that feature (like you just did for thisone :D) |
Hmm, I will look into that option of ipv6 on local host only. Thanks for suggesting it. But normally the issue you describe is solved by the WebIRC Extension: Maybe make that mandatory without ipv6 for puppets? edit: and banning users only on the IRC side with them remaining on the Discord side would be a bit strange, no? Better ban them on Discord directly? |
Please bare in mind the reason I build this is another use case. If a user does something that causes a public IRC to kline that user, it would take all other users with it ;) so unique IPs really are important in my use case :) I haven't seen any public IRC that supports WebIRC for 3rd parties, but I can see it working for your use case. So that might be a solid solution for your use case too. But as I don't have a setup for it, I do not think I can find the motivation to add support for that. But I am not against someone making a Pull Request for it. If you are up for it, please do! Of course I can give support where needed :) |
Ok, I'll try if it works with localhost ip6 puppets first. Thanks for the quick answers :) |
Just curious, did you manage to get it to work over IPv6? |
Have not got around testing it yet. Quick question: the readme sounds like it will only work with SSL connections? I guess on local host I could also connect the puppets via 6667, no? |
I recently changed that if you use port 6697 it uses SSL, otherwise it does not. It seems I overlooked some remarks regarding this in the README; will fix soon :) |
I tried it now, but it seems to have problems resolving the hostname on IPv6. it is working fine as a simple bot bridge, but when starting it with
I guess I could tell dibridge to connect to the IRC server on a local ipv6 address instead of the ipv4 only fully qualified DNS? Or is something else causing this? I don't have much experience with IPv6 so I have honestly no idea :( |
Well, your guess is right, so you are not far off. You cannot connect (without more configuration) to an IPv4 address via IPv6. You need to make sure it resolves to an IPv6 that is valid. My assumption was that it would be local host, so |
With ::1 it refuses to connect because of a certificate error, but I guess allowing non SSL connection on port 6667 should fix that... lemme try that :) |
Ok that did work for the Ipv6 connection, but it still fails with an error on sending a message via the puppet:
|
Please try with The above IP is of the "example IPv6 range", but otherwise a fully valid IPv6 (just not routable), so perfect for checking out if this works :) PS: Also don't forget |
I put Is it possible that it just has a name clash? The username I have on Discord is the same I have reserved on the IRC server. Does the bridge make alt nicks like "user__" or so if the nick it tries to make is already taken or reserved? Edit: time-out error after a while:
|
Ah it adds a [d]. with
and it seems to work! |
Would you suggest I just keep using it like that? Is there any issue with this when running multiple instances of dibridge to bridge more than one channel? |
This bridge is not really meant to bridge more than one channel, as it will create new puppets for every channel. But yeah, otherwise this setup will run fine, as far as I am aware. The project isn't that old, so there might be lingering bugs, but what you have now should be stable. |
Any idea how to persist these settings on a server restart?
|
Nothing a simple search can't answer for you, as it depend on your OS :) Mostly, sysctl can be added to Ip configuration really depends on the OS, and has no single answer. On could for example add it to their network manager or a startup script. For example in |
I run my own IRC server and can allow-list this bridge to permit as many connections as it wants from one IP, but the readme makes it sound like real puppets only work with the ipv6 trick?
It would make the setup much easier in the case of a self-hosted IRCd.
Thanks for making this bridge btw, looks very good otherwise :)
The text was updated successfully, but these errors were encountered: