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).
- Host: GitHub
- URL: https://github.com/whyuhurtz/safetp
- Owner: whyuhurtz
- License: gpl-3.0
- Created: 2024-07-17T17:07:40.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-07-26T22:15:09.000Z (over 1 year ago)
- Last Synced: 2025-03-08T12:19:06.574Z (about 1 year ago)
- Topics: bind9, dns-server, flask, ftp-server, vsftpd
- Language: Shell
- Homepage:
- Size: 799 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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)