<?xml version="1.0"?>
<rss version="2.0"><channel><title>AirVPN Forums</title><link>https://airvpn.org/rss/2-airvpn-forums.xml/</link><description>Forums</description><language>en</language><item><title>New IOS app with universal profile support.</title><link><![CDATA[https://airvpn.org/forums/topic/81062-new-ios-app-with-universal-profile-support/?do=findComment&comment=264205]]></link><description>Hello AirVPN community, this is my first post here, so I apologize if it lacks quality; I felt compelled to share this suggestion after encountering a problem with the WireGuard iOS app. I have identified a solution and a fix for iOS users so they need not switch between multiple apps. The Passepartout app on the App Store is fully open source, supports both protocols, and can connect to other third-party VPNs if desired; it is current, unlike the three-year-old WireGuard app. Let&#x2019;s show the developer some appreciation by making it fully part of the ecosystem.</description><pubDate>Mon, 17 Aug 2026 03:25:57 +0000</pubDate></item><item><title>How to verify Android version Eddie's signature</title><link><![CDATA[https://airvpn.org/forums/topic/81050-how-to-verify-android-version-eddies-signature/?do=findComment&comment=264175]]></link><description>Hi,  
	 
	I'd like to know how to verify Android version Eddie's signature. 
	we can verify the SHA256 hash here, but that's only part of the necessary verification steps. 
	The level of information required for verification is provided, for example, by Signal 
	Apksigner on Eddie.apk returns:
 


$ apksigner verify -v --print-certs --min-sdk-version 24 "EddieAndroid-4.1.0VC40.apk"
Verifies
Verified using v1 scheme (JAR signing): false
Verified using v2 scheme (APK Signature Scheme v2): true
Verified using v3 scheme (APK Signature Scheme v3): false
Verified using v3.1 scheme (APK Signature Scheme v3.1): false
Verified using v4 scheme (APK Signature Scheme v4): false
Verified for SourceStamp: false
Number of signers: 1
Signer #1 certificate DN: CN="Air, C=IT"
Signer #1 certificate SHA-256 digest: 7a3208c06e93971cd1bfb95d7fcf05014228ca7382c14e300d733fa432b8de66
Signer #1 certificate SHA-1 digest: 6d1fbc839f7a4e52da3b095a38775466521c3ed2
Signer #1 certificate MD5 digest: 343f044d8b785c8af0de4d66a3246df7
Signer #1 key algorithm: RSA
Signer #1 key size (bits): 2048
Signer #1 public key SHA-256 digest: 3ceb2ce2be86033be3fa25a673eb9e6d826ed6f6bbcd64043385a2a098b1783f
Signer #1 public key SHA-1 digest: e7af70cd8d246173881bf10d87c03c30b805a9d5
Signer #1 public key MD5 digest: b303aa430dc1728d16296a252030c390
 
Can anyone provide info to compare and verify? 
Many thanks!</description><pubDate>Sat, 15 Aug 2026 07:48:39 +0000</pubDate></item><item><title>Please I need a refund</title><link><![CDATA[https://airvpn.org/forums/topic/81044-please-i-need-a-refund/?do=findComment&comment=264166]]></link><description>Hello.. please I made a one month purchase earlier today for the vpn client. And I just got to find out it can't access the platforms Intended for the purchase which renders it non useful at the moment. Kindly refund me so I can use the money to get what works. I appreciate your service. Airvpn is a good vpn though.</description><pubDate>Sat, 15 Aug 2026 00:50:40 +0000</pubDate></item><item><title>Aquila</title><link><![CDATA[https://airvpn.org/forums/topic/81033-aquila/?do=findComment&comment=264151]]></link><description>Just out of curiosity I've noticed that Aquila always has traffic, for example 1mbps average and no problem anywhere else.  So why use Aquila?  Lots of people using that one even though there's Bunda and Imai for 20gbits instead of 2gbps like Aquila but in the same place.  What's so special about Aquila?</description><pubDate>Thu, 13 Aug 2026 23:51:38 +0000</pubDate></item><item><title>Client IP not updated, cached in browser?</title><link><![CDATA[https://airvpn.org/forums/topic/81017-client-ip-not-updated-cached-in-browser/?do=findComment&comment=264120]]></link><description><![CDATA[At http://ipleak.net, the top section "Your IP Address" should alway display the same client IP addr as the lower section "IP Address details", is that correct?   
 
I have a case where I load the page, then enable a VPN that routes all traffic through a different IP, then refresh the page.  The top "Your IP Address" still displays the *old* IP address, meanwhile the lower "IP Address details" shows the correct updated IP address.  I tried 1) refresh the page fully -&gt; still shows outdated IP addr, and 2) open page in a new browser -&gt; shows correct IP addr. 
 
