raannakasturi commited on
Commit
1f9e9c1
·
1 Parent(s): d045095
Files changed (4) hide show
  1. .gitattributes +35 -35
  2. README.md +13 -13
  3. app.py +68 -68
  4. requirements.txt +5 -5
.gitattributes CHANGED
@@ -1,35 +1,35 @@
1
- *.7z filter=lfs diff=lfs merge=lfs -text
2
- *.arrow filter=lfs diff=lfs merge=lfs -text
3
- *.bin filter=lfs diff=lfs merge=lfs -text
4
- *.bz2 filter=lfs diff=lfs merge=lfs -text
5
- *.ckpt filter=lfs diff=lfs merge=lfs -text
6
- *.ftz filter=lfs diff=lfs merge=lfs -text
7
- *.gz filter=lfs diff=lfs merge=lfs -text
8
- *.h5 filter=lfs diff=lfs merge=lfs -text
9
- *.joblib filter=lfs diff=lfs merge=lfs -text
10
- *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
- *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
- *.model filter=lfs diff=lfs merge=lfs -text
13
- *.msgpack filter=lfs diff=lfs merge=lfs -text
14
- *.npy filter=lfs diff=lfs merge=lfs -text
15
- *.npz filter=lfs diff=lfs merge=lfs -text
16
- *.onnx filter=lfs diff=lfs merge=lfs -text
17
- *.ot filter=lfs diff=lfs merge=lfs -text
18
- *.parquet filter=lfs diff=lfs merge=lfs -text
19
- *.pb filter=lfs diff=lfs merge=lfs -text
20
- *.pickle filter=lfs diff=lfs merge=lfs -text
21
- *.pkl filter=lfs diff=lfs merge=lfs -text
22
- *.pt filter=lfs diff=lfs merge=lfs -text
23
- *.pth filter=lfs diff=lfs merge=lfs -text
24
- *.rar filter=lfs diff=lfs merge=lfs -text
25
- *.safetensors filter=lfs diff=lfs merge=lfs -text
26
- saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
- *.tar.* filter=lfs diff=lfs merge=lfs -text
28
- *.tar filter=lfs diff=lfs merge=lfs -text
29
- *.tflite filter=lfs diff=lfs merge=lfs -text
30
- *.tgz filter=lfs diff=lfs merge=lfs -text
31
- *.wasm filter=lfs diff=lfs merge=lfs -text
32
- *.xz filter=lfs diff=lfs merge=lfs -text
33
- *.zip filter=lfs diff=lfs merge=lfs -text
34
- *.zst filter=lfs diff=lfs merge=lfs -text
35
- *tfevents* filter=lfs diff=lfs merge=lfs -text
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
README.md CHANGED
@@ -1,13 +1,13 @@
1
- ---
2
- title: GetSSL
3
- emoji: 😻
4
- colorFrom: red
5
- colorTo: blue
6
- sdk: gradio
7
- sdk_version: 4.40.0
8
- app_file: app.py
9
- pinned: false
10
- license: cc-by-nc-sa-3.0
11
- ---
12
-
13
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
+ ---
2
+ title: GetSSL
3
+ emoji: 😻
4
+ colorFrom: red
5
+ colorTo: blue
6
+ sdk: gradio
7
+ sdk_version: 4.40.0
8
+ app_file: app.py
9
+ pinned: false
10
+ license: cc-by-nc-sa-3.0
11
+ ---
12
+
13
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
app.py CHANGED
@@ -1,69 +1,69 @@
1
- import os
2
- import sys
3
- import gradio as gr
4
- from main import main
5
- from tools import write_file
6
-
7
- def run(i_domains, wildcard, email, ca_server, key_type, key_size=None, key_curve=None):
8
- if key_size is not None:
9
- key_size = int(key_size)
10
- pvt, csr, cert = main(i_domains, wildcard, email, ca_server, key_type, key_size, key_curve)
11
- path = email.split("@")[0]
12
- os.makedirs(path, exist_ok=True)
13
- write_file(f"{path}/private.pem", pvt)
14
- write_file(f"{path}/domain.csr", csr)
15
- write_file(f"{path}/cert.pem", cert)
16
- return pvt, f"{path}/private.pem", csr, f"{path}/domain.csr", cert, f"{path}/cert.pem"
17
-
18
- def update_key_options(key_type):
19
- if key_type == "rsa":
20
- return gr.update(visible=True), gr.update(visible=False)
21
- else:
22
- return gr.update(visible=False), gr.update(visible=True)
23
-
24
- def update_ca_server(wildcard: bool):
25
- if wildcard:
26
- return gr.update(choices=["Let's Encrypt (Testing)","Let's Encrypt", "ZeroSSL", "Google (Testing)","Google", "SSL.com"], value="Let's Encrypt (Testing)")
27
- else:
28
- return gr.update(choices=["Let's Encrypt (Testing)","Let's Encrypt", "Buypass (Testing)", "Buypass", "ZeroSSL", "Google (Testing)","Google", "SSL.com"], value="Let's Encrypt")
29
-
30
- def app():
31
- with gr.Blocks() as webui:
32
- with gr.Row():
33
- with gr.Column():
34
- domains_input = gr.Textbox(label="Enter Domains", placeholder="thenayankasturi.eu.org, dash.thenayankasturi.eu.org, www.thenayankasturi.eu.org", type="text", interactive=True)
35
- wildcard = gr.Checkbox(label="Wildcard SSL", interactive=True, value=False)
36
- email_input = gr.Textbox(label="Enter your Email ID", placeholder="nayankasturi@gmail.com", type="text", interactive=True)
37
- with gr.Row():
38
- ca_server = gr.Dropdown(label="Select Certificate Authority", choices=["Let's Encrypt (Testing)","Let's Encrypt", "Buypass (Testing)", "Buypass", "ZeroSSL", "Google (Testing)","Google", "SSL.com"], interactive=True, value="Let's Encrypt (Testing)")
39
- key_type = gr.Radio(label="Select SSL key type", choices=["rsa", "ec"], interactive=True, value='ec')
40
- key_size_dropdown = gr.Dropdown(label="Select Key Size", choices=['2048', '4096'], value='4096', visible=False) # Initially visible
41
- key_curve_dropdown = gr.Dropdown(label="Select Key Curve", choices=['SECP256R1', 'SECP384R1'], value='SECP384R1', visible=True) # Initially hidden
42
-
43
- key_type.change(fn=update_key_options, inputs=key_type, outputs=[key_size_dropdown, key_curve_dropdown])
44
- btn = gr.Button(value="Generate SSL Certificate")
45
-
46
- with gr.Row():
47
- with gr.Column():
48
- pvt = gr.Textbox(label="Your Private Key", placeholder="Your Private Key will appear here, after successful SSL generation", type="text", interactive=False, show_copy_button=True, lines=10, max_lines=10)
49
- pvtfile = gr.File(label="Download your Private Key")
50
- with gr.Column():
51
- csr = gr.Textbox(label="Your SSL Certificate", placeholder="Your SSL Certificate will appear here, after successful SSL generation", type="text", interactive=False, show_copy_button=True, lines=10, max_lines=10)
52
- csrfile = gr.File(label="Download your SSL Certificate")
53
- with gr.Column():
54
- crt = gr.Textbox(label="Your SSL Certificate", placeholder="Your SSL Certificate will appear here, after successful SSL generation", type="text", interactive=False, show_copy_button=True, lines=10, max_lines=10)
55
- crtfile = gr.File(label="Download your SSL Certificate")
56
-
57
- btn.click(run, inputs=[domains_input, wildcard, email_input, ca_server, key_type, key_size_dropdown, key_curve_dropdown], outputs=[pvt, pvtfile, csr, csrfile, crt, crtfile])
58
- try:
59
- webui.queue(default_concurrency_limit=15).launch(share=True, server_port=7860)
60
- except Exception as e:
61
- print(f"Error: {e}")
62
- sys.exit(1)
63
-
64
- if __name__ == "__main__":
65
- try:
66
- app()
67
- except Exception as e:
68
- print(f"Error: {e}")
69
  sys.exit(1)
 
