More d-rats public fork progress
4
Hello all, The python3 d-rats fork is progressing slowly and there is still a lot that needs to be done. The fork now should have the various e-mail gateways and APIs working. The pluginsrv module is now working and there is a test program in the repositories. Winlink and Mac support is now implemented. All is not roses though. I have a report that file transfers are not working between Mac systems, but is working with Mac to or from Windows. The Mac user that reported this is trying to get more data to determine why this failure is occurring. We are still seeing random segfault events. We are also seeing random GTK Critical events logged to the console. There are two main known causes of both those events: 1. Using deprecated GTK code. There is still a lot of this to be removed. 2. Calling GTK code improperly from threads. Unfortunately neither the segfaults or the GTK Critical events messages usually give useful information as to the failure. Sometimes we can find the cause of the GTK Critical event by noticing the operation that preceded it, other times by adding additional logging. The segfaults really need learning the current program flow of the threads and making sure that it is done properly, and that also involves learning more about how GTK programming on python works, My current course of action is going to be to start documenting the program flow module by module in my wiki, and at the same time doing code cleanups for those modules. https://github.com/wb8tyw/D-Rats/wiki 73, -John, wb8tyw
|
Running a D-Rats Ratflector on a dynamic IP system
2
For anyone wanting to run a D-Rats ratflector off of a residential or commercial internet service that provides only dynamic IP addresses (in other words, your IP changes every time their network resets) you need to set up some method that monitors your IP address to continually link it to your ratflector name on the Internet so people can connect to it. I use NoIP.com. They can assign a name to your ratflector with a ddns.net extension that you can then share with your users so they can link to the system. Here is a link to get a $5 coupon code to get started with your service https://www.noip.com?fpr=86rvc .
|
subst.py and gps.py module
2
Hello, Started converting / testing the subst.py module. It does not work in the existing code as near as I can determine, and has an infinite loop in it once other bugs in it are fixed. Just about 1/2 of the functions in the modules have bugs in it, and fixing those are done basically done by removing most of those because they are effectively doing almost nothing. The only caller of this module is the gps.py. It appears to be intended to do a replacement of the text between two slash characters in the comment section of the GPS message, if that text is found in a configuration file. If not, the text is supposed to be passed through unchanged. It actually just removes the text in the current implementation. The caller in gps.py discards the result of the conversion, so all this code is doing is wasting space in memory and in the repository. I am thinking of just yanking this module out, other than trying to get it implemented correctly. As it is currently implemented, it is creating a new copy of the conversion substitution object for every GPSPosition object in d-rats, as as these are used in the map point functions, there could be lots of them. It would have to be re-written to be what is known as a Singleton object if it is to be retained to avoid the needless memory overhead. 73, -John
|
Updated wiki articles
First that has been updated is about GitHub workflow guidelines. Not trying to scare anyone away from assisting development or testing, but common guidelines are needed for group coordination. Certain things just do not automatically just work as expected with Microsoft Windows with GitHub or with cross-platform projects. And this type of documentation will be needed for when a D-Rats GitHub Organization project is set up to make the project run smoothly. https://github.com/wb8tyw/D-Rats/wiki/Development-GitHub-Workflow Next is a growing list of things to watch for in Code Reviews or writing code to prevent bugs from creeping into the program. https://github.com/wb8tyw/D-Rats/wiki/Guidelines-for-coding-and-code-reivews And some documentation on how to use the Mailserv module and its current limitations. https://github.com/wb8tyw/D-Rats/wiki/Guidelines-for-coding-and-code-reivews There is still a PR in progress for fixing the Mailserv module, as it was recently discovered that if the POP3 server does not completely shutdown when the configuration is updated. 73, -John
|
Python3 fork progress
2
Hello all, Some progress this weekend. The agwpe and wl2k modules are now both converted to python3. I have not done any testing with d-rats actually connecting to either as I do not have any way to test agwpe, and still do not know much about Winlink. I added mock servers for testing the agw and w2lk modules. I have added the code to use the python-sphinx module to generate some d-rats internals documentation from the DocStrings that I have been adding. Of course now that means that the generated documentation will need to be proofread and enhanced. I have not had a chance to learn the new python packaging, other than documenting how to setup a venv for building the packages. There are still a lot that I have not yet looked into, especially things like transfers between d-rats and internet e-mail, and other features like communication with GPS servers. 73, -John wb8tyw@.../wb8tyw@...
|
Using pip installed modules with D-rats more safely
2
I just wrote a wiki article on running my D-rats fork in a VENV. There are a lot of ways to have python on systems, Particularly on Windows and Mac, so this probably needs some help from users of those python packages to flesh it out. If you are currently running the "setup.py" in d-rats to install it, this article is important for an upcoming change. But it will also be useful in general, I hope. https://github.com/wb8tyw/D-Rats/wiki/Running-d-rats-in-a-venv-environment-and-PIP I am using msys2 mingw64 python on Microsoft Windows as met the following requirements for me. 1. It had a free license, I can use it on professional projects with out a license conflict. 2. It had all of the packages that were required to run d-rats available from a signed repository. 3. It was reasonably simple to setup and maintain. And as a bonus, it originally had a bug that made some windows features on d-rats not work, and the msys2 maintainers actually quickly fixed that from my bug report. If there are alternatives that meet those criteria for python on Microsoft Windows, I would be interested in knowing them to try them out. Also, this year may be the last year for support of python3 on Windows 7 or earlier. The maintainers of the windows specific packages are dropping support for anything older than Windows 8. Unfortunate, because while us Hams like the shiny new stuff, we also do like to get the most life we can out of equipment and do not see tossing out a perfectly good laptop just because it can not run a newer OS. 73, -John
|
Where is the config file hidden?
4
Have one of the locals trying to delete all the D-RATS files so we can reinstall, He can Tx but not Rx, can't remember where that sill file is, he removed everything he could find in a search, still retains callsign. Help! -- AL M KF5SMH
|
Update to python3_tyw test fork - 2 bugs fixed.
Hello all, If you are using the python3_tyw test fork, I just pushed an update to it that fixes outgoing file transfers. Apparently at some point after testing the file transfers, I accidentally inserted a typo into the file, and this was missed before that change got merged in. My guess is that I had a focus in a different window than I was typing in, and did not notice I had modified the wrong content. However so far no one has notified me that they tripped on that bug. I found that bug only because I am trying to get the agw.py module converted to python3, and discovered an anomaly in the trying to run test the existing code. That made me have to look up the the AGW protocol from: https://www.sv2agw.com/downloads/develop.zip. This showed me that d-rats was not using the correct decoding for the packets. If it works, it only works for a subset of the AGW protocol. When I went to make the correction, I first did a search in the d-rats code to see if I could find similar bugs. Unfortunately I did. This second bug is harmless to windows on x86 users and most systems likely to be running d-rats, but will prevent file transfers to and from systems that use big-endian storage. Testing the fix exposed the first bug above. This is now fixed, but only in the python3_tyw fork. There are also fixes to file and form transfers in this fork that are not in the upstream version, mainly in handling the recovery of partial transfers. 73, -John
|
Contributing to my Python3 fork of d-rats
Hello all, I am trying to maintain some standards on my fork and python3_tyw branch that are close to my professional programming work, so please look over this link before submitting PRs to my repository. https://github.com/wb8tyw/D-Rats/wiki/Development-GitHub-Workflow#pull-requests-to-my-local-fork And please read before submitting tickets for my fork: https://github.com/wb8tyw/D-Rats/wiki/Development-GitHub-Workflow#tickets-to-my-local-fork If you want to assist with reviewing coded, I just need to send an invite to your github username. Thank you for your help and feedback. This is also to help work out the kinks of project collaboration before creating a "GitHub Organization Project" for D-Rats with Maurizio as a new home for the D-Rats project. 73, -John
|
Python 3 d-rats fork
3
Yes, you got it. Hope it works for you. 73 -John, wb8tyw
|
Python 3 d-rats fork
Hello Dave, I have not started working on testing packaging yet, so did not realize that my changes broke the setup.py. Getting the packages created and getting the documents generated from the DocStrings that I have added is lower on my list. I expect that once I start generating the documentation, I will find a lot of things in my docstrings that need fixups. Biggest change other than GTK-2 to GTK-3 that I can see is that bytes and strings are now separate types, and all non-disk I/O is using the bytes type and requires explicit conversion to/from str type. 73, -John
|
Python 3 d-rats fork (Was: [d-rats] Does D-RATS need a map?)
4
On 3/21/2022 1:30 PM, Ralph Barbakoff wrote: > Hopefull the second file attached is a bmp print screen of the map > area between WA9LKZ and AB9FT north of Milwaukee (Sheboygen) Just looked at your log. I am sorry to inform you that you are not running the new code. And double-clicking it launched it under python2. I am trying to keep the master branch the same as Maurizio's official repo for d-rats, but I may be behind it some times. For my code, you need to clone the git repository and then checkout the python3_tyw branch. git clone https://github.com/wb8tyw/D-Rats.git cd D-Rats git checkout python3_tyw That gets the current experimental branch. To update it before you run again git pull I just updated it a few minutes ago, and probably am updating it at least once a week. As Maurizio posted the other links, you need a bunch of python3 packages to be installed. All the needed and optional ones appear to be available on Ubuntu. At this time, I only have the list of packages that I used for development on my Wiki that were referenced before. Another source of packages is the python "Pypi" repository that are installed with pip. This fork of D-rats is designed intentionally to not require anything that is only available from Pypi. Criminals do not generally have access to tamper with the legitimate packages on Pypi. Pypi is not a secure repository with vetted contributions, and is currently under active attack by criminals that are installing counterfeit packages that have almost the same name as the legitimate packages. So a small typo and you get a modified package that will likely contain a remote access program to give the criminal access to your computer. So if you must use or want to use PyPi, be very careful. At my day job I get periodic reports of how many counterfeit packages have been found and removed from Pypi in the past month or so. The criminals do not generally have access to tamper with the legitimate packages on Pypi. Other manual steps that using D-rats from source needs: Wl2k use needs the lzhuf package built. The source and a Makefile is in the repository. Currently untested with the fork. For some unknown reasons, wl2k is disabled for D-rats Mac, with a comment stating that lzhuf is not available. As far as I can find, the only source code for lzhuf is provided with d-rats and I see nothing that should prevent it being built on Mac. I just do not know what directory that D-Rats on Mac wants the built image to be in. Another locally built option is for internationalization. We do not keep the binary dictionaries in the git repo, there is another wiki page with my repo about how to locally build it. Currently we only have English and Italian translations available, and the English currently mostly matches the source code. I bumped the minor release from 3 to 4 since this is a significant change. $ python d-rats.py 03/21/2022 18:38:02:INFO:D-Rats:main: re-config option found -- Reconfigure D-rats 03/21/2022 18:38:02:INFO:Mainapp:Enabled debug log for Win32 systems 03/21/2022 18:38:04:INFO:Version:HTTP_CLIENT_HEADERS={'User-Agent': 'd-rats/0.4.00 pre-release 1'} 03/21/2022 18:38:04:INFO:QST:FeedParser not available 73, -John > Have fun all!! > Ralph Barbakoff (WA9LKZ)
|
Does D-RATS need a map?
7
First, I would like to thank WB8TYW for his efforts to modernize D-RATS. His recent posts about the map jogged my memory. I have been using D-RATS since the 2.x days. Some of the features built into D-RATS were just hacks by Dan as experiments that were not followed through to completion. That brings me to the question: Does D-RATS need a map? I always have an APRS client open at the same time I am using D-RATS. I would find it convenient to show D-RATS position reports on my APRS map, having all assets shown in one window. I suggest D-RATS can connect to APRS clients by emulating an APRS-IS server port, or an AGW or KISS over TCP port that APRS clients can connect to. I'm just thinking out loud here and would welcome any discussion. 73 de N3TSZ
|
Fw: [d-rats] Does D-RATS need a map?
Hopefull the second file attached is a bmp print screen of the map area between WA9LKZ and AB9FT north of Milwaukee (Sheboygen) Have fun all!! Ralph Barbakoff (WA9LKZ) ----- Forwarded Message ----- From: Ralph Barbakoff <barbakoff@...> To: [email protected] <[email protected]> Sent: Monday, March 21, 2022, 11:36:20 AM CDT Subject: Re: [d-rats] Does D-RATS need a map? It runs on my Dell C840 under python3 Linux. Had problem getting it to start with command line, but double click in the folder started up. Took it quite a whiel to load the maps but they look great. The log file is the attached text document. Fantastic, Maurizio u are the modern day Galileo! Ralph Barbakoff (WA9LKZ) On Monday, March 21, 2022, 10:23:32 AM CDT, Maurizio Andreotti <maurizioandreottilc@...> wrote: hi folks John is doing a fantastic job porting the entire application to python3. Although it's not fully ported, as of now it works quite stable on linux and windows. If anybody wantd to test it , this can be done . in general the new version rely on the same config file you already have for latest d-rats. LINUX to test it on linux, you need to have python3 installed (instructions as per your distribution) and then it's enough to download the code in a new folder and launch it. >python3 ./d-rats.py at first it will probably complain about the usual packages to install - (if you try pls pls keep your notes so we can enrich the wiki), in case you want to use a new config file, this option should work: >python3 ./d-rats.py --config ~/.d-rats-ev/d-rats2.config in order to execute it with maximum verbosity to control what is happening: >python3 ./d-rats.py --loglevel DEBUG more info on available options here: https://github.com/wb8tyw/D-Rats/wiki/D-Rats-Client-Testing WINDOWS 10 TEST as of now, to test it on Windows 10 it is necessary to set up an environment where the code is interpreted. I don't recall all the steps i did to get it working on windows (if you try pls pls keep your notes so we can enrich the wiki), the key step was to install Msys2 by following the instructions at msys2.org while following this wiki: https://github.com/wb8tyw/D-Rats/wiki/Development-Packages-Required then just download the d-rats code, unzip it into your "mysys home", in my case: "C:/msys64\home\mauri\ and launch it: >python3 ./d-rats.py --loglevel DEBUG any bugs or suggestions. pls let's use the tracker: https://github.com/wb8tyw/D-Rats/issues thanks anybody for helping. cheers maurizio Il giorno lun 21 mar 2022 alle ore 14:20 John E. Malmberg <wb8tyw@...> ha scritto: On 3/20/2022 5:19 PM, Patrick Connor via groups.io wrote: > First, I would like to thank WB8TYW for his efforts to modernize > D-RATS. His recent posts about the map jogged my memory. I have been > using D-RATS since the 2.x days. Some of the features built into > D-RATS were just hacks by Dan as experiments that were not followed > through to completion. That brings me to the question: Does D-RATS > need a map? I always have an APRS client open at the same time I am > using D-RATS. I would find it convenient to show D-RATS position > reports on my APRS map, having all assets shown in one window. I > suggest D-RATS can connect to APRS clients by emulating an APRS-IS > server port, or an AGW or KISS over TCP port that APRS clients can > connect to. > I'm just thinking out loud here and would welcome any discussion. Your welcome. Current status: The new fork is now python3 only. I am slowly removing the python2 compatibility mode code. I can not test pyton2 on windows any more. The Map code is now fully functional in my the python_tyw branch of my test fork. Maurizio, IZ2LXI, has pointed out that some of the menus imply that they can do things that they can not, but should. So there is a learning curve to using things. Working in Maps are the USGS River data, Buoy data, and static data points. Also the points are now plotted accurately on the map at all zoom levels as a bug fix. If you have the current python geopy module installed, (Not availed as a signed package for some platforms), you can now add points bas
|
GPS not locked
4
I was hoping maybe someone might be able to help. I've tried without success to get the map feature to work with an external GPS unit. In the lower right hand corner of the map page it says "GPS not locked" and my coordinates show as zeros. I'm currently running D-Rats v0.3.9 on a Windows 10 Home (64-bit) system. The GPS unit works with windows and all of the other apps. Interestingly, when I monitor the status of the satellites being tracked by the GPS unit, it shows no fix while D-Rats is running. Then immediate upon closing D-Rats, it works again... gets a fix and shows real-time tracking data. Reproducible every time. On a side note, I've been unable to make the external GPS feature work with D-Rats on my RPi either. Any thoughts? Thanks in advance
|
Unable to connect 10060
10
Good evening all, I have been trying to connect to the D-Rats server but I keep getting the 10060 error. I have also gone as far as turning off my firewall... Any thoughts? Todd KC7ZIE
|
Ratflector List
This group has a Ratflector list in the Databases section. All members can edit this list. Feel free to update this list.
|
Need BOUY numbers for testing (Was: Input needed for fixing Map Source Editor)
Now I am trying to get the buoy plotting to work. For that I need actual BOUY numbers/names to input into the list box to work. I have not figured out how to look up that information on the NDBC site. My first few attempts have not resulted a lookup succeeding. 73, -wb8tyw, John
|
Input needed for fixing Map Source Editor
2
The map source editor in D-rats is currently unusable due to a change in the USGS servers that it was pulling data from. As I do not have any working examples of how it should work, I do not know how to implement a useful fix. As near as I can tell, the "RIVER" code first pulled down a list of river information, and then would get some information about the rivers. The list water information now requires specifying the latitude and longitude of of where you want, and then selecting something from what was available. I have no understanding of how to use the new data format and queries with d-rats. I have not even started on seeing if the NDBC data from the ndbc data will work. I will probably need to just disable the USGS map sources until I get information on how they should work. 73, -John wb8tyw
|
Most active D-RATS channels?
4
Is there an equivalent of 30C on d-rats? A channel that has some consistent chat activity? Thanks, AB7RU
|