# EVEMon 4.0.20 - ESI Edition

**URL:** <https://forums.eveonline.com/t/evemon-4-0-20-esi-edition/75953>\
**Category:** Third Party Developers\
**Created:** [May 13, 2018, 12:43am UTC](https://forums.eveonline.com/t/evemon-4-0-20-esi-edition/75953 "2018-05-13T00:43:44Z")\
**Posts on this page:** 20\
**Page:** 29

<div class="post-metadata">

**Author:** ![InfinitasX](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/infinitasx/32/477898_2.png) [@InfinitasX](https://forums.eveonline.com/u/InfinitasX)\
**Post date:** [February 8, 2022, 12:31pm UTC](https://forums.eveonline.com/t/evemon-4-0-20-esi-edition/75953/577 "2022-02-08T12:31:43Z")

</div>

Hi, I’ve been updating EVEMon lately, and I don’t really come to the forums that much, but I just saw this thread and a number of you are still having issues with 4.0.20 – please update to 4.1.3, which contains the needed fixes for your issues.

You can find the downloads here: [https://github.com/mgoeppner/evemon/releases/tag/4.1.3](https://github.com/mgoeppner/evemon/releases/tag/4.1.3)

If you find EVEMon useful and want to support its continued development, ISK donations can be sent to IGN InfinitasX

---

<div class="post-metadata">

**Author:** ![Joe\_Starbreaker](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/joe_starbreaker/32/312165_2.png) [@Joe\_Starbreaker](https://forums.eveonline.com/u/Joe_Starbreaker)\
**Post date:** [March 23, 2022, 10:28pm UTC](https://forums.eveonline.com/t/evemon-4-0-20-esi-edition/75953/578 "2022-03-23T22:28:44Z")

</div>

Is there a convenient way to install and run EveMon on a Mac or in Linux?  
(If there’s no convenient way, I would also accept an “inconvenient” way if the instructions are clear enough!)

---

<div class="post-metadata">

**Author:** ![Emotional\_Support\_Clown](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/emotional_support_clown/32/310422_2.png) [@Emotional\_Support\_Clown](https://forums.eveonline.com/u/Emotional_Support_Clown)\
**Post date:** [March 24, 2022, 7:20am UTC](https://forums.eveonline.com/t/evemon-4-0-20-esi-edition/75953/579 "2022-03-24T07:20:01Z")

</div>

> [@Joe\_Starbreaker](#):
>
> Is there a convenient way to install and run EveMon on a Mac or in Linux?

Windows 10 VM in KVM or VirtualBox or something in a _seamless_ integration mode.

EveMon isn’t runable on Wine Mono currently. .net is a failure of not being runable everywhere, the very thing .Net was sold as and EveMon developers (EveMon always keeps getting abandoned by developers who fork it) only care about Windows which doesn’t help either. Opening non Windows bugs on it just gets blackholed.

A _Go_ port with _Qt_ or _wxWidget_ bindings would be nice.

Write once, compile everywhere always beats compile once, run everywhere.

---

<div class="post-metadata">

**Author:** ![InfinitasX](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/infinitasx/32/477898_2.png) [@InfinitasX](https://forums.eveonline.com/u/InfinitasX)\
**Post date:** [March 30, 2022, 11:32pm UTC](https://forums.eveonline.com/t/evemon-4-0-20-esi-edition/75953/580 "2022-03-30T23:32:55Z")

</div>

One of the root causes is [the usage of HttpListener](https://docs.microsoft.com/en-us/dotnet/api/system.net.httplistener?view=net-6.0), which is dependent on HTTP.sys, which wine doesn’t implement fully. There have been some ideas for how to approach removing HttpListener, but its a fairly large amount of effort, which is why it hasn’t been tackled. PRs to fix linux support are welcome.

Ideally I’d like to make EVEMon run outside of wine using .net natively, but there are only so many hours in a day, and I like to play the game too 🙂

---

<div class="post-metadata">

**Author:** ![Emotional\_Support\_Clown](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/emotional_support_clown/32/310422_2.png) [@Emotional\_Support\_Clown](https://forums.eveonline.com/u/Emotional_Support_Clown)\
**Post date:** [March 31, 2022, 7:21am UTC](https://forums.eveonline.com/t/evemon-4-0-20-esi-edition/75953/581 "2022-03-31T07:21:21Z")

</div>

That’s the problem, Microsoft promised compile once run everywhere and only supported the Windows runtime for anything useful and their renewed focus on .net core for Linux is basiclly for Azure so I wouldn’t expect any fancy desktop support there either, just basic server support. As for Java, that’s being killed pretty well by Oracle themselves (Android moved to Kotlin more).

It doesn’t (shouldn’t) need Wine, just a Mono runtime to run (Wine installs Mono).

Battling to get .Net stuff working on Linux is not a priority for me as Linux developer when now we have better offerings that work cross platform better. If you want to be stuck in Windowsland, then sure .Net is great, to go further than that, it’s a problem.

I would prefer to cleanroom this in something like _Go_ and _Qt_ if I was to have it native, I prefer write once compile everywhere. Sure it’s a bigger effort, but in the long game, it’s worth it. And to boot, you will gain far better concurreny scaling and implementation via _goroutines_ (based on C.A.R Hoare’s CSP). It also just got _Parametric Polymorphism_ (generics) added in release 1.18.

Is this the relevent Wine bug ticket for HTTP.sys? → [WineHQ Bugzilla – Bug 49819 – Multiple .NET 4.x/5.x apps need 'httpapi.HttpSetUrlGroupProperty' to support 'HttpServerTimeoutsProperty' property (EveMon 4.0.18.4979, ASP.NET Core apps)](https://bugs.winehq.org/show_bug.cgi?id=49819)

To eliminate the HttpListener problem, CCP would need to offer an alternative to OAuth2 redirect flows, they could adopt GNAP (alongside OAuth2) or alternatively allow an API key or device authorization mode perhaps for OAuth2 (that uses HTTP polling rather than redirect listening).

See my post on that here [ESI authorization for apps and services with no browser access or UI](https://forums.eveonline.com/t/esi-authorization-for-apps-and-services-with-no-browser-access-or-ui/352279) and [ESI authorization for apps and services with no browser access or UI - #17 by Emotional\_Support\_Clown](https://forums.eveonline.com/t/esi-authorization-for-apps-and-services-with-no-browser-access-or-ui/352279/17)

---

<div class="post-metadata">

**Author:** ![InfinitasX](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/infinitasx/32/477898_2.png) [@InfinitasX](https://forums.eveonline.com/u/InfinitasX)\
**Post date:** [March 31, 2022, 12:25pm UTC](https://forums.eveonline.com/t/evemon-4-0-20-esi-edition/75953/582 "2022-03-31T12:25:06Z")

</div>

There is a [managed version of HttpListener](https://github.com/space-wizards/ManagedHttpListener), but that requires .net 6.0. There has been [some work done](https://github.com/mgoeppner/evemon/pull/14/files) on this front, but there is still quite a bit to do, especially with regards to some of the older libaries used for various features.

Yes, that would be the relevant wine issue.

As I said, the HttpListener problem can also be dealt with by using a something written in fully managed code instead of requiring a call to the native http.sys library. One in theory could use a [TcpListener](https://docs.microsoft.com/en-us/dotnet/api/system.net.sockets.tcplistener?view=net-6.0) instead, but there then needs to be some boilerplate written to parse the HTTP stuff involved.

Porting to another language and ui toolkit is not something thats going to happen overnight simply by virtue of the amount of stuff that would need to be ported. I’d prefer to focus the conversation around what we can do to make things work on linux in the near term rather than something extremely long term like porting.

---

<div class="post-metadata">

**Author:** ![Emotional\_Support\_Clown](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/emotional_support_clown/32/310422_2.png) [@Emotional\_Support\_Clown](https://forums.eveonline.com/u/Emotional_Support_Clown)\
**Post date:** [March 31, 2022, 12:25pm UTC](https://forums.eveonline.com/t/evemon-4-0-20-esi-edition/75953/583 "2022-03-31T12:25:20Z")

</div>

Remove the HttpListener

Use the device code grant on the device flow on OAuth2

See [OAuth 2.0 Device Code Grant](https://oauth.net/2/grant-types/device-code/) and [Token Request - OAuth 2.0 Simplified](https://www.oauth.com/oauth2-servers/device-flow/token-request/)

Problem solved. No more “not implemented” HttpListener as there is no more redirects to listen for. You can poll HTTP.

OAuth2 supports a non-redirect flow for devices.

There’s your fix.

---

<div class="post-metadata">

**Author:** ![InfinitasX](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/infinitasx/32/477898_2.png) [@InfinitasX](https://forums.eveonline.com/u/InfinitasX)\
**Post date:** [March 31, 2022, 12:37pm UTC](https://forums.eveonline.com/t/evemon-4-0-20-esi-edition/75953/584 "2022-03-31T12:37:41Z")

</div>

This would require the SSO api to support that, which I don’t believe it does. This is the ESI documentation on how to do SSO for native applications – [OAuth 2.0 for Mobile or Desktop Applications | esi-docs](https://docs.esi.evetech.net/docs/sso/native_sso_flow.html). Pyfa (written in python) also uses this same flow with a listener to receive the authorization – the difference is python’s http code does not require windows native code to run 🙂

---

<div class="post-metadata">

**Author:** ![Emotional\_Support\_Clown](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/emotional_support_clown/32/310422_2.png) [@Emotional\_Support\_Clown](https://forums.eveonline.com/u/Emotional_Support_Clown)\
**Post date:** [March 31, 2022, 12:38pm UTC](https://forums.eveonline.com/t/evemon-4-0-20-esi-edition/75953/585 "2022-03-31T12:38:35Z")

</div>

There currently is a feature request open for this grant flow here [Request to implentment OAuth 2.0 Device Flow · Issue #65 · ccpgames/sso-issues · GitHub](https://github.com/ccpgames/sso-issues/issues/65)

---

<div class="post-metadata">

**Author:** ![Emotional\_Support\_Clown](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/emotional_support_clown/32/310422_2.png) [@Emotional\_Support\_Clown](https://forums.eveonline.com/u/Emotional_Support_Clown)\
**Post date:** [April 2, 2022, 8:36pm UTC](https://forums.eveonline.com/t/evemon-4-0-20-esi-edition/75953/586 "2022-04-02T20:36:31Z")

</div>

An alternative option could be to write up a little proxy server in a language such as _Go_ that you could talk to from EveMon, and let the proxy server proxy the OAuth2 redirect via a socket. That would be simplier and quicker than reimplementing a full HttpListener. You just launch the proxy when doing a character SSO then shut it down after completion. That way you can use the existing OAuth2 application grant flow.

[EveMon] ← socket → {Go proxy listener} ← OAuth2 → [CCP SSO]

More moving parts, but doing it in something like _Go_ should keep it small and simple.

Now you have three possible solutions

1. OAuth2 device grant flow ([Request to implentment OAuth 2.0 Device Flow · Issue #65 · ccpgames/sso-issues · GitHub](https://github.com/ccpgames/sso-issues/issues/65)),
2. Go proxy listener ([http package - net/http - pkg.go.dev](https://pkg.go.dev/net/http) and [net package - net - pkg.go.dev](https://pkg.go.dev/net)),
3. Reimplement HttpListener in .Net ([GitHub - space-wizards/ManagedHttpListener: Literally .NET's build in managed HttpListener butchered so that you compile it for Windows](https://github.com/space-wizards/ManagedHttpListener)).

I would seriously consider option 2 as a stop gap before the migration to .Net 6+ and other larger gutting (UI framework for example). That way you will have it up and running on Linux and Mac. You could do that proxy either for all platforms or just for Linux and Mac as experimental. It looks like a major refactoring of the app is necessary anyway for future proofing. This proxy solution would still continue to work with a .Net 6 migration so it can last longer if need be.

_.Net Framework_ is dead.

---

<div class="post-metadata">

**Author:** ![Big\_Rigger](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/big_rigger/32/314430_2.png) [@Big\_Rigger](https://forums.eveonline.com/u/Big_Rigger)\
**Post date:** [April 5, 2022, 4:36pm UTC](https://forums.eveonline.com/t/evemon-4-0-20-esi-edition/75953/587 "2022-04-05T16:36:47Z")

</div>

Thank you for Bringing EVE Mon back!

---

<div class="post-metadata">

**Author:** ![Emotional\_Support\_Clown](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/emotional_support_clown/32/310422_2.png) [@Emotional\_Support\_Clown](https://forums.eveonline.com/u/Emotional_Support_Clown)\
**Post date:** [April 5, 2022, 4:43pm UTC](https://forums.eveonline.com/t/evemon-4-0-20-esi-edition/75953/588 "2022-04-05T16:43:11Z")

</div>

`$ git clone https://github.com/mgoeppner/evemon.git`

Always have a local copy.

---

<div class="post-metadata">

**Author:** ![Emotional\_Support\_Clown](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/emotional_support_clown/32/310422_2.png) [@Emotional\_Support\_Clown](https://forums.eveonline.com/u/Emotional_Support_Clown)\
**Post date:** [April 6, 2022, 4:24pm UTC](https://forums.eveonline.com/t/evemon-4-0-20-esi-edition/75953/589 "2022-04-06T16:24:33Z")

</div>

Microsoft are now retiring the target framework used by EveMon.

See [Windows message center | Microsoft Docs](https://docs.microsoft.com/en-us/windows/release-health/windows-message-center#2800) and [.NET Framework 4.5.2, 4.6, and 4.6.1 will reach End of Support on Apr 26, 2022 - .NET Blog](https://devblogs.microsoft.com/dotnet/dotnet-framework-45-46-461-end-of-support/)

EveMon has the following runtime target in [evemon/EVEMon.csproj at main · mgoeppner/evemon · GitHub](https://github.com/mgoeppner/evemon/blob/main/src/EVEMon/EVEMon.csproj#L12)

` <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>`

The end of _.Net Framework_ is near (thankfully).

---

<div class="post-metadata">

**Author:** ![InfinitasX](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/infinitasx/32/477898_2.png) [@InfinitasX](https://forums.eveonline.com/u/InfinitasX)\
**Post date:** [April 6, 2022, 5:57pm UTC](https://forums.eveonline.com/t/evemon-4-0-20-esi-edition/75953/590 "2022-04-06T17:57:26Z")

</div>

While I understand you may not like .NET, the reality of the situation is that it is what EVEMon is built upon, and constantly complaining about it is not constructive. You also are also welcome to help contribute with pull requests to improve Linux support.

I am aware of the 4.6.1 deprecation, and it is one of the reasons why I have been working on .net 6 support. As a stopgap, EVEMon will likely be upgraded next week to 4.6.2 which remains in support.

---

<div class="post-metadata">

**Author:** ![Emotional\_Support\_Clown](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/emotional_support_clown/32/310422_2.png) [@Emotional\_Support\_Clown](https://forums.eveonline.com/u/Emotional_Support_Clown)\
**Post date:** [April 6, 2022, 6:06pm UTC](https://forums.eveonline.com/t/evemon-4-0-20-esi-edition/75953/591 "2022-04-06T18:06:10Z")

</div>

I was suggesting solutions and just stating that people should update their runtime as SHA-1 is depreciated. You have three solutions, good luck chasing MAUI, it’s not the "proper linux support\* as per your Github ticket tracking you claim it is here ([Crash on Wine due to unimplemented native HTTPListener · Issue #9 · mgoeppner/evemon · GitHub](https://github.com/mgoeppner/evemon/issues/9)) .Net _Framework_ is reaching end of life. .Net 6 is not. .Net 6 is based on Mono for Linux. Pretty sure I have been _constructive_, see here [EVEMon 4.0.20 - ESI Edition - #586 by Emotional\_Support\_Clown](https://forums.eveonline.com/t/evemon-4-0-20-esi-edition/75953/586) option 2. You may not like what I say, that’s fine.

---

<div class="post-metadata">

**Author:** ![InfinitasX](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/infinitasx/32/477898_2.png) [@InfinitasX](https://forums.eveonline.com/u/InfinitasX)\
**Post date:** [April 6, 2022, 6:20pm UTC](https://forums.eveonline.com/t/evemon-4-0-20-esi-edition/75953/592 "2022-04-06T18:20:00Z")

</div>

“_.Net Framework_ is dead.” and " The end of _.Net Framework_ is near (thankfully)." are not constructive comments when discussing a nearly decade old tool written on that platform, nor is bringing up Go.

If you want to help, make pull requests – There is plenty of stuff to do.

---

<div class="post-metadata">

**Author:** ![Emotional\_Support\_Clown](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/emotional_support_clown/32/310422_2.png) [@Emotional\_Support\_Clown](https://forums.eveonline.com/u/Emotional_Support_Clown)\
**Post date:** [April 6, 2022, 6:26pm UTC](https://forums.eveonline.com/t/evemon-4-0-20-esi-edition/75953/593 "2022-04-06T18:26:01Z")

</div>

Pretty sure a small _Go_ proxy listener can be up in a day. It will forward the OAuth2 response to the EveMon (my suggestion for option 2). You can do it in any language, not just _Go_, it would get Http.sys out of the picture and it working on Linux / MacOS in no time.

You even claim MAUI is “proper Linux support” when Microsoft state VERY clearly they have no intention to support Linux on MAUI.

See here [Crash on Wine due to unimplemented native HTTPListener · Issue #9 · mgoeppner/evemon · GitHub](https://github.com/mgoeppner/evemon/issues/9#issuecomment-1013928702)

 ![image](https://global.discourse-cdn.com/eveonline/original/4X/7/6/1/761940bbbedb85b403146e02d9cdeb224ce4cd37.png)

Not sure what you’ve read but it wasn’t Microsoft’s own page on it.

---

<div class="post-metadata">

**Author:** ![InfinitasX](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/infinitasx/32/477898_2.png) [@InfinitasX](https://forums.eveonline.com/u/InfinitasX)\
**Post date:** [April 6, 2022, 6:30pm UTC](https://forums.eveonline.com/t/evemon-4-0-20-esi-edition/75953/594 "2022-04-06T18:30:39Z")

</div>

I look forward to seeing your pull requests then. 🙂

---

<div class="post-metadata">

**Author:** ![Emotional\_Support\_Clown](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/emotional_support_clown/32/310422_2.png) [@Emotional\_Support\_Clown](https://forums.eveonline.com/u/Emotional_Support_Clown)\
**Post date:** [April 6, 2022, 6:38pm UTC](https://forums.eveonline.com/t/evemon-4-0-20-esi-edition/75953/595 "2022-04-06T18:38:16Z")

</div>

MAUI from a dotnet PM (Project Manager)

> **[First class Linux support developed by Microsoft · Discussion #339 · dotnet/maui](https://github.com/dotnet/maui/discussions/339#discussioncomment-345660)**
>
> I would normally have been quite excited to hear about maui. But knowing that Microsoft gets colder quarter after quarter on "we love Linux", the official take so far here comes as no sur...

 ![image](https://global.discourse-cdn.com/eveonline/original/4X/c/a/d/cadc5ca02912402c5073d8b06288b7fc896cd219.png)

No Linux there either, see [What is .NET MAUI? - .NET MAUI | Microsoft Docs](https://docs.microsoft.com/en-us/dotnet/maui/what-is-maui) , “Linux” text search results in zero occurrances.  
 ![image](https://global.discourse-cdn.com/eveonline/original/4X/0/8/3/0832cc617f9907d25e9981464e04cc53192e30d3.png)

Supported platforms [Supported platforms for .NET MAUI apps - .NET MAUI | Microsoft Docs](https://docs.microsoft.com/en-us/dotnet/maui/supported-platforms) again, no Linux.

 ![image](https://global.discourse-cdn.com/eveonline/original/4X/0/2/2/0220178af7e65b0ae2f88772319e89fa26f36807.png)

Not sure how you see “proper Linux support” from all that. I certinally would be interested to read about it because everybody else is using Avalonia or Uno to get Linux support on .Net.

---

<div class="post-metadata">

**Author:** ![InfinitasX](https://sea1.discourse-cdn.com/eveonline/user_avatar/forums.eveonline.com/infinitasx/32/477898_2.png) [@InfinitasX](https://forums.eveonline.com/u/InfinitasX)\
**Post date:** [April 6, 2022, 6:49pm UTC](https://forums.eveonline.com/t/evemon-4-0-20-esi-edition/75953/596 "2022-04-06T18:49:26Z")

</div>

WinForms is a continual headache for running natively on multiple platforms, which is why MAUI came up in that discussion at all. I’m happy to be wrong about it though, but a new UI toolkit would be needed, which is not really something I am interested in tackling in the near term. Let’s take the technical discussions to github – its a better platform for this sort of stuff.

[Previous page](https://forums.eveonline.com/t/evemon-4-0-20-esi-edition/75953.md?page=28)

[Next page](https://forums.eveonline.com/t/evemon-4-0-20-esi-edition/75953.md?page=30)
