Direct connection 
What is Direct connection?
Previously, Discord J2ME connected to Discord's servers using a proxy server, as TLS 1.2 (modern HTTPS) connections were generally not supported on older devices. The proxy proved to be unsafe, as Discord started to temporarily restrict accounts that connected via the proxy, so an effort was made to allow TLS 1.2 connections on J2ME.
Direct connection is an option available since Discord J2ME 5.2 on certain devices that connects directly to Discord using TLS 1.2.
To stay safe, we also suggest enabling two-factor authentication on your account.
Which devices support Direct connection?
To support Direct connection, a device must have the ability to install custom code-signing certificates for Java apps. On Symbian 9.1 and up, TLS 1.2 can be installed on the system level, so a certificate is not required. The device must also be able to handle JAR files up to 1 MB in size.
The below table lists device platforms known to be supported, along with explanations. You can check your device's software platform and other specs on sites like LPCwiki.
| Platform | Supported? | Explanation |
|---|---|---|
| Nokia Series 40, 2nd Edition |
No |
Not supported by aNokiCert, and the JAR size limit on 2nd Edition devices is too low. |
| Nokia Series 40, 3rd Edition and up on devices with at least 1 MB max JAR size |
Yes |
Code-signing certificates can be installed via software like aNokiCert. Early 3rd Edition devices (e.g. Nokia 6270) are not supported yet as the certs seem to be stored in a different location in the phone's file system. |
| Nokia Series 40 some phone models released around 2012-2013 |
Maybe |
aNokiCert fails to connect on the Nokia 301 and similar devices. MobiMB 3.6.5 and modified Gammu have been reported to work on such devices. |
| Symbian S60v2 FP1 and below | No |
TLS 1.2 patch is unsupported. Java-based TLS could be used without needing to sign the app, but error messages are shown when using HTTPS, likely due to low memory. |
| Symbian S60v2 FP2 and FP3 | No? |
TLS 1.2 patch is unsupported. Certificate can be installed, but signed app installation still fails for some reason. |
| Symbian Series 80 | No? |
TLS 1.2 patch is unsupported. Certificate can be installed from settings. HTTPS connection fails for some reason. |
| Symbian 9.1 and up (S60v3 and up, UIQ3) | Yes |
TLS 1.2 can be installed on a system level; certificate is not required. |
| Sony Ericsson | No? |
Certificate can be installed via file system modification. HTTPS connection fails for some reason. |
| J2ME Loader, KEmulator, likely other emulators | Yes |
The J2ME security model is not enforced on most emulators, so a certificate is not required. |
| Any other platform not mentioned | No |
Methods for installing code-signing certificates are not known yet. If you find a way to install certificates on any platform not listed here, let us know! |
How to use Direct connection on Nokia S40?
The code-signing certificate can be installed in two different ways, with steps for both methods listed below. After the certificate has been installed, make sure the device's date and time are correct, and then download Discord J2ME onto the phone. This must be done by downloading a JAD file via the phone's browser.
aNokiCert method (Android)
- Download the code-signing certificate onto your Android device.
- Install aNokiCert on your Android device. Newer Android devices may restrict the installation of older apps. In such cases, you can try bypassing the restriction via ADB or by using an older device.
- Make sure Bluetooth on the Nokia phone is enabled and set to visible.
- Open aNokiCert and press the search icon on the top right. This will connect the Android device to your Nokia phone using Bluetooth.
- Select Choose certificate and find the downloaded certificate file.
- Press Install.
MobiMB method (PC)
- Download the exp.cer and ext_info.sys files onto your PC.
- Using a program that can manage the file system of Nokia phones (we recommend MobiMB for Windows and Gammu for Linux), copy both downloaded files to the C:/predefhiddenfolder/certificates/user folder on the phone.
How to use Direct connection on Symbian S60 or Symbian^3?
- Make sure your device is jailbroken. To jailbreak the device, you can follow any online guide, such as this one.
- Install the nnproject TLS 1.2 patch onto your device.
- Download Discord J2ME onto your device.
How to use Direct connection on Symbian Series 80 (Nokia 9300/9500)?
Series 80 devices are not supported yet for the same reason that is described in the Sony Ericsson section.
- Download or transfer exp.cer onto the device.
- Find the certificate installation option in the security section of the control panel.
- Add a new certificate and select the exp.cer file.
- In the settings of the installed certificate, allow installation of Java apps.
- Make sure the phone side (cover screen) of the device is turned on, and that a SIM card is inserted. The SIM card does not need to be active.
- Make sure the device's date and time are set correctly.
- Download Discord J2ME onto the phone. This must be done by downloading a JAD file via the phone's browser.
How to use Direct connection on Symbian UIQ?
- Install the TLS 1.2 patch onto your device using UIQ3 Hack Tool.
- Download Discord J2ME onto your device.
How to use Direct connection on Sony Ericsson?
Sony Ericsson devices are not supported yet, but certificate installation is possible on them, so support may be added in the future.
From my testing, Direct connection does not work on Sony Ericsson (likely a bug in the ModernConnector library), but you can test using the "5.2 for Nokia S40v3 and up with Direct connection" version of the app.
- Connect your SE device to a PC program that can manage the internal file system of SE phones (e.g. SEFP2).
- Navigate to /tpa/preset/custom and replace Utiroot.cer with the custom certificate (make sure to keep the original file name Utiroot.cer).
- Do a full reset on your phone from the settings - the default lock code should be 0000.
- Make sure the device's date and time are set correctly.
- Download Discord J2ME onto the phone. This must be done by downloading a JAD file via the phone's browser.
What if my device is unsupported?
It is highly recommended to host your own proxy server if possible. This can be done on your own PC via services like ngrok, or by renting a VPS. A guide will be written later, but more info is available on our server in the #discord-j2me-wap channel (pinned messages).
If you're using the public proxy server, disabling the Use gateway option in the login screen reduces the chances of getting your account restricted.