So it appears something is caching the old IP addr in the browser or cookies, etc.   
 
Please let me know if I've misunderstood the feature.  It does seem that the same info should be displayed regardless of browser as long as there is no browser-level routing or proxy involved.  Thanks a lot for any help!]]></description><pubDate>Tue, 11 Aug 2026 13:58:15 +0000</pubDate></item><item><title>Los Angeles Servers</title><link><![CDATA[https://airvpn.org/forums/topic/81014-los-angeles-servers/?do=findComment&comment=264113]]></link><description>I can't see any of the servers in Los Angeles in Eddie. I tried logging out and back in and deleting the default.profile file but to no avail. I am running on Windows 10.</description><pubDate>Mon, 10 Aug 2026 23:13:41 +0000</pubDate></item><item><title>Eddie-CLI unable to connect, Linux Debian</title><link><![CDATA[https://airvpn.org/forums/topic/81011-eddie-cli-unable-to-connect-linux-debian/?do=findComment&comment=264105]]></link><description><![CDATA[Hello! 
 
I'm currently trying to set up eddie on linux using eddie-cli to solve my issues with a ~2MiB seed speed with the current wireguard config on a 500/500 fiber network. I'm using the following command to connect, plus my login credentials obviously
 
./eddie-cli -connect -netlock.connection=false
and I am getting as far as switching the DNS and flushing it until I get the error "Exception: Executable '/usr/sbin/service' not allowed: Writable by group". I assumed this was a permissions thing, but the airvpn user plus the root user (obviously) have permissions to this file. This is what the logs look like around that section, right after the latency test:


. 2026.08.10 05:49:57 - Collect information about AirVPN completed
I 2026.08.10 05:49:59 - Checking authorization ...
! 2026.08.10 05:50:00 - Connecting to Orion (Netherlands, Alblasserdam)
. 2026.08.10 05:50:00 - Routes, add ###.###.###.###/32 for interface "eth0".
. 2026.08.10 05:50:00 - WireGuard &gt; Setup start
. 2026.08.10 05:50:00 - WireGuard &gt; Setup complete
. 2026.08.10 05:50:00 - WireGuard &gt; Setup interface
. 2026.08.10 05:50:01 - WireGuard &gt; Received first handshake
. 2026.08.10 05:50:01 - DNS of the system switched to VPN DNS - via /etc/resolv.conf)
. 2026.08.10 05:50:01 - Routes, add 0.0.0.0/1 for interface "Eddie".
. 2026.08.10 05:50:01 - Routes, add 128.0.0.0/1 for interface "Eddie".
. 2026.08.10 05:50:01 - Routes, add ::/1 for interface "Eddie".
. 2026.08.10 05:50:01 - Routes, add 8000::/1 for interface "Eddie".
. 2026.08.10 05:50:01 - Routes, add ###.###.###.###/32 for interface "Eddie".
. 2026.08.10 05:50:01 - Routes, add ####:####:####:##:####:####:####:##/128 for interface "Eddie".
. 2026.08.10 05:50:01 - Flushing DNS
W 2026.08.10 05:50:01 - Exception: Executable '/usr/sbin/service' not allowed: Writable by group
! 2026.08.10 05:50:01 - Disconnecting
. 2026.08.10 05:50:02 - WireGuard &gt; Stop request received
. 2026.08.10 05:50:02 - WireGuard &gt; Stopping
. 2026.08.10 05:50:02 - WireGuard &gt; Completed
. 2026.08.10 05:50:02 - Routes, delete 0.0.0.0/1 for interface "Eddie", not exists.
. 2026.08.10 05:50:02 - Routes, delete 128.0.0.0/1 for interface "Eddie", not exists.
. 2026.08.10 05:50:02 - Routes, delete ::/1 for interface "Eddie", not exists.
. 2026.08.10 05:50:02 - Routes, delete 8000::/1 for interface "Eddie", not exists.
. 2026.08.10 05:50:02 - Routes, delete ###.###.###.###/32 for interface "eth0".
. 2026.08.10 05:50:02 - Routes, delete ###.###.###.###/32 for interface "Eddie", not exists.
. 2026.08.10 05:50:03 - Routes, delete ####:####:####:##:####:####:####:##/128 for interface "Eddie", not exists.
. 2026.08.10 05:50:03 - DNS of the system restored - via /etc/resolv.conf)
. 2026.08.10 05:50:03 - Collect network information
. 2026.08.10 05:50:03 - Connection terminated.
Any help would be super appreciated, thank you!]]></description><pubDate>Mon, 10 Aug 2026 05:55:09 +0000</pubDate></item><item><title>CAN'T SEED (QBTORRENT + MAC OS)</title><link><![CDATA[https://airvpn.org/forums/topic/80995-cant-seed-qbtorrent-mac-os/?do=findComment&comment=264066]]></link><description>Hi, I'm new with AirVPN. 
 
