Windows電腦安裝Python結合內網穿透輕松搭建可公網訪問私有網盤

文章目錄

    • 前言
    • 1.本地文件服務器搭建
      • 1.1.Python的安裝和設置
      • 1.2.cpolar的安裝和注冊
    • 2.本地文件服務器的發布
      • 2.1.Cpolar云端設置
      • 2.2.Cpolar本地設置
    • 3.公網訪問測試
    • 4.結語

前言

本文主要介紹如何在Windows系統電腦上使用python這樣的簡單程序語言,在自己的電腦上搭建一個共享文件服務器,并通過cpolar創建的公網地址,打造一個可以隨時隨地遠程訪問的私人云盤。

數據共享作為和連接作為互聯網的基礎應用,不僅在商業和辦公場景有廣泛的應用,對于個人用戶也有很強的實用意義。也正因如此,大量數據共享軟件被開發出來,云存儲的概念也被重復炒作。對于愛好折騰的筆者來說,用最簡單的工具找尋私人共享和存儲解決方案,也是件很有趣的事。

1.本地文件服務器搭建

Python作為一個相對簡單的計算機語言,在世界范圍內都很受歡迎,更是成為計算機技術初學者的必修課之一。說了這么多,其實python的成功,還是來源于它的簡單和功能強大,就比如現在,我們可以使用幾行簡單代碼,建立一個python http.server文件共享服務器。

1.1.Python的安裝和設置

首先,我們需要下載一個python(可以直接到python的官網www.python.org下載)

20230322092201

20230322092202

下載完成后,直接雙擊.exe文件進行安裝。

20230322092203

安裝過程中,要記得將python加入環境變量(path)選項勾選上

20230322092204

接著創建一個文件夾,用于存放打算進行發布的文件。為方便說明,我們將這個文件夾命名為server

20230322092205

再以管理員身份運行cmd,對python進行設置。

20230322092206

先在cmd中輸入python,只要能出現下圖顯示,就說明python安裝成功。

20230322092207

接著輸入命令行cd E:,轉入E盤,在進入打算共享的文件夾

cd server

最后輸入命令,執行文件夾的端口輸出共享命令。

python -m http.server 9090  (其中端口號可以自選,但必須為未被占用的,可以選擇一些偏僻的端口)

命令輸入后,可能會出現防火墻詢問,我們點擊允許訪問即可。

需要注意的是,python的共享服務功能很簡單也很基礎,這里共享的是當前執行命令的文件夾,無法指定某個文件夾,所以我們需要先更換盤符和文件夾,才能執行共享命令。

20230322092208

看到cmd顯示上面的內容,就可以在瀏覽器中訪問本地9090端口,地址欄輸入localhost:9090,訪問到python共享的文件。

20230322092209

由于python的簡單功能,我們不能關閉python的進程,否則就會關閉文件共享端口。

1.2.cpolar的安裝和注冊

在完成python的文件夾共享設置后,我們就可以安裝和注冊cpolar,為后面的共享文件發布做好準備。Cpolar的下載地址可以在cpolar的官網:https://www.cpolar.com/ 中找到。

20230322092210

在cpolar的下載頁面中,找到對應版本的cpolar安裝程序,筆者使用的是Windows操作系統,因此選擇Windows版下載。

20230322092211

下載完成后,將下載的文件解壓,并雙擊其中的.msi文件,就能自動執行cpolar的安裝程序,我們只要一路Next,就能完成安裝。

20230322092212

20230322092213

由于cpolar會為每個用戶創建獨立的數據隧道,并輔以用戶密碼和token碼保證數據安全,因此我們在使用cpolar之前,需要進行用戶注冊。注冊過程也非常簡單,只要在cpolar主頁右上角點擊用戶注冊,在注冊頁面填入必要信息,就能完成注冊。

20230322092214

20230322092215

2.本地文件服務器的發布

