{"id":18596531,"url":"https://github.com/nesto-software/serialproxy","last_synced_at":"2025-05-05T18:44:53.177Z","repository":{"id":96375258,"uuid":"341016853","full_name":"nesto-software/SerialProxy","owner":"nesto-software","description":"A Serial proxy for rpi 4b, based on sersniff - maintained by Nesto","archived":false,"fork":false,"pushed_at":"2021-06-04T22:55:02.000Z","size":157,"stargazers_count":5,"open_issues_count":4,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-30T22:51:13.319Z","etag":null,"topics":["proxy","raspberry-pi","serial"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nesto-software.png","metadata":{"files":{"readme":"README","changelog":"HISTORY","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-02-21T22:20:21.000Z","updated_at":"2024-05-22T21:33:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"79319a17-5fbd-46f8-8b46-1dbfa4e84f0e","html_url":"https://github.com/nesto-software/SerialProxy","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nesto-software%2FSerialProxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nesto-software%2FSerialProxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nesto-software%2FSerialProxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nesto-software%2FSerialProxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nesto-software","download_url":"https://codeload.github.com/nesto-software/SerialProxy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252555609,"owners_count":21767198,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["proxy","raspberry-pi","serial"],"created_at":"2024-11-07T01:24:45.238Z","updated_at":"2025-05-05T18:44:53.155Z","avatar_url":"https://github.com/nesto-software.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"sersniff 0.0.5 - A program to tunnel between 2 serial ports and show\nwhat's happening.\nCopyright 1999-2011 Jonathan McDowell\nhttp://www.earth.li/projectpurple/progs/sersniff.html\n\n\nIntroduction:\n\nThis program was written to aid me with the decoding of the protocol\nused by the Nokia 9000i Communicator to talk to the NServer software\nNokia provides, which only runs under Windows. Having hastily thrown\ntogether the code to do what I needed it occured to me that others may\nhave a use for something similiar and that having a skeleton available\nmay help.\n\n(Aside: Of course, in the usual tradition of Open Source, someone got\nthere before. Checkout nserver from\nhttp://users.globalnet.co.uk/~syrinx/ if your interested in the Nokia\nstuff.)\n\nI feel that the concept could be taken a lot further, with various\nfilters and so on being constructed (given a framework in which to\nconstruct them) similiar to that available with ethernet sniffers. This\ncould aid with the disassembly of unknown protocols over serial lines or\neven for debugging serial connections. Maybe I'll write this code\nsomeday, maybe not. Maybe someone else will and will send me a patch. :)\n\n\nCommand line options:\n\nsersniff [-h] [-i DEVICE ] [-o DEVICE] [-b BAUD] [-s] [-n] [-w USECS]\n\n-h\n\tDisplays some command line option help.\n\n-i IN_DEV\n\tSet the device to use for Port1. Default of /dev/ttyS0. If you want\n\tto listen on a TCP port then use the format :port. If there's a / in\n\tthe string then it will always be treated as a device rather than a\n\tport to listen on.\n\n-o OUT_DEV\n\tSet the device to use for Port2. Default of /dev/ttyS1. If you want\n\tto connect to a TCP port then use the format host:port. Again if\n\tthere's a / in the string then it will always be treated as a device.\n\n-b BAUD\n\tSpecify baud rate for serial connections. Defaults to 19200.\n\n-s\n\tMake sersniff not copy data between the two ports - useful if a\n\tY cable is being used for serial port sniffing for example.\n\n-n\n\tDon't do any port configuration.\n\n-w USECS\n\tHow many microsecs to wait before reporting a delay.\n\n-x\n\tShow hex characters instead of normal ASCII characters.\n\n-f\n\tSpecify the format string that should be used to print hex characters.\n\n\nTCP/serial things:\n\nThis program was originally written to cope with serial port data. I\nhave added simple support for a TCP connection both to aid with\ndevelopment (it's a /lot/ easier for me to generate TCP streams than\nserial streams) and also because I think a lot of the things that are\nuseful for monitoring a serial port data stream can also be applied to\nTCP. Taking this further leads to thinking about UDP/raw ethernet - I'll\nthink about it once I get some filtering stuff in.\n\nThe TCP stuff does a simple listen on a port and then connects to the\nhost/port specified. I see no reason why it couldn't be used to allow\ntelneting to a serial port or connecting from a serial port to a TCP\nport, but I haven't tested this.\n\n\nFiltering:\n\nThis is a definite to do. For example, let's assume a regex based\nscheme. We could implement the current filter as something like:\n\n/\\x0A/\t\t\u003cLF\u003e\n/\\x0D/\t\t\u003cCR\u003e\n/\\x1B/\t\t\u003cESC\u003e\n/./\t\t.\n\n(Yeah, ok, I need to think about syntax. This doesn't cover the \u003c 32 or\n\u003e 127 range)\n\nBut then say we learn a bit about our protocol? Let's assume VT100 for a\nmoment, then we might want:\n\n/\\x0A/\t\t\u003cLF\u003e\n/\\x0D/\t\t\u003cCR\u003e\n/\\x1B/\t\t\u003cESC\u003e\n/\\x1B[2J/\t\u003cScreen Clear\u003e\n/\\x1B[0m/\t\u003cAttribute Reset\u003e\n/\\0x7/\t\t\u003cBEL\u003e\n/./\t\t.\n\nNow that's more useful, isn't it? And if it came with filters for common\nserial protocols, that might be useful too? Say a VT100 one, a PPP one,\na UUCP one, well, you get the idea hopefully.\n\nAnyway, this is a major to do. Just needs me to get a round tuit and\nthink about syntax.\n\n\nDevelopment system:\n\nsersniff was originally written under Linux on a 486dx2-66. It is\ncurrently being worked on under FreeBSD on a Cyrix P233+.\n\n\nContacting the author:\n\nI can be reached as noodles@earth.li or on Fidonet as Jonathan McDowell\n@ 2:443/21\n\nAll constructive criticism about sersniff is welcome.\n\n\nLicense:\n\nsersniff is distributed under the GNU Public License, a copy of which\nshould have been provided with this archive as LICENSE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnesto-software%2Fserialproxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnesto-software%2Fserialproxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnesto-software%2Fserialproxy/lists"}