My config : 
- MacOS up-to-date 
- Eddie or WireGuard 
- Qbtorrent up-to-date 
 
My problem : 
- I can download with QBtorrent but I can't seed 
- I can see peers connect and disconnect imm&#xE9;diatly 
- Before QBtorrent, I had the same issue with Tansmission (so, it seems the probelm does not come from the P2P software ?) 
 
My settings (see below): 
- Port forwarding OK 
- QBTorrent setings : I think I followed recommandations</description><pubDate>Sat, 08 Aug 2026 08:39:33 +0000</pubDate></item><item><title>Device does not show as connected in client area</title><link><![CDATA[https://airvpn.org/forums/topic/80991-device-does-not-show-as-connected-in-client-area/?do=findComment&comment=264061]]></link><description>I'm running Eddie GUI 2.24.6 on Linux Mint. I'm able to connect to a server with the Eddie client with my device selected at the login screen. When I check that device in the client area under devices it does not show up as connected. When I check the Eddie client under "stats" it shows the same device that I selected at the login screen.  
 
I wouldn't care that the client area on the website does not show me as connected, but I'm also having a port forwarding issue that began suddenly when the client area stopped showing me as connected. One problem at a time. Any ideas on how to troubleshoot this issue with the device? Thanks</description><pubDate>Fri, 07 Aug 2026 23:13:58 +0000</pubDate></item><item><title>Port forwarding &#x2014; historical account-to-port mapping retention?</title><link><![CDATA[https://airvpn.org/forums/topic/80970-port-forwarding-%E2%80%94-historical-account-to-port-mapping-retention/?do=findComment&comment=264018]]></link><description>Hello,
 


	I have a question about the remote port forwarding feature that I couldn't find covered in the FAQ, and support has closed my ticket three times without an answer (both via the website form and via direct support email), so I'm trying here.
 


	Your documentation states that "a port will remain reserved to your account as long as it has a valid subscription plan." I understand this describes the current, active assignment of a port to an account.
 


	My question concerns historical data: after a port reservation is changed or released (e.g. account cancellation, manual port change, or subscription lapse), do you retain any record of which account was previously assigned to a given port, and for how long?
 


	Specifically:
 


	
		Is the account-to-port mapping treated as part of your no-log policy, or is it considered account configuration data retained separately?
	
	
		If a port assignment changes, is the previous assignment logged anywhere, or immediately and irreversibly overwritten?
	
	
		In the event of a valid legal request concerning a specific server/port/timestamp, what information (if any) would you be able to provide, and how far back?
	



	I'm asking to properly understand the privacy guarantees of the port forwarding feature, not for any operational issue.
 


	Thank you for your time.
 


	Best regards,</description><pubDate>Wed, 05 Aug 2026 18:50:25 +0000</pubDate></item><item><title>Indonesia VPN</title><link><![CDATA[https://airvpn.org/forums/topic/80963-indonesia-vpn/?do=findComment&comment=263998]]></link><description>Hi everyone, 
 
Could anyone help me connect to an Indonesian VPN ? 
I have never seen this location on my list, but I'm sure there is a way to connect to an Indonesian VPN. Any help ?</description><pubDate>Tue, 04 Aug 2026 09:28:58 +0000</pubDate></item><item><title>AirDash (Dashboard unofficial for iOS and iPadOS)</title><link><![CDATA[https://airvpn.org/forums/topic/80941-airdash-dashboard-unofficial-for-ios-and-ipados/?do=findComment&comment=263968]]></link><description>Hello, 
	 
	I'm developing an app called AirDash, it's an AirVPN dashboard that uses the API. 
	It requires at least iOS 26 and iPadOS 26, built-in Swift 6. 
	 
	Notes: 
	 
	I don't have a paid apple developer account, so my only way to offer you a try is either to build the project via Xcode or to use the .ipa of the latest release available (currently v.1.0.4) via your preferred sideloading method. 
	See details in the project readme. 
	 
	Features: 
	 
	Network: Full server list with load, users, health, ping latency, sort (load / name / ping), continent filter, search and favorites 
	Server comparison: Long-press any server to add it to a comparison (up to 3); tap the toolbar button to view them side by side 
	Dashboard: Account info (current IP, VPN status, expiration, credits, sessions, member since); swipe left on a session to disconnect 
	Server detail: WireGuard or OpenVPN profile generation, direct import into the system VPN app, share and QR code (WireGuard) in a &#xB7;&#xB7;&#xB7; menu; recent profiles per server with one-tap reimport 
	Profile history: Recently used server profiles shown in Dashboard and in each server detail; supports one-tap reimport by protocol 
	Biometric lock: Face ID / Touch ID protection, toggleable in Settings 
	App icon: 8 variants: Auto, Classic, Light, Purple, Green, Red, Minimal, Minimal Dark 
	Settings: API key rotation, light/dark/system theme, app icon picker, changelog, credits 
	Notifications: Subscription expiration alerts 7 days and 1 day in advance (delivered by the OS even when the app is closed) 
	Siri Shortcuts: VPN Status, My IP Address, Open Server (navigates directly to a specific server) 
	Widget: Current IP, VPN status and active sessions on the home screen; configurable with a favorite server picker showing load, users and latency (Small, Medium and Large sizes) 
	Quick Actions: Long-press the app icon to jump directly to Dashboard or Network 
	 
	Links: 
	 
	Repositorie Github: https://github.com/zlimteck/AirDash 
	Releases Github: https://github.com/zlimteck/AirDash/releases 
	 
	If any members try it, don't hesitate to give me feedback, and suggestions for improvement. thank you in advance. 
	GrimZ.</description><pubDate>Sat, 01 Aug 2026 09:40:16 +0000</pubDate></item><item><title>IP Geolocation</title><link><![CDATA[https://airvpn.org/forums/topic/80936-ip-geolocation/?do=findComment&comment=263958]]></link><description>UK Server Baiduri geolocates to Romania (Bucharest) whereas UK Server Ceibo IP geolocates to UK (Manchester). 
 
I would have expected either no IP geolocation or correct geolocation but why the inconsistency where one server just gives completely the wrong country and another gives the correct country. Makes it difficult if you are using servers in a country to in effect appear as though you are in that country.
 
	
		Baiduri
	



	
		Baiduri</description><pubDate>Fri, 31 Jul 2026 14:05:46 +0000</pubDate></item><item><title>Discontinuing subscription. Feedback</title><link><![CDATA[https://airvpn.org/forums/topic/80934-discontinuing-subscription-feedback/?do=findComment&comment=263955]]></link><description>Greetings fellow Airians, 
 
I'm a Mullvad refugee and tested AirVPN for a short time to see if it could replace Mullvad. Unfortunately, while AirVPN seems to be the ethical choice and is European, it isn't on par with Mullvad and my search for an alternative continues.  
 
Issues 
- Frequent disconnects with no reconnection, even on a stable network (WiFi home connection and mobile connection) 
- multiple slow servers 
- Upnp not used for port-forwarding 
- Desktop app idiosyncrasies: 
  * slow interface 
  * unlabeled buttons that don't have clear functions 
  * problems exiting (it just hangs and has to be sigKILLed) 
  * UX for connecting is unclear; connection to server directly, not country 
  * cannot generate wireguard configs for different device (flneeded for headless device)  
  * Wireguard config does have a "DNS" line, so DNS resolution doesn't work 
 
Recommendations 
 
Develop opensource clients that allow other VPN providers to just plugin their details (login server or whatever) and use a common API definition (e.g GET /api/v1/servers) for common VPN actions like getting servers, filtering them, generating wireguard configs, etc.). By making the client generic and allowing other providers to plug in their details, it would allow them to contribute and improve the app together. 
 
The opensource clients should at least be inspired by other apps which make their usage dead simple. 
 
And regarding connection stability, add a kill switch and the ability to reconnect automatically. And add some way for people to create debug traces to help debug. When the connections dropped and didn't reconnect, I had no idea where it came from. Other VPNs were just stable, so debugging was never necessary, so to be fair, maybe they suck at debugging stuff too. 
 
Also, for P2P, the experience was just bad. It was not clear from the webUI that port forwarding was manual and had to be done at all. 
 
Final words 
 
I really wanted this to work and support a cause that feels like it's protecting privacy without funding fascism, but the service provided just doesn't work well. If things improve, I might return, but at the moment, this isn't usable by the average person, which drastically reduces the possible market range.  
 
Good luck in the future</description><pubDate>Fri, 31 Jul 2026 11:08:18 +0000</pubDate></item><item><title>Eddie dissapears</title><link><![CDATA[https://airvpn.org/forums/topic/80905-eddie-dissapears/?do=findComment&comment=263901]]></link><description>I used the program once, and now it wont start again. Everytime I run it, it says theres already an instance of Eddie running, but the program doesnt appear anywhere. Even after I uninstalled and reinstalled.</description><pubDate>Sun, 26 Jul 2026 17:42:35 +0000</pubDate></item><item><title>Split tunneling applications?</title><link><![CDATA[https://airvpn.org/forums/topic/80904-split-tunneling-applications/?do=findComment&comment=263900]]></link><description>Is there a way to easily 'split tunnel' applications with airvpn? I'm a previous user of Mullvad VPN, and split tunneling was a feature I used often for steam and plex. I know there's a way to remove specific IP addresses from the VPN with airvpn, but I'm not sure where to start with that to fix my issues. I'm looking to do this for Android and Linux. (I'm only functionally literate in the latter, so forgive me if I'm using some terms incorrectly in this post! &#x1F613;) 
Alternatively, if excluding applications from traffic is not possible, is there a way to limit it to specific applications (firefox?)</description><pubDate>Sun, 26 Jul 2026 14:22:25 +0000</pubDate></item><item><title>bypass proxy check?</title><link><![CDATA[https://airvpn.org/forums/topic/80891-bypass-proxy-check/?do=findComment&comment=263885]]></link><description>hello,  
 
Is there anyway to bypass proxy check?  ( proxycheck dot oi ) and detect as a normal ip?</description><pubDate>Sat, 25 Jul 2026 17:45:19 +0000</pubDate></item><item><title>Handshake AI / remote work</title><link><![CDATA[https://airvpn.org/forums/topic/80889-handshake-ai-remote-work/?do=findComment&comment=263883]]></link><description>https://ai.joinhandshake.com 
I just noticed the https://airvpn.org/routes/  tool, it looks like they've blocked every sever on AirVPN's roster. I was using Air since June to work, now I cannot finish my project. 
I am presently hustling to get a distant friend to help me in the USA (where I need my IP) to let me proxy through his work's VPN. 
I'm a US citizen who can't live in my country due to the regime (no, I'm not being extreme; I don't think people quite get how bad it is for some people there yet) and just trying to work. 
 
I'm a nice person and not hurting anyone  ... 
 
Is this something that can be fixed with AirVPN somehow or am I done for here. 
I searched forums but as you might expect "handshake" is a tough term to sift through on forum about VPN software.  
  
Thank you for any help you might have.</description><pubDate>Sat, 25 Jul 2026 17:07:21 +0000</pubDate></item><item><title>nifty.org</title><link><![CDATA[https://airvpn.org/forums/topic/80885-niftyorg/?do=findComment&comment=263877]]></link><description>Hello, As of today I can no longer access the website nifty.org. It is a gay story website and where I live it is blocked. Is this a decision that AirVpn made to remove access to anything that is gay story oriented? If so I would like to cancel my account because I have been a customer for nearly 10 years and I am dissapointed.</description><pubDate>Sat, 25 Jul 2026 08:41:32 +0000</pubDate></item><item><title><![CDATA[I recommended AirVPN to a friend & got credit, but it has disappered.]]></title><link><![CDATA[https://airvpn.org/forums/topic/80883-i-recommended-airvpn-to-a-friend-got-credit-but-it-has-disappered/?do=findComment&comment=263874]]></link><description>About 5 months ago or so I convinced a friend to buy a 6-month plan (I think) and received about $5. It's not much, but I'm tight on cash right now (or always) and I wanted to put it towards a new subscription. 
Last week I was going to do this and it showed my credit, but it seems to have disappeared, as it I no longer see it when I try to renew.  
 
Where did it go? Was it autopaid to my subscription or something? 
 
Thank you.</description><pubDate>Sat, 25 Jul 2026 06:40:56 +0000</pubDate></item><item><title>New Aisa Server Request</title><link><![CDATA[https://airvpn.org/forums/topic/80880-new-aisa-server-request/?do=findComment&comment=263871]]></link><description>Will servers for other Asian countries be added in the future? Such as South Korea and Thailand&#xFF1F;</description><pubDate>Sat, 25 Jul 2026 02:10:08 +0000</pubDate></item><item><title>StreamVision IPTV</title><link><![CDATA[https://airvpn.org/forums/topic/80868-streamvision-iptv/?do=findComment&comment=263846]]></link><description>Resolved, thank you</description><pubDate>Thu, 23 Jul 2026 23:32:52 +0000</pubDate></item><item><title>Downstream randomly and constantly cutting out</title><link><![CDATA[https://airvpn.org/forums/topic/80861-downstream-randomly-and-constantly-cutting-out/?do=findComment&comment=263834]]></link><description>I have tried contacting support, but they have been pretty useless with suggesting TCP, lower MTU, different node, etc. 
 
I have tried using Eddie, I have tried using Wiresock. I've tried TCP, lower MTU, and different nodes. I pick the closest nodes to me (Los Angeles Sarin/Maia). 
 
I do split tunneling for livestreaming applications. 
 
When there are no issues, I am connected just fine. Low ping, good downstream/upstream. When the issue happens seems to be random, usually while gaming and livestreaming. What happens is that, my upstream seems to be fine, but my downstream seems to stop completely for almost 30 seconds. Literally 0 bits are being sent through the VPN. 
 
This has been leading me to disconnecting or lagging out while gaming, and it's getting very frustrating. I have tried other VPNs but I like how AirVPN's port forwarding works (which I use for some games that require it). 
 
Any advice would be helpful in resolving this.</description><pubDate>Thu, 23 Jul 2026 02:12:13 +0000</pubDate></item><item><title>Hi guys</title><link><![CDATA[https://airvpn.org/forums/topic/80857-hi-guys/?do=findComment&comment=263829]]></link><description><![CDATA[Hi guys I'm a new user I just joined not too long ago. I tried making a comment yesterday for some reason it disappeared? There were some speed issues with the servers but they subsided. 
	 
	Anyways I was taking a look at the code (hope that's okay) and saw the following: 
	/src/Lib.Core/Providers/Service.cs 
	 
	First you say when you're bootstrapping directly via IP you can't use TLS but surely there must be some other way to encrypt the tunnel itself instead of manually fiddling with the data? Then you use base64 to encode the modulus and exponent and go on as to manually build up the key instead of using a PEM file or the like, then you manually encrypt the data and fiddle around with the string? I don't really get the thought process behind this. Why not just register a domain then or simply use some other means of transferring the data? 
	 
	Why not just take the data (username / password for example) and manually encrypt it with a public key (imported via a PEM file) and transfer it like that if your not using TLS? Why make this so complicated? 
	 
	Could you please also lift the posting restrictions for paid users? Apparently you can only post once a day and your comments need to be manually approved. I get that you need to take measures to prevent spam but for paid users surely there can be some more restrictions? I saw a few interesting posts yesterday but couldn't comment on them because of this.
 


	
		
// Intentional: AirVPN bootstrap uses HTTP without TLS; payload is AES-256 with RSA-wrapped session key (see below).
// Direct IP bootstrap URLs cannot rely on TLS common-name validation.

// 'S' is the AES 256 bit one-time session key, crypted with a RSA 4096 public-key.
// 'D' is the data from the client to our server, crypted with the AES.
// The server answer is XML decrypted with the same AES session.
	



public static byte[] AssocToUtf8Bytes(Dictionary&lt;string, string&gt; assoc)
		{
			string output = "";
			foreach (KeyValuePair&lt;string, string&gt; kp in assoc)
			{
				output += ExtensionsString.Base64Encode(kp.Key.GetUtf8Bytes()) + ":" + ExtensionsString.Base64Encode(kp.Value.GetUtf8Bytes()) + "\n";
			}
			return System.Text.Encoding.UTF8.GetBytes(output);
		}

		public static byte[] AssocToUtf8Bytes(Dictionary&lt;string, byte[]&gt; assoc)
		{
			string output = "";
			foreach (KeyValuePair&lt;string, byte[]&gt; kp in assoc)
			{
				output += ExtensionsString.Base64Encode(kp.Key.GetUtf8Bytes()) + ":" + ExtensionsString.Base64Encode(kp.Value) + "\n";
			}
			return System.Text.Encoding.UTF8.GetBytes(output);
		}
 


		public XmlDocument FetchUrl(string url, Dictionary&lt;string, string&gt; parameters)
		{
			using (Aes aes = Aes.Create())
			{
				aes.KeySize = 256;
				aes.GenerateKey();
				aes.GenerateIV();

				// Generate S					
				string rsaModulus = "";
				string rsaExponent = "";

				if (Manifest.GetAttributeString("auth_rsa_modulus", "") != "")
				{
					rsaModulus = Manifest.GetAttributeString("auth_rsa_modulus", "");
					rsaExponent = Manifest.GetAttributeString("auth_rsa_exponent", "");
				}
				else // Compatibility &lt;2.21.0
				{
					rsaModulus = Manifest.SelectSingleNode("rsa/RSAParameters/Modulus").InnerText;
					rsaExponent = Manifest.SelectSingleNode("rsa/RSAParameters/Exponent").InnerText;
				}

				RSAParameters publicKey = new RSAParameters();

				publicKey.Modulus = Convert.FromBase64String(rsaModulus);
				publicKey.Exponent = Convert.FromBase64String(rsaExponent);

				Dictionary&lt;string, byte[]&gt; assocParamS = new Dictionary&lt;string, byte[]&gt;();
				assocParamS["key"] = aes.Key;
				assocParamS["iv"] = aes.IV;

				byte[] bytesParamS = null;
				using (RSACryptoServiceProvider csp = new RSACryptoServiceProvider())
				{
					csp.ImportParameters(publicKey);
					bytesParamS = csp.Encrypt(AssocToUtf8Bytes(assocParamS), false);
				}

				// Generate D

				byte[] aesDataIn = AssocToUtf8Bytes(parameters);
				byte[] bytesParamD = null;

				{
					MemoryStream aesCryptStream = null;
					CryptoStream aesCryptStream2 = null;

					try
					{
						aesCryptStream = new MemoryStream();
						using (ICryptoTransform aesEncryptor = aes.CreateEncryptor())
						{
							aesCryptStream2 = new CryptoStream(aesCryptStream, aesEncryptor, CryptoStreamMode.Write);
							aesCryptStream2.Write(aesDataIn, 0, aesDataIn.Length);
							aesCryptStream2.FlushFinalBlock();

							bytesParamD = aesCryptStream.ToArray();
						}
					}
					finally
					{
						if (aesCryptStream2 != null)
							aesCryptStream2.Dispose();
						else if (aesCryptStream != null)
							aesCryptStream.Dispose();
					}
				}]]></description><pubDate>Wed, 22 Jul 2026 14:59:31 +0000</pubDate></item><item><title>The i Paper newsletter links</title><link><![CDATA[https://airvpn.org/forums/topic/80848-the-i-paper-newsletter-links/?do=findComment&comment=263815]]></link><description>The domain link.news.inews.co.uk, which handles links from The i Paper's newsletters, inexplicably blocks all the AirVPN servers, although the i Paper website itself doesn't. This makes it impossible to go to any of the articles linked to in a newsletter.</description><pubDate>Tue, 21 Jul 2026 15:35:32 +0000</pubDate></item></channel></rss>
