πŸͺ
Come find out about the new shared services feature in Jami, and how to use it!

Are you tired of spending money on storage services just to share a couple of photos to your loved ones? Are you starting to lose track of all the alternate e-mail accounts you've made signing up for those free trials? Do you miss the early days of MySpace and Tumblr, when you got to show of your HTML and CSS skills? What if we told you that Jami could address all these problems, using the same feature?

πŸ€” What Is a Shared Service?

In practice, a shared service allows you to share any TCP network service (like a web server, game, etc.) with your contacts through Jami! It can also manage an embedded web server as needed to easily share simple websites or directories.

🀝 Accessing Your Contacts' Services

Accessing shared services exposed by your contacts is easy, but varies depending on the platform with limitations applying to each one.

❗Remember, accessing a shared service requires your contact to be online!
  1. Select one of your contacts
  2. Select the planet icon next to the call button (it's hard to miss it)
  3. A list will popup of your contact's shared services, simply click one of them to connect to it.
Q: Why don't I see the planet icon? πŸ˜”
A: Your contact is likely not sharing any services (that you know of πŸ˜‰)!

πŸ–₯️ Desktop

On desktop, if the service is accessible from a web browser, then you will be prompted to exit Jami and taken to your default browser. Otherwise the service's link will be copied to your clipboard.

Access those photos of your side quest to the Olympic stadium as fast as Usain Bolt in '09 ⚑

πŸ€– Android

Just as it would be on desktop, selecting a web-accessible shared service on the Android version of Jami will open the service in your default browser. Otherwise the link to the service will be copied.

Old port might not be new, but Johnny's Android device sure is! ✨️

🍎 iOS

On iOS, selecting a shared service will open an integrated browser inside Jami. Note that the planet icon varies slighlty than that of the desktop and Android versions.

⚠️ Custom (non-web) shared services are inaccessible from Jami on iOS/iPadOS capable devices due to operating system restrictions.
That metro station looks awfully familiar...πŸ€”οΈ

🎨 Creating a Shared Service

Creating a shared service in Jami is a simple process, and we invite you to follow along by reading the steps below.

⚠️ Creating shared services is currently only available on desktop!

Navigate to Settings β†’ Account β†’ Shared services.

πŸ“ Sharing a Directory

In the shared services settings page, select 🌐 Add Website

0:00
/
So few clicks that your hands will asleep at the scroll wheel πŸ’€

🌐 Sharing a Custom Website

❬/❭ Only proceed with the following if you feel comfortable with basic HTML and CSS!

In the shared services settings page, select 🌐 Add Website and select a directory. In the directory you've chosen to share, you will need to create an index.html file in its root. You are free to add any other HTML and/or CSS files to your liking. Note that your contacts will always land on the index.html page every time they connect to your services.

Your friends will be able to access your website as previously described, but if you're a good designer, they'll have a much more pleasant time looking at it. See an example of a customized website below 🌟 .

Looks like Simon and Johnny covered some decent ground! πŸ“ΈοΈ

πŸ•΅πŸΌβ€β™‚οΈ Limiting Visibility

Sometimes you don't want everyone to see everything. This is why Jami allows you to select from one of three options of visibility when sharing a service.

  • πŸ“’ Contacts: The default visibility. Any contacts that you've confirmed can see the service
  • 🌍 Anyone (public): Anyone using Jami can see the service, even those who haven't added you
  • πŸ”’ Specific contacts only: Only specific contacts that you pick from your list of existing contacts can see the service

You can set or modify the visibility of a shared service in the configuration dialog as shown below. You will need to set the Accessible by option to one of the three options above. Should you select specific contacts only, you will then need to add/remove the contacts using the chips in the dialog.

0:00
/
I wouldn't want anyone else to see my photos either! πŸ™ˆοΈ

πŸ› οΈ Sharing a Custom Service

Jami allows sharing any TCP service with your contacts, not just web pages!

In the shared services settings page, select πŸ”§ Custom service and configure the service to your liking

⛏️ Demo: Sharing a Minecraft Server on Jami

For this example, we will be hosting and sharing a Minecraft server between two contacts.

0:00
/
Hopefully those two punching each other was justified... 😳

πŸ‘¨β€πŸ« Detailed Setup Instructions

  1. Create a dedicated folder on your machine for your Minecraft server. For the sake of this demo, we will name the folder MC Server.
  2. Download the official server.jar file from the Minecraft website and move it to the MC Server folder.
  3. Run the server.jar file you downloaded in Step 1. Windows users can perform the traditional double-click to run. MacOS and Linux users can run the following command in the directory containing their server.jar file:
    java -Xmx4G -Xms4G -jar server.jar nogui
  4. Once you've ran the server.jar file, you'll see the MC Server get populated with some additional files. Of these additional files, you will need to modify two.
    1. eula.txt: You will need to set the eula value to TRUE in this file. Make sure you actually read the EULA prior to agreeing to it!
    2. server.properties: Use this file to configure your Minecraft server to your liking. You may or may not need to modify the following property:
      1. Set the server-port for your server. You can usually leave this at the default value of 25565 provided that it's not already in use.
  5. Save the files you just modified and rerun the server the same way you did in Step 3. The server is ready once you see the message Done (XXXs)!.
  6. Add a custom service to Jami. Make sure to populate the Local port fields with the same value you set for server-port. Just like sharing a directory or website, you can also control access to service. Once you're ready, hit save.
An example configuration for sharing the custom Minecraft server on Jami πŸ“οΈ
  1. Make sure you can join the minecraft server yourself before letting your friends know to join it! Inside Minecraft, navigate to Multiplayer β†’ Direct Connection and enter server-ip:server-port into the Server Address field and hit connect.

    If all is well, then you should have successfully joined the server and seen the following message in your server log USERNAME joined the game.
  2. Now that you've confirmed your Miencraft server is in fact alive and well, you can now let your contacts know to join the server
    1. Your contact must open up your shared services list and connect to your Minecraft Server service.
    2. The IP will automatically be connected to their clipboards. They must simply paste the copied contents in the Server Address field in their own Minecraft instances.

Ready to Try Shared Services?

Have an Issue with Shared Services?

contact@jami.net

Our donation campaign

Building Jami is not only about writing code. It also means funding engineering time, testing, support, packaging, and the ability to keep the project independent.

If Jami is useful to you, whether every day or as a reliable alternative when you need it, your donation directly helps maintain this level of quality and accelerate development, without compromising the project’s founding principles.