From dfa0845c53745ae05100cc9035ed558755d7c2e5 Mon Sep 17 00:00:00 2001 From: Bryan Gerlach Date: Sat, 1 Feb 2025 13:42:03 -0600 Subject: [PATCH] move protocol selection to environment variable --- docker-compose.yml | 2 ++ rdgen/settings.py | 2 ++ rdgenerator/views.py | 32 ++++++++++++++++---------------- setup.md | 5 ++++- 4 files changed, 24 insertions(+), 17 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index c242ba7..b2d4f4b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,6 +7,8 @@ services: GHUSER: "github_username" GHBEARER: "github_access_token" GENURL: "accessible_url_of_server" + PROTOCOL: "https" + REPONAME: "rdgen" ports: - "8000:8000" dns: diff --git a/rdgen/settings.py b/rdgen/settings.py index 8772023..35b007e 100644 --- a/rdgen/settings.py +++ b/rdgen/settings.py @@ -24,6 +24,8 @@ SECRET_KEY = os.environ.get('SECRET_KEY','django-insecure-!(t-!f#6g#sr%yfded9(xh GHUSER = os.environ.get("GHUSER", '') GHBEARER = os.environ.get("GHBEARER", '') GENURL = os.environ.get("GENURL", '') +PROTOCOL = os.environ.get("PROTOCOL", 'https') +REPONAME = os.environ.get("REPONAME", 'rdgen') MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media') diff --git a/rdgenerator/views.py b/rdgenerator/views.py index b0849d6..ea2edad 100644 --- a/rdgenerator/views.py +++ b/rdgenerator/views.py @@ -72,7 +72,7 @@ def generator_view(request): filename = re.sub(r'[^\w\s-]', '_', filename).strip() myuuid = str(uuid.uuid4()) - protocol = 'https' + protocol = _settings.PROTOCOL host = request.get_host() full_url = f"{protocol}://{host}" try: @@ -170,37 +170,37 @@ def generator_view(request): ####from here run the github action, we need user, repo, access token. if platform == 'windows': - url = 'https://api.github.com/repos/'+_settings.GHUSER+'/rdgen/actions/workflows/generator-windows.yml/dispatches' + url = 'https://api.github.com/repos/'+_settings.GHUSER+'/'+_settings.REPONAME+'/actions/workflows/generator-windows.yml/dispatches' elif platform == 'linux': - url = 'https://api.github.com/repos/'+_settings.GHUSER+'/rdgen/actions/workflows/generator-linux.yml/dispatches' + url = 'https://api.github.com/repos/'+_settings.GHUSER+'/'+_settings.REPONAME+'/actions/workflows/generator-linux.yml/dispatches' elif platform == 'android': - url = 'https://api.github.com/repos/'+_settings.GHUSER+'/rdgen/actions/workflows/generator-android.yml/dispatches' + url = 'https://api.github.com/repos/'+_settings.GHUSER+'/'+_settings.REPONAME+'/actions/workflows/generator-android.yml/dispatches' elif platform == 'macos': - url = 'https://api.github.com/repos/'+_settings.GHUSER+'/rdgen/actions/workflows/generator-macos.yml/dispatches' + url = 'https://api.github.com/repos/'+_settings.GHUSER+'/'+_settings.REPONAME+'/actions/workflows/generator-macos.yml/dispatches' else: - url = 'https://api.github.com/repos/'+_settings.GHUSER+'/rdgen/actions/workflows/generator-windows.yml/dispatches' + url = 'https://api.github.com/repos/'+_settings.GHUSER+'/'+_settings.REPONAME+'/actions/workflows/generator-windows.yml/dispatches' ####changes were made to use hbb_common as a submodule in version 1.3.7, so if 1.3.3 through 1.3.6, use: if version == '1.3.3' or version == '1.3.4' or version == '1.3.5' or version == '1.3.6': if platform == 'windows': - url = 'https://api.github.com/repos/'+_settings.GHUSER+'/rdgen/actions/workflows/pre137-generator-windows.yml/dispatches' + url = 'https://api.github.com/repos/'+_settings.GHUSER+'/'+_settings.REPONAME+'/actions/workflows/pre137-generator-windows.yml/dispatches' elif platform == 'linux': - url = 'https://api.github.com/repos/'+_settings.GHUSER+'/rdgen/actions/workflows/pre137-generator-linux.yml/dispatches' + url = 'https://api.github.com/repos/'+_settings.GHUSER+'/'+_settings.REPONAME+'/actions/workflows/pre137-generator-linux.yml/dispatches' elif platform == 'android': - url = 'https://api.github.com/repos/'+_settings.GHUSER+'/rdgen/actions/workflows/pre137-generator-android.yml/dispatches' + url = 'https://api.github.com/repos/'+_settings.GHUSER+'/'+_settings.REPONAME+'/actions/workflows/pre137-generator-android.yml/dispatches' elif platform == 'macos': - url = 'https://api.github.com/repos/'+_settings.GHUSER+'/rdgen/actions/workflows/pre137-generator-macos.yml/dispatches' + url = 'https://api.github.com/repos/'+_settings.GHUSER+'/'+_settings.REPONAME+'/actions/workflows/pre137-generator-macos.yml/dispatches' else: - url = 'https://api.github.com/repos/'+_settings.GHUSER+'/rdgen/actions/workflows/pre137-generator-windows.yml/dispatches' + url = 'https://api.github.com/repos/'+_settings.GHUSER+'/'+_settings.REPONAME+'/actions/workflows/pre137-generator-windows.yml/dispatches' ####breaking changes were made in 1.3.3 version, so if 1.3.2 or lower, use: if version == '1.3.2' or version == '1.3.1' or version == '1.3.0': if platform == 'windows': - url = 'https://api.github.com/repos/'+_settings.GHUSER+'/rdgen/actions/workflows/pre133-generator-windows.yml/dispatches' + url = 'https://api.github.com/repos/'+_settings.GHUSER+'/'+_settings.REPONAME+'/actions/workflows/pre133-generator-windows.yml/dispatches' elif platform == 'linux': - url = 'https://api.github.com/repos/'+_settings.GHUSER+'/rdgen/actions/workflows/pre133-generator-linux.yml/dispatches' + url = 'https://api.github.com/repos/'+_settings.GHUSER+'/'+_settings.REPONAME+'/actions/workflows/pre133-generator-linux.yml/dispatches' elif platform == 'android': - url = 'https://api.github.com/repos/'+_settings.GHUSER+'/rdgen/actions/workflows/pre133-generator-android.yml/dispatches' + url = 'https://api.github.com/repos/'+_settings.GHUSER+'/'+_settings.REPONAME+'/actions/workflows/pre133-generator-android.yml/dispatches' else: - url = 'https://api.github.com/repos/'+_settings.GHUSER+'/rdgen/actions/workflows/pre133-generator-windows.yml/dispatches' + url = 'https://api.github.com/repos/'+_settings.GHUSER+'/'+_settings.REPONAME+'/actions/workflows/pre133-generator-windows.yml/dispatches' #url = 'https://api.github.com/repos/'+_settings.GHUSER+'/rustdesk/actions/workflows/test.yml/dispatches' data = { @@ -336,7 +336,7 @@ def startgh(request): #print(request) data_ = json.loads(request.body) ####from here run the github action, we need user, repo, access token. - url = 'https://api.github.com/repos/'+_settings.GHUSER+'/rdgen/actions/workflows/generator-'+data_.get('platform')+'.yml/dispatches' + url = 'https://api.github.com/repos/'+_settings.GHUSER+'/'+_settings.REPONAME+'/actions/workflows/generator-'+data_.get('platform')+'.yml/dispatches' data = { "ref":"master", "inputs":{ diff --git a/setup.md b/setup.md index ee6cd1b..c651b19 100644 --- a/setup.md +++ b/setup.md @@ -13,10 +13,13 @@ * under Repository access, select Only select repositories, then pick your rdgen repo * give Read and Write access to actions and workflows + * You might have to go to: https://github.com/USERNAME/rdgen/actions and hit green Enable Actions button so it works. 3. Setup environment variables/secrets: * environment variables on the server running rdgen: * GHUSER="your github username" * GHBEARER="your fine-grained access token" + * PROTOCOL="https" *optional - defaults to "https", change to "http" if you need to + * REPONAME="rdgen" *optional - defaults to "rdgen", change this if you renamed the repo when you forked it * github secrets (setup on your github account for your rdgen repo): * GENURL="example.com:8000" *this is the domain and port that you are running rdgen on, needs to be accessible on the internet, depending @@ -25,7 +28,7 @@ * WINDOWS_PFX_BASE64 * WINDOWS_PFX_PASSWORD * WINDOWS_PFX_SHA1_THUMBPRINT - * You might have to go to: https://github.com/USERNAME/rdgen/actions and hit green Enable Actions button so it works. + ## A few notes: