# FreeSend FAQ
###### tags: FreeSend, FAQ, SHING MING STUDIO
## <font color=green>All Platform</font>
### Tutorial
:::warning
#### **Prepare for sending**
:::spoiler **Select the Network Interface and Searching the Target**
To transmit the data to other devices on the same local network, select the network interface you are currently connected to (such as Wi-Fi) and then check the "🔍" to search the IP of the devices currently connected to the same local network. Or you can manually add the device IP you want to send. Once the above operation is finished, you can see and choose the IP that we found (or the IP you added) on the picker. Select the same IP value on the picker according to your target IP.
![Tutorial 1](https://hackmd.io/_uploads/ryDBLg6h6.jpg)
:::
:::warning
#### **Select the files you want to send**
:::spoiler **Add the files in to the app**
To tell the apps what files you want to send, please click "+" on the home page to navigate to the "Adding File" page. You can click the "Add photos/videos" or "Add files" button to add the file in order to notify the app those files you selected are wanted to be sent later.
![Tutorial 2](https://hackmd.io/_uploads/HJ-B-xan6.jpg)
:::
:::warning
#### **Sending files**
:::spoiler **Notify the target and waiting the response**
Once you finish the above operation, you can click the "Send" button on the home page to notify the target that you want to send/share some files. Please note that the target must also have this app installed and opened for receiving. If the target replies to the sending request with an acceptance statement, you will start sending the files to the target immediately. (Or refuse by the target so you cannot send)
![Tutorial 3.1](https://hackmd.io/_uploads/HksuLlTna.jpg)
![Tutorial 3.2](https://hackmd.io/_uploads/Hyou8xp3p.jpg)
:::
:::warning
#### **Receiving files**
:::spoiler **Confirmation prompt**
When someone in the local network wants to share the file/data with you, you will receive a prompt that includes information on the file name, number, total size, and the sponsor IP. You can accept or reject to receive. Please note that the prompt will wait 20 seconds for the user to choose; after 20 seconds, if it is not chosen by the user, the app will default to reject the receipt.
![Confirmation prompt (Android)](https://hackmd.io/_uploads/ry5w4yp3p.jpg)
![Confirmation prompt (mac)](https://hackmd.io/_uploads/ry5P4kp3a.png)
:::
### <font color=cake>Troubleshooting</font>
After searching the network, I can't find the target IP on the picker:
**Step 1. <font color=purple>Please ensure your two devices (sender side and receiver side) are both in the same local network.</font>**
**Step 2. <font color=purple>Please ensure your two devices (sender side and receiver side) are both connected to the network without VPN enabled.</font>**
**Step 3. <font color=purple>Also, if the target is running a desktop platform ([macOS](https://hackmd.io/@ShingMing/FreeSendFAQ#Troubleshooting2) or [Windows](https://hackmd.io/@ShingMing/FreeSendFAQ#Troubleshooting3)), please configure your device firewall first to respond to the search requests and make it discoverable by other devices in the local network.</font>**
After these checks, please search the network again by clicking the "🔍" button or manually add the IP by clicking the "Manually add target IP."
![home page](https://hackmd.io/_uploads/S1YsErg6p.png)
![Add IP address](https://hackmd.io/_uploads/r12jNrl6a.png)
### Points to take note of
:::warning
#### **Limitation of showing the device name and network name**
:::spoiler **Details**
For macOS and iOS, the app cannot get/show the device name and network name (e.g., Wi-Fi SSID) because the security rule of the Apple system doesn't allow us to obtain these information.
:::
## <font color=green>Android</font>
### Points to take note of
:::warning
#### **Precise Location Usage**
:::spoiler **Grant FreeSend access to precise device's location**
In order to get and show the correct Wi-Fi SSID on the app home page, please grant FreeSend access to the precise device's location.
![Screenshot 2024-02-19 at 02.22.25](https://hackmd.io/_uploads/H1br2T12p.png)
:::
:::warning
#### **Modify the permission on system settings**
:::spoiler **How to**
If you want to change the permission setting later, open "Settings," scroll down, click "Apps," and then click the row of "FreeSend" and "Permissions." You can now see/modify the permission setting of the app.
![Modify the permission on Android system settings](https://hackmd.io/_uploads/B1nS0TJ3p.jpg)
:::
## <font color=green>iOS/iPadOS</font>
### <font color=cake>Troubleshooting</font>
1. I cannot search the device's IP in the local network: <font color=purple>**Please [grant permission for local network access](https://hackmd.io/@ShingMing/FreeSendFAQ#Local-Network-Usage)**</font>
### Points to take note of
:::warning
#### **Local Network Usage**
:::spoiler **Grant permission for local network access**
In order to search your other device's IP and transmit data on your local network, please grant permission for local network access to FreeSend.
![IMG_0823_crop_edit](https://hackmd.io/_uploads/ryuKhF1hp.jpg)
:::
:::warning
#### **Modify the Permission on System Settings**
:::spoiler **How to**
If you want to change the permission setting later, open "Settings," scroll down, and click the row of "FreeSend." You can now see/modify the permission setting of the app, which is shown on the right-hand side (on iOS, the system will navigate to a new page).
![IMG_0829_edit](https://hackmd.io/_uploads/rJsy4jk2p.jpg)
![IMG_0827](https://hackmd.io/_uploads/HklfEi1hp.jpg)
:::
## <font color=green>macOS</font>
### Known Issue
1. On macOS systems, FreeSend **does not support** transmitting data via an **Ethernet interface**. **Please use a Wi-Fi network as a transmitting data channel.**
2. When transmitting data **from macOS to an Android system**, there is a probability of getting a transmission failed message with the error code "**Connection refused**" on macOS (sender). The cause of the problem may be that the socket is occupied or not released. **Please close the progress popup of the transmission on both the sender and receiver side and then try to send it again later.**
### <font color=cake>Troubleshooting</font>
1. Other devices in my local network cannot search my macOS devices: <font color=purple>**Please [disable stealth mode in the macOS firewall setting](https://hackmd.io/@ShingMing/FreeSendFAQ#Disable-stealth-mode-in-the-macOS-firewall-setting)**</font>
2. My macOS devices cannot search and receive the data: <font color=purple>**Please [allow incoming connection of FreeSend](https://hackmd.io/@ShingMing/FreeSendFAQ#Local-Network-Usage1)**</font>
3. When I send data from macOS to Android, I often receive error messages; how can I solve this? Unfortunately, this is a known issue. The cause of the problem may be that the socket is occupied or not released. <font color=purple>**Please close the progress popup of the transmission on both the sender and receiver side and then try to send it again later.**</font>
### Points to take note of
:::warning
#### **Local Network Usage**
:::spoiler **Allow incoming connection of FreeSend**
In order to receive the data from other devices, please allow incoming connection of FreeSend.
![Allow incoming connection edit](https://hackmd.io/_uploads/S1sFBreT6.jpg)
:::
:::warning
#### **Disable stealth mode in the macOS firewall setting**
:::spoiler **How to**
In order to make myself (macOS) can be found by other devices in the local network, make sure you are disabled stealth mode in the macOS firewall setting.
![Firewall_disable_stealth_mode_flow_2](https://hackmd.io/_uploads/H1LExTJ26.jpg)
:::
:::warning
#### **Modify the Permission on System Settings**
:::spoiler **How to**
If you want to change the permission setting later, open "System Settings" and click Network -> Firewall -> Options. You can now see/modify all the apps or services you are allowed or blocked on your computer.
![Change_FreeSend_permission_edit_resize](https://hackmd.io/_uploads/HySJfIzhp.jpg)
:::
## <font color=green>Windows</font>
### <font color=cake>Troubleshooting</font>
1. Other devices in my local network cannot search my Windows devices: <font color=purple>**Please [configure the firewall to allow pings](https://hackmd.io/@ShingMing/FreeSendFAQ#Configure-the-firewall-to-allow-pings)**</font>
2. My Windows devices cannot search and receive the data: <font color=purple>**Please [grant permission for local network access](https://hackmd.io/@ShingMing/FreeSendFAQ#Local-Network-Usage2)**</font>
### Points to take note of
:::warning
#### **Local Network Usage**
:::spoiler **Grant permission for local network access (Windows firewall)**
In order to search your other device's IP and transmit data on your local network, please grant permission for local network access to FreeSend.
![Windows_firewall_allow_edit](https://hackmd.io/_uploads/r1NiiOM2a.jpg)
:::
:::warning
#### **Configure the firewall to allow pings**
:::spoiler **Windows firewall**
For the Windows firewall, ping requests are blocked by default. Please follow the step-by-step guidelines below to enable it so other devices in the local network can find your Windows PC.
1. Click the "Windows Security" tray icon on the Taskbar
![1. Click Windows Security](https://hackmd.io/_uploads/Skf8C9Jap.png)
2. Click the "Firewall & network protection" button
![2. Click Firewall & network protection](https://hackmd.io/_uploads/SJuVj51pa.png)
3. Click the "Advanced settings" selection
![3. Click Advanced settings](https://hackmd.io/_uploads/r1aSocyTT.png)
4. Click the "Inbound Rules" selection on the upper left-hand corner
![4. Click Inbound Rules](https://hackmd.io/_uploads/ry0AnckTp.png)
5. Scroll the rule list and select the rule named "File and Printer Sharing (Echo Request - ICMPv4-In)" (two counts, one of the "Private, Public" Profile, one of "Domain" Profile)
![5. Enable Rules](https://hackmd.io/_uploads/Syb1nVeaT.jpg)
6. Right-click the above two rules in the rule list and click the "Enable Rule" selection. After that, you can see two green ticks ![7. Green tick](https://hackmd.io/_uploads/rJ0ocEeap.png) on the left-hand side of the two rules, respectively.
![6. Finish Setting](https://hackmd.io/_uploads/rkSXnNxaT.jpg)
Now, your Windows PC can be found on other devices on the same local network.
:::
:::warning
:::spoiler **Third-party firewalls**
Because each third-party firewall is uniquely configured, it is impossible to cover all possible ways of enabling ping on all possible firewalls. However, you can use the following information to determine how to configure your firewall:
* Some firewalls exempt certain protocols or services. In those cases, you must enable ping. Some firewalls call the setting "ping", or "incoming ping". Others refer to it by its technical name, "ICMP Echo Reply". Either way, allow this protocol.
* Many firewalls also offer options to allow certain ports to communicate (do not confuse networking TCP ports with the physical serial, parallel, USB, or Ethernet ports). Only "ping" (ICMP_Echo_Reply) must be enabled, and that doesn't use ports.
:::
## Issue report
If you encounter any software issues, please feel free to report via this [link](https://github.com/SHING-MING-STUDIO/FreeSend/issues). Thank you.
## Update History
- v1.0 Feb. 25, 2024: First release
- v1.1 Feb. 29, 2024: "[All Platform](https://hackmd.io/@ShingMing/FreeSendFAQ#All-Platform)" section added
- v1.2 Mar. 21, 2024: "[Issue report](https://hackmd.io/@ShingMing/FreeSendFAQ#Issue-report)" section added