完成了python的設置,安裝并注冊好cpolar,剩下的工作簡單了,只要使用cpolar建立一條數據隧道,數據隧道的入口為公共互聯網地址,出口連接本地的python共享文件網頁。

2.1.Cpolar云端設置

由于分享文件的需求可能隨時發生,而筆者又不想每次要分享文件是就設置一次數據隧道,所以筆者將cpolar升級至vip版,以便保留能長期穩定存在的數據隧道(免費版cpolar創建的數據隧道每24小時會重置一次)。
升級cpolar至vip后,我們首先登錄cpolar云端,在客戶主界面左側找到預留按鈕,點擊進入預留頁面。

20230322092216

在預留頁面,能看到cpolar提供多種協議的數據隧道保留,而我們的python是網頁輸出,因此找到保留二級子域名欄位,并對這個欄位的信息進行設置。

20230322092217

設置的信息內容為:

  • 地區:服務器所在區域,就近選擇即可
  • 二級域名:會最終出現在生成的公共互聯網地址中,作為網絡地址的標識之一
  • 描述:可以看做這條數據隧道的描述,能夠與其他隧道區分開即可

完成這幾項設置后,就可以點擊右側的保留按鈕,將這條數據隧道保留下來。

20230322092218

如果這條數據隧道不打算再使用,還可以點擊右側的x將其輕松刪除,節約寶貴的隧道名額。

20230322092219

2.2.Cpolar本地設置

完成cpolar云端的數據隧道入口保留后,我們回到cpolar本地客戶端,將cpolar云端生成的數據隧道入口與本地python網頁連接起來。

首先登錄cpolar客戶端,(可以在瀏覽器中輸入localhost:9200直接訪問,也可以在開始菜單中點擊cpolar客戶端的快捷方式),點擊客戶端主界面左側隧道管理——創建隧道按鈕,進入本地隧道創建頁面(如果要創建每24小時重置地址的臨時數據隧道,可直接在此進行設置,不必在cpolar官網設置空白數據隧道)。

在這個頁面,同樣需要進行幾項信息設置,這些信息設置包括:

  1. 隧道名稱:可以看做cpolar本地的隧道信息注釋,只要方便我們分辨即可
  2. 協議:由于python的共享是是網頁形式,因此選擇http協議
  3. 本地地址:本地地址即為本地網站的輸出端口號,之前我們將python的輸出端口設定在9090,因此這里也填入9090
  4. 域名類型:在這個例子中,我們已經在cpolar云端預留了二級子域名的數據隧道,因此勾選二級子域名(如果預留的是自定義域名,則勾選自定義域名),并在下一行Sub Domain欄中填入預留的二級子域名,該例子中為“pythontest”。如果打算創建臨時數據隧道,則直接勾選“隨機域名”,由cpolar客戶端自行生成網絡地址
  5. 地區:與cpolar云端預留的信息一樣,我們依照實際使用地填寫即可

20230322092220

完成這些設置后,就可以點擊下方的創建按鈕,完成這條能夠長期留存的數據隧道搭建。

數據隧道創建完成后,cpolar會自動跳轉至隧道管理——隧道列表頁面。在這個頁面,我們可以對這條數據隧道進行管理,包括開啟、關閉或刪除這條隧道,也可以點擊編輯按鈕,對這條數據隧道的信息進行修改。

20230322092221

而python的數據隧道入口(公共互聯網訪問地址),則可以在狀態——在線隧道列表中找到。

20230322092222

3.公網訪問測試

我們將這里的公網地址粘貼到其他設備上的瀏覽器中,就能看到本地電腦上由python生成的文件分享網頁,并能輕松查看所分享的文件。

20230322092223

4.結語

至此,我們成功使用cpolar內網穿透發布了python的文件分享網頁,雖然這個python文件分享網頁過于簡單,功能也很簡陋,但能夠很好的展示,網頁(或軟件)輸出端口與cpolar數據隧道端口設定之間的關系,即網頁(或軟件)的輸出端口,一定要與cpolar數據隧道填入的端口一致,才能準確的連接起公共互聯網地址和本地網頁(或軟件)。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/45015.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/45015.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/45015.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

