Repository: getsurfboard/surfboard
Branch: master
Commit: 4ad978c1fad5
Files: 9
Total size: 24.3 KB
Directory structure:
gitextract_6hozmgxf/
├── README.md
└── docs/
├── CHANGELOG.md
├── CNAME
├── PRIVACY_POLICY.md
├── TERMS_AND_CONDITIONS.md
├── _config.yml
├── _layouts/
│ └── default.html
├── sponsors.json
└── version.json
================================================
FILE CONTENTS
================================================
================================================
FILE: README.md
================================================
# Surfboard
https://getsurfboard.com/
================================================
FILE: docs/CHANGELOG.md
================================================
# ChangeLog
### 2.9.3
- Fix local proxy address in use crash
- Update outbound mode card UI
- Fix crash when upgrade from v1.2.4
### 2.9.2
- Add local proxy support: http and socks5
- Update dashboard UI
- Enable lan traffic filter setting
### 2.9.1
- Refetch public ip info when changing outbound mode
- Fix change global proxy not update public ip info
- Fix crash cause by vpn quick start twice
- Fix crash when viewing huge ruleSet/policyPath list
- Add ChangeLog dialog when click version code
- Fix random GEOIP crash on Android 5/6
- Add sponsors list
### 2.9.0
- Add DNS poisoning auto fix support
- Fix tile not working on some devices
- Small UI change
- Bug fixed
### 2.8.9
- Fix profile serializable crash
- Remove flurry
- Use Crashlytics instead of Sentry
### 2.8.8
- Update translation
- Fix splash screen top left corner frame
- Optimize memory usage cause by huge profile/ruleSet/policyPath
- Add quick change proxygroup selection ui
- Improve editor launch performance
- Add update profiles after vpn established toggle in settings
- Bug fixed
### 2.8.7
- Avoid open vpn cause adb wifi reconnect
- Update all profiles after vpn started
- Fix crash
- Update translation
### 2.8.6
- Update translation
- Bug fixed
### 2.8.5
- Add app shortcut support
- Add deeplink support:
- surfboard:///toggle
- surfboard:///start
- surfboard:///stop
- surfboard:///install-config?url=[encoded_profile_url]
- Bypass config support batch operation
- Support setting to use external editor
- Fix manually update profile no refresh last modified time
- Add change language animation
### 2.8.4
- add more transition animation
- make language change take effect without restart
- update editor font
- fix navigationbar overlay issue in some ui
- update translation
- bug fixed
### 2.8.3
- editor support some emacs key map: Ctrl + [Shift] + N/P/F/B/A/E
- proxy list support scroll to selected proxy
- update translation
- fix menu item repeat issue
### 2.8.2
- Profile Editor
- Add highlight support
- Add redo/undo support
- Add new empty profile support
### 2.8.1
- Support embeded editor
- Small UI change
### 2.8.0
- Material Design 3
- This version may be buggy and won't be release on Google Play until stable. Use on your own risk.
### 2.7.9
- Bug fixed
### 2.7.8
- Multiple proxy import now only support dividing with newline, space and vertical bar no longer supported
- Update vietnamese translation
- Fix crash
### 2.7.7
- Rewrite webdav synchronize module
- Show profile update option even managed config url is invalid
- Change vmess/trojan proxy default udp-relay value to false
- Fix crash when updating invalid profile
- Fix vmess uri compatibility
- Bug fixed
### 2.7.6
- Remove direct/reject proxy in global proxy group
- Clone profile as editable profile with managed config removed
- Exclude unsupported proxy uri (like vless://xxx) when importing
- Change default proxy column size to middle
### 2.7.5
- Fix SAF editing not trigger profile list refresh
- Bug fixed.
### 2.7.4
- Support vmess-aead param in vmess proxy config.
- Add DoH detect.
- Bug fixed.
- Use vmess-aead param to define per-proxy AEAD setting, if param not defined in the profile, default value in the settings will be used.
- For profile format detail, please check the sample profile in the top right corner of profile list.
### 2.7.3
- Support Always-ON-VPN setting
- Generate new profile name when reimporting existed profile
- Improve ICMP/UDP traffic handle efficiency when using profile with tons of rules
- Support hiding system apps in bypass config
- Prompt restart VPN after bypass config changed
- Add disable notification checking in settings
- Fix active count flicking issue
- Enable force-remote-dns by default
- New profile update strategy
### 2.7.2
- Support always-real-ip
- Support decoding sni param and proxy name from trojan uri
- Enable udp-relay in vmess/trojan proxy by default
- Block DoT traffic by default
- Update all profile when app launch
- Support decoding internal.example.com = server:syslib in [Host] section
- Support domain suffix in skip-proxy config
- Improve import profile error prompt
- Add always-real-ip = stun.l.google.com in [General] section to fix Google Voice Dialing issue, proxy must support relaying UDP traffic.
### 2.7.1
- Keep proxy order from proxygroup which contains policy path and normal proxies
- Update translation
- Bug fixed
### 2.7.0
- Improve profile name guessing when import from url
- Fix rule count error when include multiple ruleset with same source
- Remove disk cache when removing external resource
- Fix ip type trojan proxy import issue
### 2.6.9
- Improve huge profile compatibility
- Improve TLS proxy compatibility
- Improve profile decode speed
- Treat REJECT-TINYGIF as REJECT rule (due to android not support MITM)
- Add Surge manual entrance in tools tab
### 2.6.8
- Fix global group sequence not follow the profile content
- Fix network speed display issue on 32bit devices
- Reset all tcp connection when changing outbounds mode
- Fix proxy count error in some policy path profiles
- Fix some crashing when upgrade from GP version
- Bug fixed
### 2.6.7
- Fix ruleSet/policyPath too huge cause crashing
- Fix network error cause crashing
- Fix custom uri scheme not working
### 2.6.6
- Allow display invalid profiles, now you are free to delete or modify them
- Change external resource manager entrance to lower location
- Use force-remote-dns in global outbound mode by default
- Cache dns cache when toggle vpn, change outbound mode and change proxy group selection
- Support batch delete unused external resources
- Bug fixed
### 2.6.5
- Add external resources manage ui
- Speed up notification bar tile toggle initial time
- Use https://github.com/Loyalsoldier/geoip as embedded geoip library
- Update url format validator
- Bug fixed
### 2.6.4
- Add Force remote dns toggle in settings
- Scroll to new position when clone/rename profile
- Check invalid vmess url format
- Bug fixed
### 2.6.3
- Add 'NEW' badge for new profile
- Use FINAL rule to fetch public IP info if FINAL rule defined
- ICMP: return fake ICMP reply if match FORWARD policy, return dest unreachable if match REJECT policy
- Print debug info in logcat if click connection count card when VPN is opened
- Little UI update
### 2.6.1
- Traffic with not supported proto will be reject by default
- UDP reject will be handled by return ICMP port unreachable by default
- Warning invalid profile url when importing profile
- Fix some connection count issue
- Add more restart vpn prompt
- Hide network speed statusbar icon toggle on MIUI devices
- Bug fixed
### 2.6.0
- fix crash
- Support disable logcat output in settings
### 2.5.9(102)
- Fix some memory/connection leak issue
### 2.5.8(101)
- Fix vmess/netflix compatibility issue cause by ipv6
- Fix crashes
- Print warning log when reject traffic
- Support scan ss/vmess/trojan/http/https/surfboard/surge/surge3 format qrcode
### 2.5.7(100)
- Fix crashes
- Improve vmess websocket compatibility
- Update persian language
### 2.5.6(99)
- Fix speedtest issue
- Bug fixed
### 2.5.5(98)
- update persian language
- fix telegram using direct rule issue
### 2.5.4(97)
- Fix auto group speed test not working
- Reset all existed tcp connection when change proxy group selection
- Avoid forward proxy traffic dead lock
- Fix crash cause by long file name
### 2.5.3(96)
- Fix speed test issue
- Support basic auth in profile url
### 2.5.2(95)
- Fix speedtest issue
### 2.5.1(94)
- Fix speed test not stable issue
- Fix fetching public IP error when use with other VPN
- Add VMESS AEAD hint when first use
- Add warning when new profile subscribe url is from localhost
### 2.5.0(93)
- Fix WebDAV synchronize issue with box.com
- Update dashboard UI
- Update maxmind geoip2lite library
- Bug fixed
### 2.4.9(92)
- Add WebDAV synchronize support
- Fix crash when restart VPN after rename profile
- Fix fetch ip info failed after VPN established
- Improve save profile speed
- Fix update profile last modify time no changing
### 2.4.8(91)
- Improve ui compatibility with tablet devices
- Add network speed display on status bar icon
- Add Public IP visibility toggle
- Prompt to restart VPN when selecting profile
- Bug fixed
### 2.4.7(90)
- Fix profile import issue cause by policy-regex-filter
- Improve profile name guess imported by url
- Fix UI tab double click issue
- Fix profile name contains slash cause crash
- Update sample.conf
- Bug fixed
### 2.4.6(89)
- Bug fixed
### 2.4.5(88)
- Support policy-regex-filter and hidden in proxy group
- Fix global outbound make network unavailable
- Hide notification in lockscreen
- Make VMESS AEAD disable by default
- Update UI
- Bug fixed
### 2.4.4(87)
- Support udp-relay in socks5/shadowsocks/vmess/trojan proxy
- Fix import vmess url failed if contains slash
- Fix some crash issue
### 2.4.3(86)
- Improve traffic throughput
- Update bypass apps ui, add search support
- Fix ss proxy with domain cause stop VPN failed
- Update UI
### 2.4.2(85)
- Fix policy path issue
- Add Indonesian support
- Improve profile decode performance
- Fix huge profile cause crash
- Only use English app entrance name
### 2.4.1(84)
- Fix gradle 7.0.1 cause R8 error
- Update libuv/v2fly library
### 2.4.0(83)
Fix socks5 proxy not working without authorization
Add policy-path support
Support surge3:///install-config?url=xxx
Support enhanced mode domain rules
Support decode http/socks5 proxy as TLS-based proxy
Update GEOIP library
### 2.3.5(82)
- Fix some profile import issue, support more import format
- Fix column size not synchronize between proxy group tabs
- Fix notification click not working
- Don't count speedometer into active tcp connection count
- Change UI back to 4 tabs in main ui
### 2.3.4(81)
- Add fuzzy search in recent requests ui
- Update item ui in recent requests
- Sort bypass app by toggle state
- Support trojan:// proxy url
- Support import multiple proxy url divided by space, vertical line and enter
- Support switch app launcher title to english
- Support proxy column size switch
### 2.3.3(80)
- Add active connection count display in dashboard
- Support vmess:// and ss:// url
- Add Profile FileProvider support
- Add VMESS AEAD support settings
### 2.3.2(79)
- Support vmess AEAD
- Support long press to copy traffic info in recent request list
- Fix update profile last modify time not changing
- Fix profile modify not working
- Update translation
### 2.3.1(78)
- Fix open vpn failed with rule-set profile
### 2.3.0(77)
- Add skip-proxy config support
- Fix change global proxy not working when VPN is on
- Add direct proxy in global outbound mode
- Add tools tab
- Support custom dns server port in dns-server config
- Support decode 1/0 as Boolean in profile
- Fix long profile list selection duplicate issue
- Bug fixed
### 2.2.1(76)
- Add skip TLS verify setting
- Fix whitelist mode not working issue
### 2.2.0(75)
- Add bypass config support
- Reduce APK size
- Add proxy_test_url support
- Add profile sample in profile list menu
### 2.1.0(74)
- Add recent request support
- Add profile viewer(not support editing yet)
- Integrate QRCode scanner, not need to download zxing scanner
### 2.0.2(73)
- Update all locale app name to [Surfboard]
- Fix crash issue on Android 7.0 and lower version
- Update light theme UI, support switch theme in settings
- Fix global outbound speed test not working
- Fix crash when vmess proxy name boxed with double quote
- Fix UI issue
### 0.9.19(50)
- Fix network metered issue on Android 10
- Fix speed test issue
- Allow fetching profile using current profile
- Add test-timeout/internet-test-url/proxy-test-url support
- Remember proxygroup toggle state
- Avoid displaying toast when fetch toast failed
### 0.9.18(49)
- Rewrite tcp handler for better memory usage
- Add proxygroup toggle function
- Add Notification Channel Setting entrance
- Bug fix
### 0.9.16(47)
- Fix ss tcp speedtest issue
- Add Tile and app shortcut support
- Fix email feedback crash
- Update speedtest ui
- Bugs fixed
### 0.9.14(45)
- Improve throughput performance(Up to 300Mbps+)
- Bugs fixed
### 0.9.13(44)
- Fix second launch crash issue
- Update proxy group grid ui
================================================
FILE: docs/CNAME
================================================
api.getsurfboard.com
================================================
FILE: docs/PRIVACY_POLICY.md
================================================
**Privacy Policy**
Surfboard built the Surfboard app as a Freemium app. This SERVICE is provided by Surfboard at no cost and is intended for use as is.
This page is used to inform visitors regarding my policies with the collection, use, and disclosure of Personal Information if anyone decided to use my Service.
If you choose to use my Service, then you agree to the collection and use of information in relation to this policy. The Personal Information that I collect is used for providing and improving the Service. I will not use or share your information with anyone except as described in this Privacy Policy.
The terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, which are accessible at Surfboard unless otherwise defined in this Privacy Policy.
**Information Collection and Use**
For a better experience, while using our Service, I may require you to provide us with certain personally identifiable information, including but not limited to Android ID. The information that I request will be retained on your device and is not collected by me in any way.
The app does use third-party services that may collect information used to identify you.
Link to the privacy policy of third-party service providers used by the app
* [Google Play Services](https://www.google.com/policies/privacy/)
* [Google Analytics for Firebase](https://firebase.google.com/policies/analytics)
* [Firebase Crashlytics](https://firebase.google.com/support/privacy/)
* [Flurry Analytics](https://privacy.oath.com)
* [Sentry](https://sentry.io/privacy/)
**Log Data**
I want to inform you that whenever you use my Service, in a case of an error in the app I collect data and information (through third-party products) on your phone called Log Data. This Log Data may include information such as your device Internet Protocol (“IP”) address, device name, operating system version, the configuration of the app when utilizing my Service, the time and date of your use of the Service, and other statistics.
**Cookies**
Cookies are files with a small amount of data that are commonly used as anonymous unique identifiers. These are sent to your browser from the websites that you visit and are stored on your device's internal memory.
This Service does not use these “cookies” explicitly. However, the app may use third-party code and libraries that use “cookies” to collect information and improve their services. You have the option to either accept or refuse these cookies and know when a cookie is being sent to your device. If you choose to refuse our cookies, you may not be able to use some portions of this Service.
**Service Providers**
I may employ third-party companies and individuals due to the following reasons:
* To facilitate our Service;
* To provide the Service on our behalf;
* To perform Service-related services; or
* To assist us in analyzing how our Service is used.
I want to inform users of this Service that these third parties have access to their Personal Information. The reason is to perform the tasks assigned to them on our behalf. However, they are obligated not to disclose or use the information for any other purpose.
**Security**
I value your trust in providing us your Personal Information, thus we are striving to use commercially acceptable means of protecting it. But remember that no method of transmission over the internet, or method of electronic storage is 100% secure and reliable, and I cannot guarantee its absolute security.
**Links to Other Sites**
This Service may contain links to other sites. If you click on a third-party link, you will be directed to that site. Note that these external sites are not operated by me. Therefore, I strongly advise you to review the Privacy Policy of these websites. I have no control over and assume no responsibility for the content, privacy policies, or practices of any third-party sites or services.
**Children’s Privacy**
These Services do not address anyone under the age of 13. I do not knowingly collect personally identifiable information from children under 13 years of age. In the case I discover that a child under 13 has provided me with personal information, I immediately delete this from our servers. If you are a parent or guardian and you are aware that your child has provided us with personal information, please contact me so that I will be able to do the necessary actions.
**Changes to This Privacy Policy**
I may update our Privacy Policy from time to time. Thus, you are advised to review this page periodically for any changes. I will notify you of any changes by posting the new Privacy Policy on this page.
This policy is effective as of 2022-03-30
**Contact Us**
If you have any questions or suggestions about my Privacy Policy, do not hesitate to contact me at getsurfboard@gmail.com.
================================================
FILE: docs/TERMS_AND_CONDITIONS.md
================================================
**Terms & Conditions**
By downloading or using the app, these terms will automatically apply to you – you should make sure therefore that you read them carefully before using the app. You’re not allowed to copy or modify the app, any part of the app, or our trademarks in any way. You’re not allowed to attempt to extract the source code of the app, and you also shouldn’t try to translate the app into other languages or make derivative versions. The app itself, and all the trademarks, copyright, database rights, and other intellectual property rights related to it, still belong to Surfboard.
Surfboard is committed to ensuring that the app is as useful and efficient as possible. For that reason, we reserve the right to make changes to the app or to charge for its services, at any time and for any reason. We will never charge you for the app or its services without making it very clear to you exactly what you’re paying for.
The Surfboard app stores and processes personal data that you have provided to us, to provide my Service. It’s your responsibility to keep your phone and access to the app secure. We therefore recommend that you do not jailbreak or root your phone, which is the process of removing software restrictions and limitations imposed by the official operating system of your device. It could make your phone vulnerable to malware/viruses/malicious programs, compromise your phone’s security features and it could mean that the Surfboard app won’t work properly or at all.
The app does use third-party services that declare their Terms and Conditions.
Link to Terms and Conditions of third-party service providers used by the app
* [Google Play Services](https://policies.google.com/terms)
* [Google Analytics for Firebase](https://firebase.google.com/terms/analytics)
* [Firebase Crashlytics](https://firebase.google.com/terms/crashlytics)
* [Flurry Analytics](https://developer.yahoo.com/flurry/legal-privacy/terms-service/flurry-analytics-terms-service.html)
* [Sentry](https://sentry.io/terms/)
You should be aware that there are certain things that Surfboard will not take responsibility for. Certain functions of the app will require the app to have an active internet connection. The connection can be Wi-Fi or provided by your mobile network provider, but Surfboard cannot take responsibility for the app not working at full functionality if you don’t have access to Wi-Fi, and you don’t have any of your data allowance left.
If you’re using the app outside of an area with Wi-Fi, you should remember that the terms of the agreement with your mobile network provider will still apply. As a result, you may be charged by your mobile provider for the cost of data for the duration of the connection while accessing the app, or other third-party charges. In using the app, you’re accepting responsibility for any such charges, including roaming data charges if you use the app outside of your home territory (i.e. region or country) without turning off data roaming. If you are not the bill payer for the device on which you’re using the app, please be aware that we assume that you have received permission from the bill payer for using the app.
Along the same lines, Surfboard cannot always take responsibility for the way you use the app i.e. You need to make sure that your device stays charged – if it runs out of battery and you can’t turn it on to avail the Service, Surfboard cannot accept responsibility.
With respect to Surfboard’s responsibility for your use of the app, when you’re using the app, it’s important to bear in mind that although we endeavor to ensure that it is updated and correct at all times, we do rely on third parties to provide information to us so that we can make it available to you. Surfboard accepts no liability for any loss, direct or indirect, you experience as a result of relying wholly on this functionality of the app.
At some point, we may wish to update the app. The app is currently available on Android – the requirements for the system(and for any additional systems we decide to extend the availability of the app to) may change, and you’ll need to download the updates if you want to keep using the app. Surfboard does not promise that it will always update the app so that it is relevant to you and/or works with the Android version that you have installed on your device. However, you promise to always accept updates to the application when offered to you, We may also wish to stop providing the app, and may terminate use of it at any time without giving notice of termination to you. Unless we tell you otherwise, upon any termination, (a) the rights and licenses granted to you in these terms will end; (b) you must stop using the app, and (if needed) delete it from your device.
**Changes to This Terms and Conditions**
I may update our Terms and Conditions from time to time. Thus, you are advised to review this page periodically for any changes. I will notify you of any changes by posting the new Terms and Conditions on this page.
These terms and conditions are effective as of 2022-03-30
**Contact Us**
If you have any questions or suggestions about my Terms and Conditions, do not hesitate to contact me at getsurfboard@gmail.com.
================================================
FILE: docs/_config.yml
================================================
================================================
FILE: docs/_layouts/default.html
================================================
<!DOCTYPE html>
<html lang="{{ site.lang | default: "en-US" }}">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
{% seo %}
<link rel="stylesheet" href="{{ "/assets/css/style.css?v=" | append: site.github.build_revision | relative_url }}">
</head>
<body>
<div class="container-lg px-3 my-5 markdown-body">
{{ content }}
{% if site.github.private != true and site.github.license %}
<div class="footer border-top border-gray-light mt-5 pt-3 text-right text-gray">
This site is open source. {% github_edit_link "Improve this page" %}.
</div>
{% endif %}
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/4.1.0/anchor.min.js" integrity="sha256-lZaRhKri35AyJSypXXs4o6OPFTbTmUoltBbDCbdzegg=" crossorigin="anonymous"></script>
<script>anchors.add();</script>
{% if site.google_analytics %}
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', '{{ site.google_analytics }}', 'auto');
ga('send', 'pageview');
</script>
{% endif %}
</body>
</html>
================================================
FILE: docs/sponsors.json
================================================
{
"list": [
{
"title": "EEVPN",
"summary": "※海外运营 数据安全※ 年付低至9.99元,最高2000Mbps速率可用。包含IEPL专线、国内BGP中转、全球优化直连等路线,适合国内外用户。\nEEVPN经过多次迭代升级,抗封锁与抗干扰能力远超市面上主流的VPN服务。",
"link": "https://www.eevpn.cc/#/register?code=AQbio0JT"
},
{
"title": "ByWave",
"summary": "全站 IEPL 专线机场,SS/VMess协议;\n10Gbps广港高防IEPL接入;\n单节点多服务器负载;\n支持一次性流量包;\n支持流媒体解锁;\n支持工作室/企业团队定制方案!",
"link": "https://byw.tv/aff.php?aff=18555"
},
{
"title": "AntLink",
"summary": "中转价格 专线服务;\n动态流媒体解锁;\n广港高防IEPL接入;\n深港遂道中转接入;\n双冗余接入更可靠;\n月付 不限时灵活选择;\n支付宝 微信 USDT全覆盖",
"link": "https://antlink.icu/#/register?code=WFI2vSZm"
}
]
}
================================================
FILE: docs/version.json
================================================
{
"online_version_code": 50,
"online_version_name": "0.9.19(50)",
"change_log": "https://getsurfboard.github.io/surfboard/CHANGELOG.html",
"apk_url": "https://github.com/getsurfboard/surfboard/releases/download/0.9.19(50)/app_release_aligned.apk",
"min_version_code": 30
}
gitextract_6hozmgxf/
├── README.md
└── docs/
├── CHANGELOG.md
├── CNAME
├── PRIVACY_POLICY.md
├── TERMS_AND_CONDITIONS.md
├── _config.yml
├── _layouts/
│ └── default.html
├── sponsors.json
└── version.json
Condensed preview — 9 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (26K chars).
[
{
"path": "README.md",
"chars": 38,
"preview": "# Surfboard\n\nhttps://getsurfboard.com/"
},
{
"path": "docs/CHANGELOG.md",
"chars": 12287,
"preview": "# ChangeLog\n\n### 2.9.3\n\n- Fix local proxy address in use crash\n- Update outbound mode card UI\n- Fix crash when upgrade f"
},
{
"path": "docs/CNAME",
"chars": 20,
"preview": "api.getsurfboard.com"
},
{
"path": "docs/PRIVACY_POLICY.md",
"chars": 4865,
"preview": "**Privacy Policy**\n\nSurfboard built the Surfboard app as a Freemium app. This SERVICE is provided by Surfboard at no cos"
},
{
"path": "docs/TERMS_AND_CONDITIONS.md",
"chars": 5254,
"preview": "**Terms & Conditions**\n\nBy downloading or using the app, these terms will automatically apply to you – you should make s"
},
{
"path": "docs/_config.yml",
"chars": 1,
"preview": "\n"
},
{
"path": "docs/_layouts/default.html",
"chars": 1476,
"preview": "<!DOCTYPE html>\n<html lang=\"{{ site.lang | default: \"en-US\" }}\">\n <head>\n <meta charset=\"UTF-8\">\n <meta http-equi"
},
{
"path": "docs/sponsors.json",
"chars": 656,
"preview": "{\n \"list\": [\n {\n \"title\": \"EEVPN\",\n \"summary\": \"※海外运营 数据安全※ 年付低至9.99元,最高2000Mbps速率可用。包含IEPL专线、国内BGP中转、全球优化"
},
{
"path": "docs/version.json",
"chars": 283,
"preview": "{\n \"online_version_code\": 50,\n \"online_version_name\": \"0.9.19(50)\",\n \"change_log\": \"https://getsurfboard.github.io/su"
}
]
About this extraction
This page contains the full source code of the getsurfboard/surfboard GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 9 files (24.3 KB), approximately 6.3k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.