For those of you still following along, here is the 1.02 release with all the recent changes and fixes.
http://bbs.kd3.us/kd3doors.ssjs
or FTP
ftp://bbs.kd3.us/main/KD3DOORS/sWXr102.zip
The breakdown of what's changed:
- Functions for retrieving a WebSocket client's real IP address specifically for the new v4 WebUI that is being developed. (Thanks echicken!)
- Better checking for private/local network users. (ec again)
- Added support for checking for dialup users. (Thanks to Tbirdsradio for all the testing!)
- Clear abort flag before terminating. (Thanks DM)
- Add display option for non-ANSI Terminals. (Much prettier now)
Big thanks to all who have helped!
I did receive one change request (for your next version, no rush):
Change occurences of this:
if(console.yesno("Read the full alert"))
to this:
if(!console.noyes("Read the full alert"))
This will make "No" the default (e.g. if the user just hits enter a bunch of times to get through all the logon screens, not actually reading what they're seeing).
Not sure If I should have done anything to update to this version outside of replacing the files. But having it as a login event it now doesn't show the right locations weather, it shows me the weather from the BBS IP. And using it as a door with the web client just uses my fall-back setting.
Thanks
Mike
Re: syncWXremix 1.02 release
By: KenDB3 to All on Sun Jan 10 2016 12:15 am
For those of you still following along, here is the 1.02 release with all the recent changes and fixes.
http://bbs.kd3.us/kd3doors.ssjs
or FTP
ftp://bbs.kd3.us/main/KD3DOORS/sWXr102.zip
The breakdown of what's changed:
- Functions for retrieving a WebSocket client's real IP address specifically for the new v4 WebUI that is being developed. (Thanks echicken!)
- Better checking for private/local network users. (ec again)
- Added support for checking for dialup users. (Thanks to Tbirdsradio for all the testing!)
- Clear abort flag before terminating. (Thanks DM)
- Add display option for non-ANSI Terminals. (Much prettier now)
Big thanks to all who have helped!
I did receive one change request (for your next version, no rush):
Change occurences of this:
if(console.yesno("Read the full alert"))
to this:
if(!console.noyes("Read the full alert"))
This will make "No" the default (e.g. if the user just hits enter a bunch of times to get through all the logon screens, not actually reading what they're seeing).
digital man
2) I've had a chance to test the v4 WebUI from ec, and I think you have to be actually Logged Into the web page for the TTYLOC to work (but, I am not
Re: syncWXremix 1.02 release
By: Digital Man to KenDB3 on Sun Jan 10 2016 01:21 am
I did receive one change request (for your next version, no rush):
Change occurences of this:
if(console.yesno("Read the full alert"))
to this:
if(!console.noyes("Read the full alert"))
This will make "No" the default (e.g. if the user just hits enter a bunch of times to get through all the logon screens, not actually reading what they're seeing).
Or even better, make it an option... a default of "yes" makes sense for a door, but "no" makes sense for a login event.
Re: Re: syncWXremix 1.02 release
By: KenDB3 to Deepend on Sun Jan 10 2016 14:54:31
2) I've had a chance to test the v4 WebUI from ec, and I think you have to be actually Logged Into the web page for the TTYLOC to work (but, I am not
Basically you need to have the following files up to date with what's in the CVS:
exec/load/websocket-proxy.js
exec/websocket-rlogin-service.js
exec/websocket-telnet-service.js
You should change your existing [WebSocket] section in ctrl/services.ini so that the command is 'websocket-telnet-service.js', and you should add a section like this:
[WebSocketRLogin]
Port=1513
Command=websocket-rlogin-service.js
(Use whatever port you like; add an Options line if you want NO_HOST_LOOKUP, etc., add a MaxClients line if you wish.)
If you have a 'websocket-proxy.js' or 'websocket-rlogin-service.js' in your mods directory, remove them. Restart your services or your BBS.
The method I provided for fetching an RLogin + WebSocket user's real IP address is tied to my new web UI. In that case, the user must be logged into the web interface for this to work. This is really only useful if syncWXremix appears on your 'Games' page in the web UI. (I should probably change the name of that page.)
The method I provided for fetching a Telnet + WebSocket user's real IP address doesn't require login, but it does depend on the 'websocket-telnet-service.js' mentioned above. That service should intercept the Telnet TTYLOC command and respond with the WebSocket client's real IP address.
In both cases the real IP address may yet be on your local network.
Crazy question: Any way to tell if a door is being run from Logon event vs regular External?
Or is there a way in javascript to pass an argument in the
command line from SCFG (like - "?weather.js noyes")? Then you could set up two different instances.
Thanks for the clarification. I only played around with it for a little while. For the Telnet and TTYLOC part, it sounds like it doesn't have to be the v4 WebUI, is that correct? Just the newer proxy, 'websocket-telnet-service.js'. If that is true, one more question, would I need to be hosting my own install of ftelnet, or could I be using the embedded version Ree has at my.ftelnet.ca? (Mostly just curious)
Crazy question: Any way to tell if a door is being run from Logon event vs regular External? Or is there a way in javascript to pass an argument in the command line from SCFG (like - "?weather.js noyes")? Then you could set up two different instances.
Crazy question: Any way to tell if a door is being run from Logon event vs regular External?
Probably, but I can't think of what it would be off the top of my head. :-)
Hmmm... let me take a stab at each.
1) First issue, the update from 1.01b to 1.02 did not require any changes with the modopts.ini file. However, if you were running the original ver. 1.00, then yes, things changed, check out Sysop.txt.
Is the problem with the BBS's IP happening when you log in with traditional Telnet/SSH/RLogin, or is it happening with an HTML 5 Terminal (ftelnet)? I logged into your site with SyncTerm over Telnet and saw the weather for Pawtucket, RI just fine. Also, what is your "fallback_type" set to?
I tried to log in via ftelnet on your site, but for some reason it wasn't loading.
One last thing, there was a change made to SBBS on 2016-12-16 where SBBS would remember your ~Last~ IP address from your previous session (at least the Javascript model was, not the @-Code). So, if you were using an SBBS version prior to the change, and you were to log in via HTML 5, then log out and log back in via Telnet, you would most likely see a DIFFERENT IP during the Logon events than when you ran it as an External Door later on in the same session.
2) I've had a chance to test the v4 WebUI from ec, and I think you have to be actually Logged Into the web page for the TTYLOC to work (but, I am not sure, as that was ec's bit of programming). I had mixed results, but it did work sometimes using the HTML 5 (web socket based) client, but not all the time. I think from only a small amount of testing though, it was being logged into the WebUI that made the difference.
For item 1 specifically, let me know a bit more about what it is doing, vs. what you were expecting it to do and I'll see what I can do :-).
Thanks for the clarification. I only played around with it for a
little while. For the Telnet and TTYLOC part, it sounds like it
doesn't have to be the v4 WebUI, is that correct? Just the newer
proxy, 'websocket-telnet-service.js'. If that is true, one more
question, would I need to be hosting my own install of ftelnet, or
could I be using the embedded version Ree has at my.ftelnet.ca?
(Mostly just curious)
For WebSocket-Telnet clients, the important part here is the proxy service. This is the part that reports the client's IP address in response to TTYLOC, and is independent of the web UI.
For WebSocket-RLogin clients, the important part is the web UI (mine) which records the user's IP address in a session store. If the user is on via RLogin and from the local network, then you can read their IP address from their web session store to find out where they (probably) came from.
Loading fTelnet from some other location is fine, but the connection still needs to pass through a proxy that will respond to the TTYLOC command - which for now is likely only to be one that you host for yourself. I don't know enough about fTelnet embedding options to say more (I just host my own), but if you can tell it to use a particular WebSocket proxy then it'll work.
OK I updated the SBBS files that echicken recommended. That did fix the logon event while using Syncterm. As for the WEBUI the issue there could be that I use websockify to allow me to use the telnet under my SSL URL. So I may not be able to fix that.
they (probably) came from.For WebSocket-Telnet clients, the important part here is the proxy
service. This is the part that reports the client's IP address in
response to TTYLOC, and is independent of the web UI.
For WebSocket-RLogin clients, the important part is the web UI
(mine) which records the user's IP address in a session store. If
the user is on via RLogin and from the local network, then you can
read their IP address from their web session store to find out where
Loading fTelnet from some other location is fine, but the connection
still needs to pass through a proxy that will respond to the TTYLOC
command - which for now is likely only to be one that you host for
yourself. I don't know enough about fTelnet embedding options to say
more (I just host my own), but if you can tell it to use a
particular WebSocket proxy then it'll work.
I wasn't seeing it at all while using Ree's embed code from my.ftelnet.ca, but that wasn't the problem. Changing over to the newer 'websocket-telnet-service.js' had a slight change in how my BBS saw the connection coming in. The 'websocket-telnet-service.js' sees my local IP
on the Services side, and then passes over to the Terminal Server the BBS's IP address. So, before, with 'websocketservice.js', the Terminal Server would see the connection come from my local private IP, in this case 192.168.1.100. Now, it sees the connection coming from my Public IP.
I changed a test version to look for my IP specifically, and that worked. But I am not sure if I was seeing this with your V4 WebUI.
I should REALLY Clarify what I meant to say there when I said local IP, I meant to say the new service sees the Public IP I am coming from when I access the web site. (Example: my work VPN shows it as a public IP from Virginia when looking in the log from SERVICES, not the log from the Terminal)
on the Services side, and then passes over to the Terminal Server
the BBS's IP address. So, before, with 'websocketservice.js', the
Terminal Server would see the connection come from my local private
IP, in this case 192.168.1.100. Now, it sees the connection coming
from my Public IP.
on the Services side, and then passes over to the Terminal Server
the BBS's IP address. So, before, with 'websocketservice.js', the
Terminal Server would see the connection come from my local private
IP, in this case 192.168.1.100. Now, it sees the connection coming
from my Public IP.
Then it's not matching the search for a private address, and the attempt to fetch the real IP address from the WebSocket server isn't happening.
You could amend the getQuerySuffix() function like so:
https://gist.github.com/echicken/0c4896e8029f1b95a4b5
I would expect that to solve the problem, or at least move us along to the next one - but I too have not had enough coffee today, so we'll see.
For those of you still following along, here is the 1.02 release with all the recent changes and fixes.
http://bbs.kd3.us/kd3doors.ssjs
or FTP
ftp://bbs.kd3.us/main/KD3DOORS/sWXr102.zip
I just updated to version 1.02 on my BBS this morning. But when it runs, I'm getting the following error:
!JavaScript websocket-helpers.js line 66: ReferenceError: un is not defined
I just updated to version 1.02 on my BBS this morning. But when it
runs, I'm getting the following error:
!JavaScript websocket-helpers.js line 66: ReferenceError: un is not
defined
Just an oversight; replace 'un' on the offending line with 'user.number' and that should help.
Re: syncWXremix 1.02 release
By: echicken to Nightfox on Sat Jan 23 2016 14:28:37
I just updated to version 1.02 on my BBS this morning. But when it
runs, I'm getting the following error:
!JavaScript websocket-helpers.js line 66: ReferenceError: un is not
defined
Just an oversight; replace 'un' on the offending line with
'user.number' and that should help.
That fixes it, thanks.
But also, I figured the author of syncWXremix should know so that he can fix it and update the official syncWXremix release package so that other sysops don't run into the same issue.
Nightfox
I just updated to version 1.02 on my BBS this morning. But when it
runs, I'm getting the following error:
!JavaScript websocket-helpers.js line 66: ReferenceError: un is not
defined
Just an oversight; replace 'un' on the offending line with
'user.number' and that should help.
That fixes it, thanks.
But also, I figured the author of syncWXremix should know so that he
can fix it and update the official syncWXremix release package so
that other sysops don't run into the same issue.
Thank you, gentlemen! I'll drop this into the GitHub repo and do a quick packaging for a new version/bug fix.
For those of you still following along, here is the 1.02 release withall
the recent changes and fixes.specifically
http://bbs.kd3.us/kd3doors.ssjs
or FTP
ftp://bbs.kd3.us/main/KD3DOORS/sWXr102.zip
The breakdown of what's changed:
- Functions for retrieving a WebSocket client's real IP address
for the new v4 WebUI that is being developed. (Thanks echicken!)for
- Better checking for private/local network users. (ec again)
- Added support for checking for dialup users. (Thanks to Tbirdsradio
all the testing!)
- Clear abort flag before terminating. (Thanks DM)
- Add display option for non-ANSI Terminals. (Much prettier now)
Big thanks to all who have helped!
~KenDB3
---
þ Synchronet þ KD3net-Rhode Island's only BBS about nothing. http://bbs.kd3.us
Hi Ken,
Awesome job!
Randy
Thank you, gentlemen! I'll drop this into the GitHub repo and do a
quick packaging for a new version/bug fix.
Updated!
http://bbs.kd3.us/kd3doors.ssjs
-or-
ftp://bbs.kd3.us/main/KD3DOORS/sWXr103.zip
Thank you, gentlemen! I'll drop this into the GitHub repo and do a
quick packaging for a new version/bug fix.
Updated!
http://bbs.kd3.us/kd3doors.ssjs
-or-
ftp://bbs.kd3.us/main/KD3DOORS/sWXr103.zip
How to run it at the Logon of the bbs
it's working fine in the Xternal menu
thx
When you are setting up the External Door, the option that is near the bottom that says "Execute on Event", set that to be "Logon" and it will run as a Logon event as well. Another option from that menu is "Logon, Only", but then you will not see it as a regular External Door.
When you are setting up the External Door, the option that is near the bottom that says "Execute on Event", set that to be "Logon" and it will run as a Logon event as well. Another option from that menu is "Logon, Only", but then you will not see it as a regular External Door.
When you are setting up the External Door, the option that is near
the bottom that says "Execute on Event", set that to be "Logon" and
it will run as a Logon event as well. Another option from that menu
is "Logon, Only", but then you will not see it as a regular External
Door.
it's Work fine with the noip and the Code for the Airport
But with BBSIP it make a ERR
There was a problem getting data from Weather Underground.
The sysop has been notified.
I did receive one change request (for your next version, no rush):
Change occurences of this:
if(console.yesno("Read the full alert"))
to this:
if(!console.noyes("Read the full alert"))
This will make "No" the default (e.g. if the user just hits enter a bunch of times to get through all the logon screens, not actually reading what they're seeing).
Anyone else want to weigh in?
Re: syncWXremix 1.02 release
By: Digital Man to KenDB3 on Sun Jan 10 2016 01:21 am
I did receive one change request (for your next version, no rush):
Change occurences of this:
if(console.yesno("Read the full alert"))
to this:
if(!console.noyes("Read the full alert"))
This will make "No" the default (e.g. if the user just hits enter a bunch of times to get through all the logon screens, not actually reading what they're seeing).
Hi DM, I was getting ready to put this in, and since you were the one who asked about it, I had a design question for you.
I was think of this two ways, both of which are an argv on the command line:
Option 1: Add a command line option of "noyes" to change the alert to a NoYes bar instead of the YesNo, keep all other functionality the same.
Option 2: Same deal. "noyes" on command line changes the alert to a NoYes choice instead. But also, at that point if you are looking for speed, if NO is chosen, give the credits at the bottom and then exit the program without any more intervention by the user. If YES is chosen, it shows the alert (for however many screens) and still ends with a pause like it does now.
What do you think?
The only difference between YesNo and NoYes is the default behavior when "enter" is pressed.
The only difference between YesNo and NoYes is the default behavior when "enter" is pressed. I think it makes sense for the default to be "No" (for everyone), but if you think this should be configurable via the command-line, then that is certainly possible, but it seems like kind of a minute detail to make configurable.
As for whether or not there is a "hit a key" pause before exiting, perhaps that makes more sense to be a configuration option. I think using modopts.ini is preferable to adding command-line options since it easier to tweak the settings in the file and no BBS recycle is required when experimenting with the different settings.
That's a lie. The other difference is the return value: YesNo returns true for "Yes" (false otherwise), while NoYes returns true for "No" (false otherwise). :-)
Sysop: | MCMLXXIX |
---|---|
Location: | Prospect, CT |
Users: | 326 |
Nodes: | 10 (0 / 10) |
Uptime: | 218:42:37 |
Calls: | 516 |
Messages: | 223260 |