kubernetes授予用戶指定命名空間的使用權限

kubernetes授予用戶指定命名空間的使用權限 問題描述具體實現簽發客戶端證書創建RBAC策略生成kubeconfig文件 問題描述 假如我們部門來了個新同事,他需要使用kubernetes集群,但是因為他剛來,還不熟悉,所以不能直接將kubernetes集…

Spring如何控制Bean加載+執行順序

1. Order 注解和 Ordered 接口 用途:控制組件執行順序或排序,但不控制Bean初始化順序。定義執行順序:通過整數值指定組件優先級,數值越小優先級越高。集合排序:影響自動裝配到集合中的組件排列順序。使用場景&#xf…

77.MySQL的分頁查詢

一、LIMIT關鍵字 LIMIT關鍵字用于限制返回結果集中的行數。其基本語法如下: SELECT * FROM 表名 LIMIT 行數; 例如,要從名為mark_info的表中選擇最新創建的10個工單的信息,可以執行以下查詢: SELECT * FROM mark_info ORDER B…

電力需求預測挑戰賽筆記 Taks1 跑通baseline

#AI夏令營 #Datawhale #夏令營 賽題 一句話介紹賽題任務可以這樣理解賽題: 【訓練時序預測模型助力電力需求預測】 電力需求的準確預測對于電網的穩定運行、能源的有效管理以及可再生能源的整合至關重要。 賽題任務 給定多個房屋對應電力消耗歷史 N 天的相關序列數…

拓撲排序(算法篇)

算法之拓撲排序 拓撲排序 概念: 拓撲排序是對有向無圈圖的頂點的一種排序。排序不必是唯一的,任何合理的排序都是可以的。具體做法是:先找出任意一個沒有入邊的頂點v(就是沒有其他頂點指向的頂點),將頂點v放入隊列,…

element-plus el-table點擊當前行和劃過展示鼠標

