Thomas Dickey wrote in <20190908105750.qc3ut2e3rkrswfm4@prl-debianold-64\ .jexium-island.net>:
|On Sun, Sep 08, 2019 at 01:26:51AM +0200, Steffen Nurpmeso wrote: |> Hello Thomas Dickey. |> |> Thomas Dickey wrote in <20190907195941.c2gqjhnuj2pp44az@prl-debianold-64\ |> .jexium-island.net>: |>|On Sat, Sep 07, 2019 at 08:51:26PM +0200, Steffen Nurpmeso wrote: |>|> I was forced to use lynx via SOCKS5 proxy, which i never did |>|> before. To my surprise that did not work, it needs an additional |>|> library. That increased the surprise, because all one needs for |>|> SOCKS5 support, even including the DNS lookup, is to hook |>|> connect(2) -- that is how i did it, as easy as [1]. And in fact |>| |>|That's changed over time - there's no standard/portable implementation |>|of socks5, and (the last time I looked...) none of the extent versions |>|corresponded to what lynx worked with long ago :-) |> |> Well.. i do not know about the history of implementations. What |> i do know is that my implementation is for SOCKS5, which is RFC |> 1928 from March 1996. It is a nice and small RFC :) | |something to read... Yes, that i know. Nine pages here. |>|> i became inspired by Gaetan Bisson's usocks-06.c, which can be |>|> used via $LD_PRELOAD, and which got me going. I will attach it. |>|> |>|> Wouldn't it be much nicer if there would be a -socks=[HOST]:PORT |>|> command line argument and a simple, always compiled in, wrapper |>|> around connect, just the way i do it (in [1])? |>| |>|that's a thought... |> |> It would be really nice. When i implemented it i tested via |> |> $ ssh -D 10000 USER@HOST |> $ mailx -Ssocks-proxy-USER@HOST=localhost:10000 |> |> But it must be said, when using OpenSSH's -D in a session where |> firefox bombs its multiple dozens of concurrent connections here |> i had to restart the ssh twice already today, because of being |> totally stuck. It might be caused by the weak wireless |> connectivity that i have, but i am about to ask ssh for what to |> do. (ControlMaster is in use.) |> |>|> Just in case i find time and the mentioned way seems interesting, |>|> is there somewhere the current development code can be loaded |>|> from? |>|> |>|> [1] https://git.sdaoden.eu/cgit/s-nail.git/tree/src/mx/net-socket.c#n\ |>|> 48\ |>|> 5 |>| |>|I put snapshots here, as I make development changes: |>| |>| https://github.com/ThomasDickey/lynx-snapshots |> |> Yes, i know. (But we know this git mirror sometimes lags behind, |> no, not for lynx in particular but for example vile and mawk |> i track via this mirror, and just a couple of days ago you seem to |> have pushed something to mawk with a six months delay. I am not |> complaining or something, and maybe it had to mature, i did not |> look. It is just that this mirror lags behind reality sometimes.) | |yes (for the former, I'd overlooked that -- also vttest, which you didn't |mention -- for the latter I had begun a more ambitious set of changes \ |but got |stuck with the yacc grammar bug, and on moving on to more urgent fixes \ |forgot |to push the completed ones out until I was reminded). At the moment I'm |working on xterm, and have to review/whatever a change for dialog whenever |patch #349 is completed. | |It's not an automatic mirror; I have scripts for several stages (with |some testing/review at each stage). Offhand | | release-foo (for local staging/packaging) | build-all-foo (test-builds, review logs, install packages) | tag-foo (adds the rcs label) | * release-all-foo (repeat release-foo, but adds cross-compiled \ | binaries) | * upload-foo | * update-ftp-links (website maintenance) | * rsync-myftp | * upload-mirror | r2g foo (exports to git, using rcs label added above) | push2github foo | * email announcements (completing the upload-foo step) | |The interim labels (no upload-foo, etc) are to verify fixes for bug \ |reports. |I marked the "real release" steps with "*", above. Counting all of the |steps, I have a few hundred "foo" scripts (perhaps I should write a script |to count them). That leaves me speechless. |>|but don't accept pull-requests -- see |>| |>| https://invisible-island.net/personal/git-exports.html |> |> That i knew too already, but thanks for the link. I am not at |> github myself, so a pull request would not happen, rather a patch |> for discussion here on this ML. Note that i hate autotools, this |> would be very hard. The rest is complicated rather due to the |> lynx context only. | |sounds good: if someone wants to do a pull request, I end up by |cloning the repo temporarily, and constructing a diff/patch. | |That doesn't happen often... | |> Pretty much so it seems, but i will try. How about |> -socks5-proxy=HOST -> STRING, parsed the first time we enter |> HtDoConnect() (or where in main()?), and a special my_connect() as |> a replacement for the connect(2)s in there, which looks out for |> the global socks5_proxy (address stored locally in the file after |> initial parse was successful?), and connects through it instead of |> the default. It is pretty much a jungle here ;). But does this | |lots of ifdefs :-) | |> sound acceptible somehow? Maybe i find some time next Tuesday or |> Wednesday? | |I don't see any real problems in going in that direction |(except of course that it wouldn't work readily with the Windows port). Yes, i have no idea of Windows at all. (Except having had the Cygwin source code to have a look sometimes, to not end in total dead ends shall i ever port to it.) |If you have something that works reasonably well on one of the BSDs, |making it more portable (adding configure checks, command-line options, |etc.) is fairly routine. That is BSD socket code + read(2) + write(2). I will throw an eye as soon as possible, and report back then, ok? Ciao from Germany, --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt) _______________________________________________ Lynx-dev mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/lynx-dev
