<span style="display:block;height:15px!important"></span>
<p align="center"><img src="https://git.doublebastion.com/sms-relentless/raw/develop/img/sms_relentless_logo.png" alt="SMS Relentless" width="191px" height="157px"/></p>

<span style="display:block;height:20px!important"></span>

**SMS Relentless is a Nextcloud application that allows sending and receiving SMS messages in Nextcloud.**

A telnyx.com or plivo.com account and a real phone number acquired from one of the two providers are needed.

<span style="display:block;height:20px!important"></span>

## Main Features
<span style="display:block;height:10px!important"></span>

* 🚀 Use one or multiple local phone numbers in countries of your choice, to send and receive SMS messages with your browser, on any device connected to the Internet.

* 📑 Sent and received SMS messages are stored in the database per sending/receiving user and can be viewed in paginated tables with filters for every column.

* 📔 SMS messages older than a specified number of days can be deleted in bulk with one click and they are automatically archived in csv files stored in Nextcloud, before being removed from the database. This makes them available for future analysis.

* 💻 Sending SMS messages to thousands of recipients is easy: a txt/csv file containing the recipients' phone numbers is uploaded and the same SMS is sent automatically to all. The time interval between two consecutive messages is configurable.

* 🔏 Incoming SMS message requests are checked for authenticity by verifying Telnyx'/Plivo's signature.

* 📧 Users receive notifications and (optionally) emails when new SMS messages arrive.

* 📄 Each sent message receives a delivery receipt displayed in the Sent SMS Messages table.

* 📱 It works with regular 'long code' (10-digit) phone numbers, but also with 'toll-free' numbers and 'short codes'. Users see a list with their current phone numbers and can set them as Sender IDs. Setting alphanumeric Sender IDs is also possible. 

* 💵 It allows checking the current Telnyx/Plivo balance by selecting the provider on the left panel.

* 💰 The only ongoing cost is about $1 per month (depending on the country) for an SMS enabled phone number located in a country chosen by the user. No contracts.

* 💸 Very low prices per SMS: starting from $0.0025 per sent message and $0 per received message (Telnyx) or $0.0050 per sent message and $0 per received message (Plivo) in the USA.

<span style="display:block;height:10px!important"></span>

Double Bastion is not affiliated with Telnyx or Plivo.

<span style="display:block;height:20px!important"></span>

Send SMS message
<span style="display:block;height:10px!important"></span>
![Image of SMS Relentless Interface](https://git.doublebastion.com/sms-relentless/raw/develop/img/sms_relentless_send_sms.png)
<span style="display:block;height:40px!important"></span>
List received SMS messages
<span style="display:block;height:10px!important"></span>
![Image of SMS Relentless Interface](https://git.doublebastion.com/sms-relentless/raw/develop/img/sms_relentless_received.png)
<span style="display:block;height:40px!important"></span>
List sent SMS messages
<span style="display:block;height:10px!important"></span>
![Image of SMS Relentless Interface](https://git.doublebastion.com/sms-relentless/raw/develop/img/sms_relentless_sent.png)
<span style="display:block;height:40px!important"></span>
Send SMS message to multiple recipients
<span style="display:block;height:10px!important"></span>
![Image of SMS Relentless Interface](https://git.doublebastion.com/sms-relentless/raw/develop/img/sms_relentless_send_mass_sms.png)
<span style="display:block;height:40px!important"></span>
Filter messages by date and keyword
<span style="display:block;height:10px!important"></span>
![Image of SMS Relentless Interface](https://git.doublebastion.com/sms-relentless/raw/develop/img/sms_relentless_filter_messages_by_date_and_keyword.png)
<span style="display:block;height:40px!important"></span>
Delete old SMS messages
<span style="display:block;height:10px!important"></span>
![Image of SMS Relentless Interface](https://git.doublebastion.com/sms-relentless/raw/develop/img/sms_relentless_delete_old_messages.png)
<span style="display:block;height:40px!important"></span>

## Browsers
<span style="display:block;height:10px!important"></span>

SMS Relentless works with all the major browsers.

<span style="display:block;height:20px!important"></span>

## Programming Languages
<span style="display:block;height:10px!important"></span>

SMS Relentless only uses PHP, SQL, jQuery, CSS and HTML. This means it's robust, efficient, light-weight and easy to maintain and debug.

<span style="display:block;height:20px!important"></span>

## Minimum Requirements
<span style="display:block;height:10px!important"></span>

- **Nextcloud 22+** has to be installed and properly configured, preferably by following the Install Nextcloud chapter in our guide.

- **A telnyx.com or plivo.com account and a phone number** attached to it.

- The **libcurl** PHP library has to be installed on the server.

To enable email notifications for every received SMS, the "sendmail" utility ("/usr/sbin/sendmail" on Debian Linux), has to be present on the server. "sendmail" is a binary which gets 
installed when Postfix is installed. Also, the web server user (www-data) has to be allowed to send emails from command line (by specifying "authorized_submit_users = www-data" in 
"/etc/postfix/main.cf" for Postfix on Debian).

<span style="display:block;height:20px!important"></span>

## Installation
<span style="display:block;height:10px!important"></span>

<a href="https://www.doublebastion.com/install-nextcloud/#install-sms-relentless" rel="noreferrer noopener" target="_blank">This chapter</a> of our Complete Guide to a Complete Linux Server 
explains in detail how to install and use this application.

SMS Relentless is a component of RED Scarf Suite. It can be installed and used alone, but if you want to install <a href="https://www.doublebastion.com/red-scarf-suite-components/" rel="noreferrer noopener" target="_blank">all 
the components</a> of RED Scarf Suite, you can follow our <a href="https://www.doublebastion.com/free-server/complete-guide-to-a-complete-linux-server/" rel="noreferrer noopener" target="_blank">complete guide</a>.

<span style="display:block;height:20px!important"></span>

## Contribute
<span style="display:block;height:10px!important"></span>

This is the official git repository of SMS Relentless. The <a href="https://github.com/DoubleBastionAdmin/sms-relentless" rel="noreferrer noopener" target="_blank">GitHub SMS Relentless
repository</a> is just a pointer to this repository. We don’t use GitHub for developing SMS Relentless because GitHub is owned by one of the companies that proved their disrespect for
digital freedom over the years and because centralized services create autonomy and privacy issues, in spite of all the benefits.

If you want to contribute code to this project, please submit <a href="https://git.doublebastion.com/sms-relentless/pullrequests/contrib" rel="noreferrer noopener" target="_blank">this form</a>, 
mentioning your intended changes. We'll send you the credentials needed to push code to the "contrib" branch of this repository. After we review the changes we can include them in the 
project.

Please post any bugs that are not security related, or feature requests, on the <a href="https://git.doublebastion.com/sms-relentless/issues/develop" rel="noreferrer noopener" target="_blank">
issue tracker</a>. If you notice bugs related to security, don’t post them on the issue tracker; instead, send them to manager [at] doublebastion [dot] com .

<span style="display:block;height:20px!important"></span>

## License
<span style="display:block;height:10px!important"></span>

SMS Relentless as a whole is licensed under the GNU Affero General Public License Version 3. If you use SMS Relentless or distribute it in modified or unmodified form, you will need to comply with 
the terms of the GNU Affero General Public License Version 3.

SMS Relentless includes libraries licensed under different free software licenses. These libraries contain their respective original copyright notices.
