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 recommend you log in with your email and password instead of a token. (Discord J2ME 5.4 and above)

Which devices support Direct connection?

To support Direct connection, a device must have the ability to install custom code-signing certificates for Java apps. The device must also be able to handle JAR files up to 1 MB in size.

Alternatively, if a device supports TLS 1.2 on the system level, it does not need a certificate. TLS 1.2 support can be installed on some Symbian phones.

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 Guide
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 initial release
No
Not supported by aNokiCert.
Nokia Series 40, 3rd Edition FP1 and up
devices with at least 1 MB max JAR size
Yes
Code-signing certificate can be installed via software like aNokiCert. Guide
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 S60, S80
some versions
Yes TLS 1.2 can be installed on the system level on some Symbian versions; certificate is not required. Guide
Symbian UIQ3 Yes TLS 1.2 can be installed on the system level; certificate is not required. Guide
Sony Ericsson
devices with DB3350 chipset
Yes
Certificate can be installed via file system modification. See guide for supported devices. Guide
Sony Ericsson
other devices
No? Compatibility is inconsistent across other devices. The certificate can be installed, but in most cases the connection will get stuck loading. See compatibility sheet.
Android Yes Certificate is not required. Three builds are provided; see guide for details. Guide
KEmulator, other emulators
Yes
Certificate is not required, as the J2ME security model is not enforced on most emulators.
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)

  1. Download the code-signing certificate onto your Android device.
  2. 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.
  3. Make sure Bluetooth on the Nokia phone is enabled and set to visible.
  4. Open aNokiCert and press the search icon on the top right. This will connect the Android device to your Nokia phone using Bluetooth.
  5. Select Choose certificate and find the downloaded certificate file.
  6. Press Install.

MobiMB method (PC)

  1. Download the exp.cer and ext_info.sys files onto your PC.
  2. 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, S80, or Symbian^3?

Check your device's Symbian version from sites like LPCwiki.

SUPPORTED Symbian versions:
UNSUPPORTED Symbian versions:
Steps:
  1. If your device runs Symbian 9.1 or above, make sure it is jailbroken. To jailbreak the device, you can follow any online guide, such as this one.
  2. Install the nnproject TLS 1.2 patch onto your device.
  3. Download Discord J2ME onto your device.

How to use Direct connection on Symbian UIQ?

  1. Install the TLS 1.2 patch onto your device using UIQ3 Hack Tool.
  2. Download Discord J2ME onto your device.

How to use Direct connection on Sony Ericsson?

SUPPORTED models: Aino, Cedar, Elm, Hazel, Xperia Pureness, Yari, Zylo.

Other models are unlikely to be compatible and may get stuck loading.

Direct connection on Sony Ericsson is supported from Discord J2ME 5.4 onwards. The certificate must be installed with a PC program that can manage the phone's internal file system. In this guide, we will use Far Manager with SEFP2.

  1. Download Far Manager here.
  2. Extract the downloaded archive. Use the password Far123.
  3. Open Far.exe.
  4. Press 11 Plugin on the bottom right.
  5. Select SEFP2.
  6. Follow the on-screen instructions to connect the phone. You may get a warning that the files on the phone cannot be read. This warning can be ignored.
  7. Download exp.cer and default_upgrade.xml to your computer.
  8. Copy these two files to the /tpa/preset/default folder on the phone.
  9. Disconnect and reboot the phone.
  10. Make sure the phone's date and time are set correctly.
  11. 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 Android?

For Android devices, we have three builds available. To use the app, you must have a J2ME runtime installed (J2ME Loader or phoneME).

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.