An open API service indexing awesome lists of open source software.

https://github.com/whyuhurtz/safetp

Proyek Shell Scripting dan Jaringan Server (Semester 4).
https://github.com/whyuhurtz/safetp

bind9 dns-server flask ftp-server vsftpd

Last synced: 12 months ago
JSON representation

Proyek Shell Scripting dan Jaringan Server (Semester 4).

Awesome Lists containing this project

README

          

# SaFeTP (Safe FTP)

## Introduction

Merupakan sebuah proyek yang berfokus pada pemanfaatan shell script sebagai media untuk melakukan automasi FTP server, dalam hal ini kami menggunakan software **vsftpd**. Selain itu, kami juga memberikan opsi lain berupa konfigurasi DNS server untuk kemudahan akses, tetapi dengan syarat **alamat IP yang digunakan itu statis** (tidak berubah-ubah!). Fitur lain yang kami tambahkan yaitu adanya akses ke **aplikasi manajemen user FTP melalui web**, sehingga tidak perlu susah payah masuk ke server hanya untuk menambahkan user baru ke dalam allowed user file.

## Testing Environment

Kami telah mencobanya di **Ubuntu Server 22.04.4 (LTS version)** dan **hasilnya work**.

## Softwares

- FTP Server: **vsftpd**
- DNS Server: **bind9**
- Web: **Python Flask + Bootstrap**

## Usage

Daftar nama user FTP harus diinputkan secara manual ke dalam file "**userlist.txt**" terutama saat akan menjalankan auto install. Atau bisa diganti sesuai keinginan, tetapi argumen untuk parameter `userlist (-l)` harus disesuaikan dengan nama file tersebut.

### Manual install

```bash
# Clone the repository first.
git clone https://github.com/wahyukiddies/SaFeTP.git && chmod a+x safetp.sh

# And then, run the safetp.sh script with 1 required parameters!
# Change with your own userlist file!.
sudo bash safetp.sh -l userlist.txt

# You can change the port by provide -p.
sudo bash safetp.sh -l userlist.txt -p 2121 # by default is 21.

# And also, you can change the directory name for each allowed users:
sudo bash safetp.sh -l userlist.txt -p 2121 -dir ftpdir # by default is "$HOME/ftp".

# Lastly, you can add spesific domain name to make easy access to FTP server and SaFeTP web.
sudo bash safetp.sh -l userlist.txt -p 2121 -dir ftpdir -d safetp.local
```

Jika terdapat error ketika mencoba menjalankan di environment Linux, cobalah untuk mengubahnya ke format UNIX/Linux menggunakan tool `dos2unix`:

```sh
# Install tool dos2unix.
sudo apt install -y dos2unix
# Ubah ke format LF pada shell script.
dos2unix safetp.sh
```

## References

- Konfigurasi DNS Server:
1. [Jurnal 1 - JNCA](https://jurnal.netplg.com/index.php/jnca/article/view/61/37)
2. [Jurnal 2 - STMIK Dian Cipta Cendikia Kotabumi](https://www.dcckotabumi.ac.id/ojs/index.php/jik/article/view/236/169)

- Konfigurasi FTP Server:
1. [Jurnal 1 - STMIK IBBI](https://ijcoreit.org/index.php/coreit/article/view/300)
2. [Jurnal 2 - Poltek Tegal](https://perpustakaan.poltektegal.ac.id/index.php/index.php?p=fstream-pdf&fid=18923&bid=12369)

- Konfigurasi SSL pada FTP Server:
1. [Jurnal 1 - UNESA](https://ejournal.unesa.ac.id/index.php/jinacs/article/view/60908/46839)
2. [Jurnal 2 - UNHAS](https://journal.unhas.ac.id/index.php/juteks/article/view/5150/3325)
3. [Jurnal 3 - GoretanPena](https://jurnal.goretanpena.com/index.php/JSSR/article/view/471/411)

## Articles

- [https://adindammb22.mb.student.pens.ac.id/UAS%20Praktikum%20Jaringan%20Komputer/FTP_Dinda.pdf](https://adindammb22.mb.student.pens.ac.id/UAS%20Praktikum%20Jaringan%20Komputer/FTP_Dinda.pdf)