1
+ import os
2
+ import sys
3
+ import gradio as gr
4
+ from main import main
5
+ from tools import write_file
6
+
7
+ def run(i_domains, wildcard, email, ca_server, key_type, key_size=None, key_curve=None):
8
+ if key_size is not None:
9
+ key_size = int(key_size)
10
+ pvt, csr, cert = main(i_domains, wildcard, email, ca_server, key_type, key_size, key_curve)
11
+ path = email.split("@")[0]
12
+ os.makedirs(path, exist_ok=True)
13
+ write_file(f"{path}/private.pem", pvt)
14
+ write_file(f"{path}/domain.csr", csr)
15
+ write_file(f"{path}/cert.pem", cert)
16
+ return pvt, f"{path}/private.pem", csr, f"{path}/domain.csr", cert, f"{path}/cert.pem"
17
+
18
+ def update_key_options(key_type):
19
+ if key_type == "rsa":
20
+ return gr.update(visible=True), gr.update(visible=False)
21
+ else:
22
+ return gr.update(visible=False), gr.update(visible=True)
23
+
24
+ def update_ca_server(wildcard: bool):
25
+ if wildcard:
26
+ return gr.update(choices=["Let's Encrypt (Testing)","Let's Encrypt", "ZeroSSL", "Google (Testing)","Google", "SSL.com"], value="Let's Encrypt (Testing)")
27
+ else:
28
+ return gr.update(choices=["Let's Encrypt (Testing)","Let's Encrypt", "Buypass (Testing)", "Buypass", "ZeroSSL", "Google (Testing)","Google", "SSL.com"], value="Let's Encrypt")
29
+
30
+ def app():
31
+ with gr.Blocks() as webui:
32
+ with gr.Row():
33
+ with gr.Column():
34
+ domains_input = gr.Textbox(label="Enter Domains", placeholder="thenayankasturi.eu.org, dash.thenayankasturi.eu.org, www.thenayankasturi.eu.org", type="text", interactive=True)
35
+ wildcard = gr.Checkbox(label="Wildcard SSL", interactive=True, value=False)
36
+ email_input = gr.Textbox(label="Enter your Email ID", placeholder="nayankasturi@gmail.com", type="text", interactive=True)
37
+ with gr.Row():
38
+ ca_server = gr.Dropdown(label="Select Certificate Authority", choices=["Let's Encrypt (Testing)","Let's Encrypt", "Buypass (Testing)", "Buypass", "ZeroSSL", "Google (Testing)","Google", "SSL.com"], interactive=True, value="Let's Encrypt (Testing)")
39
+ key_type = gr.Radio(label="Select SSL key type", choices=["rsa", "ec"], interactive=True, value='ec')
40
+ key_size_dropdown = gr.Dropdown(label="Select Key Size", choices=['2048', '4096'], value='4096', visible=False) # Initially visible
41
+ key_curve_dropdown = gr.Dropdown(label="Select Key Curve", choices=['SECP256R1', 'SECP384R1'], value='SECP384R1', visible=True) # Initially hidden
42
+
43
+ key_type.change(fn=update_key_options, inputs=key_type, outputs=[key_size_dropdown, key_curve_dropdown])
44
+ btn = gr.Button(value="Generate SSL Certificate")
45
+
46
+ with gr.Row():
47
+ with gr.Column():
48
+ pvt = gr.Textbox(label="Your Private Key", placeholder="Your Private Key will appear here, after successful SSL generation", type="text", interactive=False, show_copy_button=True, lines=10, max_lines=10)
49
+ pvtfile = gr.File(label="Download your Private Key")
50
+ with gr.Column():
51
+ csr = gr.Textbox(label="Your SSL Certificate", placeholder="Your SSL Certificate will appear here, after successful SSL generation", type="text", interactive=False, show_copy_button=True, lines=10, max_lines=10)
52
+ csrfile = gr.File(label="Download your SSL Certificate")
53
+ with gr.Column():
54
+ crt = gr.Textbox(label="Your SSL Certificate", placeholder="Your SSL Certificate will appear here, after successful SSL generation", type="text", interactive=False, show_copy_button=True, lines=10, max_lines=10)
55
+ crtfile = gr.File(label="Download your SSL Certificate")
56
+
57
+ btn.click(run, inputs=[domains_input, wildcard, email_input, ca_server, key_type, key_size_dropdown, key_curve_dropdown], outputs=[pvt, pvtfile, csr, csrfile, crt, crtfile])
58
+ try:
59
+ webui.queue(default_concurrency_limit=15).launch(share=True, server_port=7860)
60
+ except Exception as e:
61
+ print(f"Error: {e}")
62
+ sys.exit(1)
63
+
64
+ if __name__ == "__main__":
65
+ try:
66
+ app()
67
+ except Exception as e:
68
+ print(f"Error: {e}")
69
  sys.exit(1)
requirements.txt CHANGED
@@ -1,5 +1,5 @@
1
- josepy==1.14.0
2
- python-dotenv
3
- acme==2.11.0
4
- google-cloud-public-ca==0.3.9
5
- gradio
 
1
+ josepy==1.14.0
2
+ python-dotenv
3
+ acme==2.11.0
4
+ google-cloud-public-ca==0.3.9
5
+ gradio