Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ndiing/proxy
Perpustakaan untuk mengelola server HTTP/HTTPS dan pengaturan proxy di Windows, termasuk pembuatan sertifikat SSL
https://github.com/ndiing/proxy
http https proxy sertifikat server ssl windows
Last synced: about 1 month ago
JSON representation
Perpustakaan untuk mengelola server HTTP/HTTPS dan pengaturan proxy di Windows, termasuk pembuatan sertifikat SSL
- Host: GitHub
- URL: https://github.com/ndiing/proxy
- Owner: ndiing
- License: mit
- Created: 2024-10-14T05:23:16.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-10-17T21:10:09.000Z (3 months ago)
- Last Synced: 2024-11-22T18:46:07.808Z (about 2 months ago)
- Topics: http, https, proxy, sertifikat, server, ssl, windows
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/@ndiinginc/proxy
- Size: 14.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Functions
- setProxyServer([address], [port], enable)
-
Mengatur server proxy untuk Windows.
-
getProxyServer() ⇒string
|null
-
Mengambil alamat server proxy yang sedang digunakan.
-
generateRootCA2() ⇒Object
-
Menghasilkan CA root untuk sertifikat SSL.
- handleSNICallback(servername, cb)
-
Menangani callback SNI (Server Name Indication) untuk TLS.
- handleConnect(req, socket, head)
-
Menangani koneksi HTTP CONNECT untuk tunneling (misalnya, HTTPS).
- handleResponse(req, res, res2)
-
Menangani respons dari permintaan dan meneruskan ke respons klien.
- handleRequest(req, res, head)
-
Menangani permintaan HTTP dan meneruskannya ke server upstream.
- handleUpgrade(req, socket, head, req2, socket2, head2)
-
Menangani upgrade koneksi HTTP (seperti WebSocket).
- start([port], [hostname], [backlog])
-
Memulai server HTTP dan HTTPS.
- stop()
-
Menghentikan server HTTP dan HTTPS.
## setProxyServer([address], [port], enable)
Mengatur server proxy untuk Windows.
**Kind**: global function
**Throws**:
- Error
- Jika terjadi kesalahan saat mengubah pengaturan proxy.
| Param | Type | Default | Description |
| --------- | -------------------- | ------------------------------------------------ | ------------------------------------------------------------- |
| [address] | string
| "\"127.0.0.1\""
| Alamat IP dari server proxy. |
| [port] | number
| 8000
| Port dari server proxy. |
| enable | boolean
| | Jika true, proxy diaktifkan; jika false, proxy dinonaktifkan. |
## getProxyServer() ⇒ string
\| null
Mengambil alamat server proxy yang sedang digunakan.
**Kind**: global function
**Returns**: string
\| null
- - Alamat server proxy dalam format "http://address:port" atau null jika tidak ada.
**Throws**:
- Error
- Jika terjadi kesalahan saat mengambil pengaturan proxy.
## generateRootCA2() ⇒ Object
Menghasilkan CA root untuk sertifikat SSL.
**Kind**: global function
**Returns**: Object
- - Objek yang berisi kunci privat dan sertifikat root.
**Throws**:
- Error
- Jika terjadi kesalahan saat menghasilkan atau membaca kunci dan sertifikat.
## handleSNICallback(servername, cb)
Menangani callback SNI (Server Name Indication) untuk TLS.
**Kind**: global function
**Throws**:
- Error
- Jika terjadi kesalahan saat menghasilkan sertifikat.
| Param | Type | Description |
| ---------- | --------------------------------------- | ------------------------------------------- |
| servername | string
| Nama host server yang terhubung. |
| cb | function
| Callback yang dipanggil dengan konteks TLS. |
| cb.err | Error
\| null
| Kesalahan jika ada, null jika tidak ada. |
| cb.ctx | SecureContext
| Konteks TLS yang terkait dengan servername. |
**Example**
```js
const server = tls.createServer(
{
SNICallback: handleSNICallback,
},
(socket) => {
// Handle socket
},
);
server.listen(443);
```
## handleConnect(req, socket, head)
Menangani koneksi HTTP CONNECT untuk tunneling (misalnya, HTTPS).
**Kind**: global function
**Throws**:
- Error
- Jika terjadi kesalahan saat mengatur koneksi.
| Param | Type | Description |
| ------ | --------------------------------- | --------------------------------------- |
| req | http.IncomingMessage
| Objek permintaan HTTP. |
| socket | net.Socket
| Socket yang terhubung dari klien. |
| head | Buffer
| Bagian pertama dari data yang diterima. |
**Example**
```js
const server = http.createServer(handleConnect);
server.listen(3000);
```
## handleResponse(req, res, res2)
Menangani respons dari permintaan dan meneruskan ke respons klien.
**Kind**: global function
**Throws**:
- Error
- Jika terjadi kesalahan saat mengalirkan data dari respons.
| Param | Type | Description |
| ----- | --------------------------------- | ------------------------------------------------- |
| req | http.IncomingMessage
| Objek permintaan HTTP dari klien. |
| res | http.ServerResponse
| Objek respons HTTP yang akan dikirim ke klien. |
| res2 | http.IncomingMessage
| Objek respons yang diterima dari server upstream. |
**Example**
```js
const server = http.createServer((req, res) => {
const res2 = fetchUpstreamResponse(req); // Asumsi ada fungsi fetchUpstreamResponse()
handleResponse(req, res, res2);
});
server.listen(3000);
```
## handleRequest(req, res, head)
Menangani permintaan HTTP dan meneruskannya ke server upstream.
**Kind**: global function
**Throws**:
- Error
- Jika terjadi kesalahan saat mengalirkan data atau dalam permintaan upstream.
| Param | Type | Description |
| ----- | --------------------------------- | ----------------------------------------------------------------- |
| req | http.IncomingMessage
| Objek permintaan HTTP yang diterima dari klien. |
| res | http.ServerResponse
| Objek respons HTTP yang akan dikirim ke klien. |
| head | Buffer
| Bagian pertama dari data yang diterima (digunakan untuk upgrade). |
**Example**
```js
const server = http.createServer(handleRequest);
server.listen(3000);
```
## handleUpgrade(req, socket, head, req2, socket2, head2)
Menangani upgrade koneksi HTTP (seperti WebSocket).
**Kind**: global function
**Throws**:
- Error
- Jika terjadi kesalahan saat mengalirkan data atau menulis ke socket.
| Param | Type | Description |
| ------- | --------------------------------- | ----------------------------------------------------------------- |
| req | http.IncomingMessage
| Objek permintaan HTTP dari klien. |
| socket | net.Socket
| Socket yang terhubung dari klien. |
| head | Buffer
| Bagian pertama dari data yang diterima (digunakan untuk upgrade). |
| req2 | http.IncomingMessage
| Objek permintaan HTTP dari server upstream. |
| socket2 | net.Socket
| Socket yang terhubung dari server upstream. |
| head2 | Buffer
| Bagian pertama dari data yang diterima dari server upstream. |
## start([port], [hostname], [backlog])
Memulai server HTTP dan HTTPS.
**Kind**: global function
**Throws**:
- Error
- Jika terjadi kesalahan saat memulai server.
| Param | Type | Default | Description |
| ---------- | --------------------- | ------------------------------------------------------------ | ----------------------------------------------------------------- |
| [port] | number
| 8000
| Port untuk server HTTP. Default adalah 8000. |
| [hostname] | string
| "'0.0.0.0'"
| Nama host untuk server. Default adalah '0.0.0.0'. |
| [backlog] | function
| () => console.log(httpServer.address())
| Fungsi callback yang dipanggil setelah server mulai mendengarkan. |
**Example**
```js
start(3000, "localhost", () => {
console.log("Server is running on http://localhost:3000");
});
```
## stop()
Menghentikan server HTTP dan HTTPS.
**Kind**: global function
**Throws**:
- Error
- Jika terjadi kesalahan saat menghentikan server.
**Example**
```js
stop();
```