在 Element Plus 的 el-table 組件中,設置滑過行時鼠標的樣式可以通過 CSS 來實現。你可以使用 CSS 的 cursor 屬性來定義鼠標懸停時的樣式。以下是一個簡單的例子: 首先,在你的 Vue 組件的 .el-table .el-table__row:hover {cursor: poin…

09.AOP-尚硅谷Spring零基礎入門到進階,一套搞定spring6全套視頻教程(源碼級講解)

現有代碼缺陷 針對帶日志功能的實現類,我們發現有如下缺陷: 對核心業務功能有干擾,導致程序員在開發核心業務功能時分散了精力附加功能分散在各個業務功能方法中,不利于統一維護 解決思路 解決核心:解耦。把附加功能從…

glm-4 聯網搜索 api 測試

今天測試了一下 glm-4 的聯網搜索 web_search tool 調用,發現了 web_search 的網頁檢索返回結果中幾個比較詭異的事情,特此記錄: 有些檢索結果沒有 icon、link、media 字段,但從內容上看確實是聯網搜索出來的結果,不知…

從零開始讀RocketMq源碼(三)Broker存儲Message流程解析

目錄 前言 準備 消息載體CommitLog 文件持久化位置 源碼解析 broker消息對象MessageExtBrokerInner 異步存儲message CommitLog的真相 創建MappedFile文件 加入異步刷盤隊列 Message異步存儲MappedByteBuffer 總結 前言 在面試中我們經常會聽到這樣的回答&#x…

國產化趨勢下源代碼數據防泄密的信創沙盒的方案分享

隨著國產化的大力推進,越來越多的企事業單位在逐步替換Windows、Linux等操作系統的使用。那么什是國產化了?國產化是指在產品或服務中采用國內自主研發的技術和標注,替代過去依賴的他國的產品和服務,國產化又被稱之為“信創”&…

GitLab CI/CD實現項目自動化部署

1 GitLab CI/CD介紹 GitLab CI/CD 是 GitLab 中集成的一套用于軟件開發的持續集成(Continuous Integration)、持續交付(Continuous Delivery)和持續部署(Continuous Deployment)工具。這套系統允許開發團隊…

vue里實現點擊按鈕回到頁面頂部功能,博客必備!

效果 步驟 1-標簽結構 動態綁定樣式style&#xff0c;監聽點擊事件&#xff0c;后續控制opacity透明度。和滾動距離 <div class"toTop" :style"dynamicStyles" click"toTop"><!--<i class"fa fa-arrow-up"></i>…

Django ORM中的F 對象

F 對象非常強大&#xff0c;可以在查詢和更新操作中進行復雜的字段間運算。 假設我們有一個包含商品信息的模型 Product&#xff1a; from django.db import modelsclass Product(models.Model):name models.CharField(max_length100)price models.DecimalField(max_digits…

MySQL向自增列插入0失敗問題

問題 在一次上線時&#xff0c;發現通過腳本添加的狀態表中&#xff0c;待提交的狀態不正確&#xff0c;本來應該是0&#xff0c;線上是101。 原因 默認情況下&#xff0c;MySQL對應自增列&#xff0c;認為0和null等價&#xff08;因為mysql認為0不是最佳實踐不推薦使用&…

超簡單的通配證書簽發工具,免費,無需安裝任何插件到本地

常見的acme.sh 或者 lego等工具需要配置&#xff0c;安裝不靈活&#xff0c;續簽需要配置計劃任務&#xff0c;簽發單域名證書或者通配證書需要不同的指令和配置&#xff0c;繁瑣&#xff0c;如果自己程序想要對接簽發證書的api有的不支持&#xff0c;有的用起來繁瑣。 最近發…

[手機Linux PostmarketOS]三, Alpine Linux命令使用

Alpine Linux 一些常用的指令&#xff1a; 添加國內源下載鏈接&#xff1a; 編譯以下文件&#xff0c;添加鏈接進去&#xff1a; sudo vi /etc/apk/repositories##清華源&#xff1a; https://mirror.tuna.tsinghua.edu.cn/alpine/latest-stable/main https://mirror.tuna.tsi…

【VIVADO SDK調試遇到DataAbortHandler】

問題 SDK調試遇到DataAbortHandler問題。 運行后不顯示結果&#xff0c;debug模式下發現進入DataAbortHandler異常函數。程序中存在大數組。 原因:SDK默認的堆棧為1024bytes,需要將堆棧調大。 修改方法&#xff1a; 解決:對application中src下的lscript.ld雙擊&#xff0c;…

android 添加一個水平線

在Android中&#xff0c;添加一個水平線通常可以通過幾種方式實現&#xff0c;最常見的是使用View組件或者自定義的Drawable。下面是一個簡單的例子&#xff0c;展示如何在布局文件中添加一個水平線&#xff1a; 使用View組件 在你的布局XML文件中&#xff0c;你可以添加一個…

Linux 程序卡死的特殊處理

一、前言 Linux環境。 我們在日常編寫的程序中&#xff0c;可能會出現一些細節問題&#xff0c;導致程序卡死&#xff0c;即程序沒法正常運行&#xff0c;界面卡住&#xff0c;也不會閃退... 當這種問題出現在客戶現場&#xff0c;那就是大問題了。。。 當我們暫時還無法排…

Python如何調用C++

ctypes 有以下優點: Python內建&#xff0c;不需要單獨安裝Python可以直接調用C/C 動態鏈接庫(.dll 或 .so)在Python一側&#xff0c;不需要了解 c/c dll 內部的工作方式提供了 C/C 數據類型與Python類型的相互映射&#xff0c;以及轉換&#xff0c;包括指針類型。 在使用cty…